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 |
---|---|---|
ipvs | ||
netfilter | ||
Kconfig | -rw-r--r-- | 21.6 KB |
Makefile | -rw-r--r-- | 2.1 KB |
af_inet.c | -rw-r--r-- | 35.3 KB |
ah4.c | -rw-r--r-- | 7.6 KB |
arp.c | -rw-r--r-- | 34.0 KB |
cipso_ipv4.c | -rw-r--r-- | 51.4 KB |
datagram.c | -rw-r--r-- | 1.8 KB |
devinet.c | -rw-r--r-- | 37.1 KB |
esp4.c | -rw-r--r-- | 11.5 KB |
fib_frontend.c | -rw-r--r-- | 20.9 KB |
fib_hash.c | -rw-r--r-- | 23.2 KB |
fib_lookup.h | -rw-r--r-- | 1.2 KB |
fib_rules.c | -rw-r--r-- | 6.9 KB |
fib_semantics.c | -rw-r--r-- | 27.6 KB |
fib_trie.c | -rw-r--r-- | 58.7 KB |
icmp.c | -rw-r--r-- | 26.8 KB |
igmp.c | -rw-r--r-- | 61.2 KB |
inet_connection_sock.c | -rw-r--r-- | 19.0 KB |
inet_diag.c | -rw-r--r-- | 22.4 KB |
inet_fragment.c | -rw-r--r-- | 5.6 KB |
inet_hashtables.c | -rw-r--r-- | 9.5 KB |
inet_lro.c | -rw-r--r-- | 15.0 KB |
inet_timewait_sock.c | -rw-r--r-- | 10.7 KB |
inetpeer.c | -rw-r--r-- | 14.3 KB |
ip_forward.c | -rw-r--r-- | 3.2 KB |
ip_fragment.c | -rw-r--r-- | 14.2 KB |
ip_gre.c | -rw-r--r-- | 31.8 KB |
ip_input.c | -rw-r--r-- | 12.8 KB |
ip_options.c | -rw-r--r-- | 15.0 KB |
ip_output.c | -rw-r--r-- | 34.8 KB |
ip_sockglue.c | -rw-r--r-- | 27.0 KB |
ipcomp.c | -rw-r--r-- | 10.0 KB |
ipconfig.c | -rw-r--r-- | 35.3 KB |
ipip.c | -rw-r--r-- | 22.0 KB |
ipmr.c | -rw-r--r-- | 42.5 KB |
netfilter.c | -rw-r--r-- | 4.9 KB |
proc.c | -rw-r--r-- | 15.4 KB |
protocol.c | -rw-r--r-- | 2.3 KB |
raw.c | -rw-r--r-- | 21.2 KB |
route.c | -rw-r--r-- | 73.4 KB |
syncookies.c | -rw-r--r-- | 7.9 KB |
sysctl_net_ipv4.c | -rw-r--r-- | 21.1 KB |
tcp.c | -rw-r--r-- | 66.9 KB |
tcp_bic.c | -rw-r--r-- | 6.4 KB |
tcp_cong.c | -rw-r--r-- | 9.6 KB |
tcp_cubic.c | -rw-r--r-- | 10.8 KB |
tcp_diag.c | -rw-r--r-- | 1.5 KB |
tcp_highspeed.c | -rw-r--r-- | 4.9 KB |
tcp_htcp.c | -rw-r--r-- | 7.3 KB |
tcp_hybla.c | -rw-r--r-- | 4.7 KB |
tcp_illinois.c | -rw-r--r-- | 8.2 KB |
tcp_input.c | -rw-r--r-- | 149.4 KB |
tcp_ipv4.c | -rw-r--r-- | 61.2 KB |
tcp_lp.c | -rw-r--r-- | 8.8 KB |
tcp_minisocks.c | -rw-r--r-- | 22.8 KB |
tcp_output.c | -rw-r--r-- | 73.9 KB |
tcp_probe.c | -rw-r--r-- | 6.0 KB |
tcp_scalable.c | -rw-r--r-- | 1.5 KB |
tcp_timer.c | -rw-r--r-- | 14.2 KB |
tcp_vegas.c | -rw-r--r-- | 11.6 KB |
tcp_vegas.h | -rw-r--r-- | 902 bytes |
tcp_veno.c | -rw-r--r-- | 5.8 KB |
tcp_westwood.c | -rw-r--r-- | 8.0 KB |
tcp_yeah.c | -rw-r--r-- | 7.0 KB |
tunnel4.c | -rw-r--r-- | 3.9 KB |
udp.c | -rw-r--r-- | 40.9 KB |
udp_impl.h | -rw-r--r-- | 1.5 KB |
udplite.c | -rw-r--r-- | 3.2 KB |
xfrm4_input.c | -rw-r--r-- | 5.8 KB |
xfrm4_mode_beet.c | -rw-r--r-- | 3.3 KB |
xfrm4_mode_transport.c | -rw-r--r-- | 2.1 KB |
xfrm4_mode_tunnel.c | -rw-r--r-- | 3.8 KB |
xfrm4_output.c | -rw-r--r-- | 2.9 KB |
xfrm4_policy.c | -rw-r--r-- | 8.1 KB |
xfrm4_state.c | -rw-r--r-- | 1.5 KB |
xfrm4_tunnel.c | -rw-r--r-- | 2.7 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...