[GIT PULL] (xen) stable/bug.fixes-3.2 and stable/mmu.fixes for Linux3.2-rc0

From: Konrad Rzeszutek Wilk
Date: Mon Oct 24 2011 - 09:15:02 EST


Hey Linus,

Please pull the following two branches:

git pull git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen stable/bug.fixes-3.2 stable/mmu.fixes

which contain bug-fixes to various subsystems in Xen. I am not too thrilled
that this GIT pull is all over the place, but sadly that is the nature of some
bug fixes. I could split this up in small branches but not sure whether that would
be worth it?

Anyhow, there are two branches, wherein:

#stable/bug.fixes-3.2 is based of commit a102a9ece5489e1718cd7543aa079082450ac3a2 (Linux 3.1-rc8)
and contains bug fixes found when I ran the static analyzer tool "smatch".
Most of the bugs were for the error logic path - so I am quite happy that those
are fixed now.

#stable/mmu.fixes is based of commit 322a8b034003c0d46d39af85bf24fee27b902f48 (Linux 3.1-rc1)
and contains fixes to the Xen debugfs - one attribute got lost when Jeremy did the
move from home-grown tracing to using the tracing API. Another fix is to remove
a CONFIG_DEBUG option that was causing more grief that neccessary - so removing it.

The more serious bug-fixes are in the grant mechanism - Stefano found out that when
QEMU is mapping user pages and using AIO, the kernel AIO subsystem also maps those pages.
Which in effect means that there are two page mappings for a guest page - in the
userland and in the kernel. The grant table mechanism only dealt with the
userland pages so AIO ended up getting garbage.

We also fix a sleep-inside-spinlock bug and the self-ballooning mechanism
(it was squeezing the kernel too much causing an OOM).

Anyhow, the credit list is as follow:

Dan Magenheimer (1):
xen: Fix selfballooning and ensure it doesn't go too far

Daniel De Graaf (1):
xen/gntdev: Fix sleep-inside-spinlock

Konrad Rzeszutek Wilk (10):
Revert "xen/debug: WARN_ON when identity PFN has no _PAGE_IOMAP flag set."
xen/p2m: Make debug/xen/mmu/p2m visible again.
xen/p2m: Use SetPagePrivate and its friends for M2P overrides.
xen/events: BUG() when we can't allocate our event->irq array.
xen/events: Don't check the info for NULL as it is already done.
xen/irq: If we fail during msi_capability_init return proper error code.
xen/xenbus: Remove the unnecessary check.
xen/enlighten: Fix compile warnings and set cx to known value.
xen/p2m/debugfs: Fix potential pointer exception.
xen/p2m/debugfs: Make type_name more obvious.

Stefano Stabellini (2):
xen: add an "highmem" parameter to alloc_xenballooned_pages
xen: modify kernel mappings corresponding to granted pages

arch/x86/include/asm/xen/page.h | 6 +-
arch/x86/pci/xen.c | 10 ++-
arch/x86/xen/Kconfig | 8 --
arch/x86/xen/enlighten.c | 1 +
arch/x86/xen/mmu.c | 52 ------------
arch/x86/xen/p2m.c | 128 ++++++++++++++++++++++++----
drivers/block/xen-blkback/blkback.c | 2 +-
drivers/xen/balloon.c | 12 ++-
drivers/xen/events.c | 10 ++-
drivers/xen/gntdev.c | 39 ++++++++-
drivers/xen/grant-table.c | 6 +-
drivers/xen/xen-selfballoon.c | 67 ++++++++++++++-
drivers/xen/xenbus/xenbus_probe_backend.c | 2 -
include/xen/balloon.h | 5 +-
include/xen/grant_table.h | 1 +
15 files changed, 238 insertions(+), 111 deletions(-)

Attachment: pgp00000.pgp
Description: PGP signature