mm_update_next_owner() call from exit_mm() , and exit_mm()  change tsk->mm to 
NULL
If p==c , It seems to be  impossible that mm == c->mm  (tsk->mm) . Because mm 
is non-NULL and  c->mm is NULL . 


-----Original Message-----
From: Peter Chiang [mailto:[email protected]] 
Sent: Wednesday, April 16, 2014 11:03 AM
To: [email protected]; Peter Chiang; [email protected]; 
[email protected]; [email protected]; [email protected]; [email protected]; 
[email protected]; [email protected]
Cc: [email protected]
Subject: [PATCH] mm : Avoid candidate task is equal to current task

From: pchiang <[email protected]>

Fix kernel panic when finding a new owner for the mm and the new owner is equal 
to current onwer

Signed-off-by: pchiang <[email protected]>
---
 kernel/exit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/exit.c b/kernel/exit.c index 6ed6a1d..aa98422 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -399,7 +399,7 @@ retry:
         * here often
         */
        do_each_thread(g, c) {
-               if (c->mm == mm)
+               if ((c != p) && (c->mm == mm))
                        goto assign_new_owner;
        } while_each_thread(g, c);
 
--
1.8.1.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to