Re: [GIT PULL] xen: bug fixes for 4.7-rc0
From: Linus Torvalds
Date: Wed Jun 22 2016 - 17:25:16 EST
Having upgraded one of my machines to F24, I get a few new warnings
during the kernel compile due to a new compiler.
Some of them are just annoying and wrong, but one of them points to a
real Xen bug:
arch/x86/xen/mmu.c:1116:57: warning: array subscript is above array
bounds [-Warray-bounds]
for (; vaddr <= vaddr_end && (pmd < (level2_kernel_pgt + PAGE_SIZE));
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
because that is definitely completely wrong.
Yes, level2_kernel_pgt is one page in size, but it only has 512
entries, because each entry is 8 bytes.
So that "+ PAGE_SIZE" is entirely bogus. Either it should be
(level2_kernel_pgt + 512)
or it should be
((void *)level2_kernel_pgt + PAGE_SIZE)
but as it stands now it's a bug.
This harkens back to 2012, commit 7f9140626c757 ("xen/mmu: Copy and
revector the P2M tree").
It may be that we end up never actually crossing the pmd boundary
anyway due to vaddr limit - I didn't check. But please fix the code
regardless.
Linus