Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757357AbcLASOG (ORCPT ); Thu, 1 Dec 2016 13:14:06 -0500 Received: from mail-pg0-f67.google.com ([74.125.83.67]:34213 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756034AbcLASOD (ORCPT ); Thu, 1 Dec 2016 13:14:03 -0500 Date: Thu, 1 Dec 2016 10:14:00 -0800 From: Brian Norris To: Marek Vasut Cc: Sandeep Jain , Richard Weinberger , Steve Longerbeam , LKML , Jim Baxter , "linux-mtd@lists.infradead.org" , David Woodhouse , Cyrille Pitchen Subject: Re: [PATCH] mtd: Allocate bdi objects dynamically Message-ID: <20161201181400.GA68619@google.com> References: <1470319275-9465-1-git-send-email-Sandeep_Jain@mentor.com> <20161103113421.GA4873@mentor.com> <4055a3ed-c024-4c29-45e1-e600cdc5902e@gmail.com> <20161129081204.GA6617@mentor.com> <2339c911-3399-e69b-aabc-f7d57d26af7d@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2339c911-3399-e69b-aabc-f7d57d26af7d@gmail.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1516 Lines: 33 On Thu, Dec 01, 2016 at 04:39:23PM +0100, Marek Vasut wrote: > On 11/29/2016 09:12 AM, Sandeep Jain wrote: > > On Sat, Nov 05, 2016 at 08:22:31AM +0100, Marek Vasut wrote: > >> On 11/03/2016 12:34 PM, Sandeep Jain wrote: > >>> On Sat, Sep 17, 2016 at 04:41:47PM +0200, Richard Weinberger wrote: > >>>> On Thu, Aug 4, 2016 at 4:01 PM, Sandeep Jain wrote: > >>>>> From: Steve Longerbeam > >>>>> > >>>>> The MTD backing dev info objects mtd_bdi was statically allocated. > >>>>> So when MTD is built as a loadable module, this object fall in the > >>>>> vmalloc address space. > >>>>> > >>>>> The problem with that, is that the BDI APIs use wake_up_bit(), which calls > >>>>> virt_to_page() to retrieve the memory zone of the page containing the > >>>>> wait_queue to wake up, and virt_to_page() is not valid for vmalloc or > >>>>> highmem addresses. > >>>>> > >>>>> Fix this by allocating the BDI objects dynamically with kmalloc. The > >>>>> objects now fall in the logical address space so that BDI APIs will > >>>>> work in all cases (mtd builtin or module). > >>>>> > >>>>> Signed-off-by: Steve Longerbeam > >>>>> Signed-off-by: Jim Baxter > >>>>> Signed-off-by: Sandeep Jain > >>>> > >>>> Reviewed-by: Richard Weinberger > >> > >> I don't see any obvious problem either: > >> Reviewed-by: Marek Vasut > > Bump? Applied to l2-mtd.git.