Revision a98fdcef941e107eeabae622d85a1f476f25a160 authored by Oleg Nesterov on 14 January 2008, 21:02:37 UTC, committed by Linus Torvalds on 14 January 2008, 21:23:00 UTC
Commit 84427eaef1fb91704c7112bdb598c810003b99f3 (remove task_ppid_nr_ns) moved the task_tgid_nr_ns(task->real_parent) outside of lock_task_sighand(). This is wrong, ->real_parent could be freed/reused. Both ->parent/real_parent point to nothing after __exit_signal() because we remove the child from ->children list, and thus the child can't be reparented when its parent exits. rcu_read_lock() protects ->parent/real_parent, but _only_ if we know it was valid before we take rcu lock. Revert this part of the patch. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 4fd3670
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 8.8 KB |
Makefile | -rw-r--r-- | 1.1 KB |
ip_vs_app.c | -rw-r--r-- | 13.3 KB |
ip_vs_conn.c | -rw-r--r-- | 23.0 KB |
ip_vs_core.c | -rw-r--r-- | 29.5 KB |
ip_vs_ctl.c | -rw-r--r-- | 54.5 KB |
ip_vs_dh.c | -rw-r--r-- | 5.8 KB |
ip_vs_est.c | -rw-r--r-- | 4.6 KB |
ip_vs_ftp.c | -rw-r--r-- | 9.2 KB |
ip_vs_lblc.c | -rw-r--r-- | 14.4 KB |
ip_vs_lblcr.c | -rw-r--r-- | 19.0 KB |
ip_vs_lc.c | -rw-r--r-- | 3.1 KB |
ip_vs_nq.c | -rw-r--r-- | 3.7 KB |
ip_vs_proto.c | -rw-r--r-- | 4.9 KB |
ip_vs_proto_ah.c | -rw-r--r-- | 3.7 KB |
ip_vs_proto_esp.c | -rw-r--r-- | 3.7 KB |
ip_vs_proto_tcp.c | -rw-r--r-- | 15.9 KB |
ip_vs_proto_udp.c | -rw-r--r-- | 9.9 KB |
ip_vs_rr.c | -rw-r--r-- | 3.0 KB |
ip_vs_sched.c | -rw-r--r-- | 5.6 KB |
ip_vs_sed.c | -rw-r--r-- | 4.1 KB |
ip_vs_sh.c | -rw-r--r-- | 5.7 KB |
ip_vs_sync.c | -rw-r--r-- | 23.2 KB |
ip_vs_wlc.c | -rw-r--r-- | 3.9 KB |
ip_vs_wrr.c | -rw-r--r-- | 5.3 KB |
ip_vs_xmit.c | -rw-r--r-- | 13.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...