Fixes ktask aborting
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 26 Nov 2013 19:50:21 +0000 (11:50 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Jan 2014 21:07:51 +0000 (13:07 -0800)
For some reason, my original testing machine didn't catch this.  proc can be
non-zero, but still gibberish, causing a PF.

kern/src/kthread.c

index 743c5e6..e7666ea 100644 (file)
@@ -803,6 +803,8 @@ void dereg_abortable_cv(struct cv_lookup_elm *cle)
  * this with things for ktasks in the future. */
 bool should_abort(struct cv_lookup_elm *cle)
 {
+       if (cle->kthread->is_ktask)
+               return FALSE;
        if (cle->proc && (cle->proc->state == PROC_DYING))
                return TRUE;
        if (cle->sysc && (atomic_read(&cle->sysc->flags) & SC_ABORT))