Re: [Bug #11313] Plugging HDMI causes "unable to handle kernel paging request"

Hugh Dickins
2008-08-21T18:56:24Z

On Thu, 21 Aug 2008, Jeremy Fitzhardinge wrote:
>
> >>>>
> Some notes as I pick through all the evidence so far:
>
> - the crash is specifically because there are reserved bits set in the pmd
> - the pmd is b02a00043a6001a3 in both cases

Yes, it's corrupt, it should be
800000013a6001a3

> - the vaddr is ffff88013a600000 in the first crash, and
> ffff81013a6d1c00 in the second
> corresponding to the same large-page pmd mapping of phys page 0x13a600000
> - this maps to e820 entry
> BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
> - the corresponding boot-time mapping is
>
> init_memory_mapping
> 0100000000 - 0140000000 page 2M
> kernel direct mapping tables up to 140000000 @ b000-11000
> ^^^^^^^^^^
> addr 100000000 reusing pgd 201880 0000000000202063
> last_map_addr: 140000000 end: 140000000
>
> !!! and the memory allocated for this pagetable is:
> #5 [0000008000 - 000000b000] PGTABLE ==> [0000008000 - 000000b000]
> #6 [000000b000 - 000000c000] PGTABLE ==> [000000b000 - 000000c000]
> ^^^^^^^^^^^^^^^^^^^^^^^
>
> IOW, it's mapping using b000-11000, but it has only reserved b000 - c000
>
> Also, this is right in the middle of the ISA area, which seems risky.
> <<<<
>
> Bug #11237 shows the same symptom, so I'm pretty confident they're dups now.

[ Sorry, I'm replying to #11313 even though we think it's dup of #11237. ]

Haven't you got that backwards?

My reading is that find_early_table_space set aside b000-11000 for the
worst case possible, but actually only b000-c000 was needed (because
most of the tables were already there): no problem.