[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/3] xen, pvh: fix unbootable VMs (PVH + KASAN)



Uninstrument arch/x86/platform/pvh/enlighten.c: KASAN is not setup
_this_ early in the boot process.

Steps to reproduce:

        make allnoconfig
        make sure CONFIG_AMD_MEM_ENCRYPT is disabled
                AMD_MEM_ENCRYPT independently uninstruments lib/string.o
                so PVH boot code calls into uninstrumented memset() and
                memcmp() which can make the bug disappear depending on
                the compiler.
        enable CONFIG_PVH
        enable CONFIG_KASAN
        enable serial console
                this is fun exercise if you never done it from nothing :^)

        make

        qemu-system-x86_64      \
                -enable-kvm     \
                -cpu host       \
                -smp cpus=1     \
                -m 4096         \
                -serial stdio   \
                -kernel vmlinux \
                -append 'console=ttyS0 ignore_loglevel'

Messages on serial console will easily tell OK kernel from unbootable
kernel. In bad case qemu hangs in an infinite loop stroboscoping
"SeaBIOS" message.

Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
---

 arch/x86/platform/pvh/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/platform/pvh/Makefile b/arch/x86/platform/pvh/Makefile
index 5dec5067c9fb..c43fb7964dc4 100644
--- a/arch/x86/platform/pvh/Makefile
+++ b/arch/x86/platform/pvh/Makefile
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 OBJECT_FILES_NON_STANDARD_head.o := y
+KASAN_SANITIZE := n
 
 obj-$(CONFIG_PVH) += enlighten.o
 obj-$(CONFIG_PVH) += head.o



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.