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.

Reply via email to