Messages in this thread | | | Subject | Re: uninitialized pmem struct pages | From | David Hildenbrand <> | Date | Mon, 4 Jan 2021 17:30:48 +0100 |
| |
>> Let's assume this is indeed a reserved pfn in the altmap. What's the >> actual address of the memmap? > > Not sure what exactly you are asking for but crash says > crash> kmem -p 6060000 > PAGE PHYSICAL MAPPING INDEX CNT FLAGS > fffff8c600181800 6060000 0 0 0 fffffc0000000
^ this looks like it was somewhat initialized. All flags zero, nid/zone set to -1 (wild guess) and thus the crash? weird
> >> I do wonder what hosts pfn_to_page(PHYS_PFN(0x6060000)) - is it actually >> part of the actual altmap (i.e. > 0x6060000) or maybe even self-hosted? > > I am not really familiar with the pmem so I would need more assistance > here. I've tried this (shot into the dark): > crash> struct page.pgmap fffff8c600181800 > pgmap = 0xfffff8c600181808
That's weird. If the memmap is at fffff8c600181800, why should the pgmap be at an offset of 8 bytes from there. The "pgmap" field is actually at an offset of 8 bytes within the memmap ...
Assuming the memmap is not actually ZONE_DEVICE, fffff8c600181800 really only contains garbage, including the pgmap pointer :(
> crash> struct -x dev_pagemap 0xfffff8c600181808 > struct dev_pagemap { > altmap = { > base_pfn = 0xfffff8c600181808, > end_pfn = 0xfffff8c600181808,
^ because this is very weird
> reserve = 0x0,
^ and this indicates nothing was actually reserved.
-- Thanks,
David / dhildenb
| |