lkml.org 
[lkml]   [2012]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/3] x86, mm: Include the entire kernel memory map in trampoline_pgd
On 10/03/2012 06:31 AM, Jan Beulich wrote:
>>>> Matt Fleming <matt@console-pimps.org> 10/03/12 2:59 PM >>>
>> +static int insert_identity_mapping(resource_size_t paddr, unsigned long vaddr,
>> + unsigned long size)
>> +{
>> + unsigned long end = vaddr + size;
>> + unsigned long next;
>> + pgd_t *vpgd, *ppgd;
>> +
>> +#ifdef CONFIG_X86_32
>> + ppgd = initial_page_table + pgd_index(paddr);
>> +
>> + if (paddr >= PAGE_OFFSET || paddr + size > PAGE_OFFSET)
>> + return 1;
>> +#else
>> + ppgd = __va(real_mode_header->trampoline_pgd) + pgd_index(paddr);
>
> Missing equivalent code (to the 32-bit one above) here - after all, you're trying
> to potentially insert a 52-bit physical address into 48-bit virtual space.
>

We should have the check, but at least for Linux support we require
P <= V-2.

-hpa


--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.



\
 
 \ /
  Last update: 2012-10-05 00:01    [W:0.090 / U:0.464 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site