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/