]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - kernel/exit.c
net/core: add lock context change annotations in net/core/sock.c
[net-next-2.6.git] / kernel / exit.c
index ceffc67b564ae28eb6b46be67bfcf4f0ab7e8c6a..671ed56e0a490a56ed4e8dc15aa6624d60ebaadf 100644 (file)
@@ -771,9 +771,12 @@ static void forget_original_parent(struct task_struct *father)
        struct task_struct *p, *n, *reaper;
        LIST_HEAD(dead_children);
 
-       exit_ptrace(father);
-
        write_lock_irq(&tasklist_lock);
+       /*
+        * Note that exit_ptrace() and find_new_reaper() might
+        * drop tasklist_lock and reacquire it.
+        */
+       exit_ptrace(father);
        reaper = find_new_reaper(father);
 
        list_for_each_entry_safe(p, n, &father->children, sibling) {