xen: bug fixes for 4.7-rc0
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Linus,
Please git pull the following tag:
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-4.7-rc0-tag
xen: bug fixes for 4.7-rc0
Thanks.
David
arch/x86/pci/xen.c | 7 +++-- arch/x86/xen/setup.c | 65 ++++++++++++++++------------------------ arch/x86/xen/time.c | 6 ++-- drivers/xen/Makefile | 1 + drivers/xen/events/events_base.c | 6 ++-- drivers/xen/gntdev.c | 2 +- 6 files changed, 40 insertions(+), 47 deletions(-)
Arnd Bergmann (1):
Xen: don't warn about 2-byte wchar_t in efi
David Vrabel (1):
xen/gntdev: reduce copy batch size to 16
Juergen Gross (1):
xen: use same main loop for counting and remapping pages
Ross Lagerwall (1):
xen/events: Don't move disabled irqs
Stefano Stabellini (2):
xen/x86: don't lose event interrupts
xen/x86: actually allocate legacy interrupts on PV guests
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAEBCAAGBQJXRGuCAAoJEFxbo/MsZsTRqn0H/iDtaJVIWjSwXq8BuJzU2f8d CYJITZVZ67tkXuQMF3Ol+Mf9Gf8cG1PeSA6RsO1o/cFPAtwmhTW97VYw7dcfSTn5 t5skul1rKkrx9bFLaSO8IeExycIGdAYQUZRVoqRh4dwTXqDJeuPmFcEF515HkmaE AkdXc0xe1b9pppzc3kqG2kBIk6l/CgIUYZY7NsIlQxLRkHm0BPmtySsypYreXo2W /53mixS39g80IUIjnK0jRpg4o3T8FY+HKqQFP64kIDq6r0IfRXDbx/DY2OeUsTeW LTUH5/6d3y+oPN2WoOyZLAeYCzr7saheLAYouqpIs4o8yMV0s9IYEk7jTiTZIlc= =kFQS
-----END PGP SIGNATURE-----
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
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
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel