Andy Whitcroft wrote:
> KAMEZAWA Hiroyuki wrote:
>> Fix sparsemem_vmemmap init. sorry if known bug.
>>
>> This patch fixes page table handling in sparsemem_vmammap.
>>
>> Without this, part of vmem_map is not mapped because each section's start addr of
>> mem_map is not aligned to PGD/PMD/PUD.
>> (In ia64, secion's mem_map size is 3670016bytes. )
>>
>> for example,
>>
>> addr pmd_addr_end(addr_end) addr + PMD_SIZE
>> |XXXXXXXXXX|??????????????????????????????|XXXXXXXXXXXXXXXXXX
>>
>> X ... initialized vmem_map
>> ? ... not intialized
>>
>> Signed-off-by: KAMEZAWA Hiroyuki <[email protected]>
>
> I think the code change below is safe enough. I have not found it easy
> to understand your description above but I think that you are saying
> that if the section we are initialising is bigger than a PMD size, but
> falls offset from the PMD start we will initialise the end of the first
> PMD and the end of the second PMD and so on. The "start" of the second
> PMD is missed.
>
> Ahh yes, that I think is what your diagram shows. Yes this is pretty
> clearly wrong for any sort of offset initialisation, and would be worse
> lower down in the hierachy. This seems like a clean way to fix the bug.
> Thanks for finding this.
>
> Acked-by: Andy Whitcroft <[email protected]>
Andrew, I'll fold this one into a new version when I get through the
other feedback, but could you pull this into -mm on top for now as its a
boot issue.
-apw
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]