On Thu, Jan 26, 2017 at 10:26:23PM +0000, Kani, Toshimitsu wrote: > On Thu, 2017-01-26 at 13:52 -0800, Andrew Morton wrote: > > On Thu, 26 Jan 2017 14:44:15 -0700 Toshi Kani <toshi.kani@xxxxxxx> > > wrote: > > > > > Reading a sysfs memoryN/valid_zones file leads to the following > > > oops when the first page of a range is not backed by struct page. > > > show_valid_zones() assumes that 'start_pfn' is always valid for > > > page_zone(). > > > > > > BUG: unable to handle kernel paging request at ffffea017a000000 > > > IP: show_valid_zones+0x6f/0x160 > > > > > > Since test_pages_in_a_zone() already checks holes, extend this > > > function to return 'valid_start' and 'valid_end' for a given range. > > > show_valid_zones() then proceeds with the valid range. > > > > This doesn't apply to current mainline due to changes in > > zone_can_shift(). Please redo and resend. > > Sorry, I will rebase to the -mm tree and resend the patches. > > > Please also update the changelog to provide sufficient information > > for others to decide which kernel(s) need the fix. In particular: > > under what circumstances will it occur? On real machines which real > > people own? > > Yes, this issue happens on real x86 machines with 64GiB or more memory. > On such systems, the memory block size is bumped up to 2GiB. [1] > > Here is an example system. 0x3240000000 is only aligned by 1GiB and > its memory block starts from 0x3200000000, which is not backed by > struct page. > > BIOS-e820: [mem 0x0000003240000000-0x000000603fffffff] usable > > I will add the descriptions to the patch. Should it also be backported to the stable kernels to resolve the issue there? thanks, greg k-h -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>