[grsec] Issue with 2.6.24 as Xen domU
Alessandro Grassi
alessandro at grafica-web.it
Wed Feb 20 04:15:21 EST 2008
Hello,
I'd like to report a bug with 2.6.24+grsec running as Xen domU.
As some of you may have noticed, 2.6.24 includes native support for
running as domU, and the lastest grsec patch is aware of it.
Though, i'm having a few issues with it..
Let me explain:
When I boot a vanilla 2.6.24 kernel, everything goes ok.
When I boot the very same kernel, with grsec patch (nothing of it is
enabled, just patch -p1 and make oldconfig with "N" at everything), the
hypervisor seems to have problems loading the kernel image, saying that
"Unhandled invalid opcode fault/trap [#6] on VCPU 0 [ec=0000]", with
subsequent domain_crash_sync
(full crash dump at:
http://www.prato.linux.it/~mnencia/paste/index.php?id=d0e2255464 ).
After some gdb, it seems like the kernel hangs in function
xen_start_kernel, declared in arch/x86/xen/enlighten.c, line:
| BUG_ON(memcmp(xen_start_info->magic, "xen-3", 5) != 0);
|
BUG_ON is throwing the ud2a instruction (always unvalid opcode) which
makes the hypervisor call the domain_crash_sync
Since the previous line ( if(!xen_start_info) return; ) tells us that
the struct xen_start_info is not empty, but the xen_start_info->magic is
not "xen-3"
(and to be honest, i don't know how to debug a live kernel to discover
what's in there), i think that something strange is going on.
Maybe there is some alignment or memory layout issue in some exported
symbols, because as i've seen from the Xen hypervisor code, the
structure should be filled correctly.
Does anyone have a clue about what's wrong with him?
Thanks in advance
Alessandro
More information about the grsecurity
mailing list