Re: [PATCH] memremap: Fix NULL pointer BUG in get_zone_device_page()

From: Andrew Morton
Date: Tue Aug 23 2016 - 16:42:23 EST


On Tue, 23 Aug 2016 12:43:20 -0600 Toshi Kani <toshi.kani@xxxxxxx> wrote:

> The following BUG was observed while starting up KVM with nvdimm
> device as memory-backend-file to /dev/dax.
>
> BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
>
> ...
>
> devm_memremap_pages() calls for_each_device_pfn() to walk through
> all pfns in page_map. pfn_first(), however, returns a wrong pfn
> that leaves page->pgmap uninitialized.
>
> Since arch_add_memory() has set up direct mappings to the NVDIMM
> range with altmap, pfn_first() should not modify the start pfn.
> Change pfn_first() to simply return pfn of res->start.

Which kernel version(s) do you think need fixing?