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

Jeremy Fitzhardinge
2008-08-21T18:59:53Z

Hugh Dickins wrote:
> 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.
>

Drat. I think you may be right.

J