mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-30 18:47:01 +00:00
ef130a3bf9
Issue #3111 - enable vt-x in kernel configuration Kernel patches: - add unrestricted guest support - avoid kernel boot failure when vt-x is not available - avoid nullpointer in kernel when vcpu is not fully setup - avoid vcpu scheduling bug which causes starvation on same/below prio level - save efer register correctly from guest
14 lines
731 B
Diff
14 lines
731 B
Diff
Bug detected by Genode and patch provided by Anna Lyons:
|
|
http://sel4.systems/pipermail/devel/2018-September/002161.html
|
|
--- src/kernel/sel4/src/arch/x86/c_traps.c
|
|
+++ src/kernel/sel4/src/arch/x86/c_traps.c
|
|
@@ -111,7 +111,7 @@ slowpath(syscall_t syscall)
|
|
{
|
|
|
|
#ifdef CONFIG_VTX
|
|
- if (syscall == SysVMEnter) {
|
|
+ if (syscall == SysVMEnter && NODE_STATE(ksCurThread)->tcbArch.tcbVCPU) {
|
|
vcpu_update_state_sysvmenter(NODE_STATE(ksCurThread)->tcbArch.tcbVCPU);
|
|
if (NODE_STATE(ksCurThread)->tcbBoundNotification && notification_ptr_get_state(NODE_STATE(ksCurThread)->tcbBoundNotification) == NtfnState_Active) {
|
|
completeSignal(NODE_STATE(ksCurThread)->tcbBoundNotification, NODE_STATE(ksCurThread));
|