[PATCH] mtd: Allocate bdi objects dynamically

Marek Vasut marek.vasut at gmail.com
Sat Nov 5 00:22:31 PDT 2016


On 11/03/2016 12:34 PM, Sandeep Jain wrote:
> Dear Maintainers,
>   This patch is reviewed by Richard.
> Requesting for Maintainer's attention for patch merge.
> 
> Thanks & Regards,
> Sandeep Jain
> 
> On Sat, Sep 17, 2016 at 04:41:47PM +0200, Richard Weinberger wrote:
>> On Thu, Aug 4, 2016 at 4:01 PM, Sandeep Jain <Sandeep_Jain at mentor.com> wrote:
>>> From: Steve Longerbeam <steve_longerbeam at mentor.com>
>>>
>>> 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 <steve_longerbeam at mentor.com>
>>> Signed-off-by: Jim Baxter <jim_baxter at mentor.com>
>>> Signed-off-by: Sandeep Jain <Sandeep_Jain at mentor.com>
>>
>> Reviewed-by: Richard Weinberger <richard at nod.at>

I don't see any obvious problem either:
Reviewed-by: Marek Vasut <marek.vasut at gmail.com>

-- 
Best regards,
Marek Vasut



More information about the linux-mtd mailing list