Following on the from excellent work done by "PaX Team" and spender, I'm happily using a grsec/pax enable kernel as a Xen PV guest.
However, I have one problem with it.
We have these sysctl values set on our servers, so the HA will kick in on any OOM or kernel panic situation.
- Code: Select all
kernel.panic = 1
kernel.panic_on_oops = 1
vm.panic_on_oom = 2
It's better for us for the HA slave to take over, than having the master live but unusable.
Even though it's set to reboot, all our 2.6.21-xen machines just die if they run out of RAM or panic. Mildly annoying, but the service keeps running, and the monitoring quickly and blindly obviously shows the machine is down.
I've got a 2.6.31-xen kernel floating around, and that does actually cause the VM to reboot.
My problem is that the 2.6.32-hardened (grsecurity-2.1.14-2.6.32.8-201002200811) kernel neither reboots, or dies!
- Code: Select all
[ 87.604075] Kernel panic - not syncing: out of memory. Compulsory panic_on_oom is selected.
[ 87.604078]
[ 87.604180] Rebooting in 1 seconds..
And it just sits there, "xm list" on the dom0 shows it consuming CPU time at about 1.3s per second (dom0 is a dual quad-core).
The VM is completely unusable, but still responds to pings. Which is precisely the worst way it could possible fail.
xm shutdown doesn't do anything either, I have to destroy it.
I have CONFIG_GRKERNSEC_HIGH=y set, xen logs nothing, and xm dmesg is unchanged.
Can anyone help me out here?
Thanks
Mike