I missed this when doing the partial context work. We were still doing a manual copy of the context, which wasn't also calling arch_finalize_ctx(). This means the core was in a potentially unstable state.
I noticed this because a page faulting SCP was rebooting my VM. I'm surprised it didn't pop up earlier, since all it took was a null pointer dereference. Might be something weird with my VM. Signed-off-by: Barret Rhoden <[email protected]> --- kern/src/trap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kern/src/trap.c b/kern/src/trap.c index 4c156af32630..56e5c0f01b51 100644 --- a/kern/src/trap.c +++ b/kern/src/trap.c @@ -66,7 +66,7 @@ void reflect_unhandled_trap(unsigned int trap_nr, unsigned int err, __arch_reflect_trap_hwtf(hw_tf, trap_nr, err, aux); /* the guts of a __notify */ vcpd->notif_disabled = TRUE; - vcpd->uthread_ctx = *pcpui->cur_ctx; + copy_current_ctx_to(&vcpd->uthread_ctx); memset(pcpui->cur_ctx, 0, sizeof(struct user_context)); proc_init_ctx(pcpui->cur_ctx, vcoreid, vcpd->vcore_entry, vcpd->vcore_stack, vcpd->vcore_tls_desc); -- 2.6.0.rc2.230.g3dd15c0 -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
