linux/net/ipv6
YOSHIFUJI Hideaki 84427d5330 [IPV6]: Ensure to use icmpv6_socket in non-preemptive context.
We saw following trace several times:

|BUG: using smp_processor_id() in preemptible [00000001] code: httpd/30137
|caller is icmpv6_send+0x23/0x540
| [<c01ad63b>] smp_processor_id+0x9b/0xb8
| [<c02993e7>] icmpv6_send+0x23/0x540

This is because of icmpv6_socket, which is the only one user of
smp_processor_id() in icmpv6_send(), AFAIK.

Since it should be used in non-preemptive context,
let's defer the dereference after disabling preemption
(by icmpv6_xmit_lock()).

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-06-13 14:59:44 -07:00
..
netfilter [NETLINK]: Synchronous message processing. 2005-05-03 14:55:09 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
addrconf.c [RTNETLINK] Cleanup rtnetlink_link tables 2005-05-03 14:29:39 -07:00
af_inet6.c [PATCH] kill gratitious includes of major.h under net/* 2005-04-25 18:32:13 -07:00
ah6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
anycast.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
datagram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
esp6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exthdrs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exthdrs_core.c [SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS. 2005-04-24 20:16:19 -07:00
icmp.c [IPV6]: Ensure to use icmpv6_socket in non-preemptive context. 2005-06-13 14:59:44 -07:00
ip6_fib.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_flowlabel.c [IPV6]: Clear up user copy warning in flowlabel code. 2005-05-29 20:28:01 -07:00
ip6_input.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ip6_output.c [IPV4/IPV6] Ensure all frag_list members have NULL sk 2005-05-18 22:52:33 -07:00
ip6_tunnel.c [IPV6]: Update parm.link in ip6ip6_tnl_change() 2005-06-08 14:54:38 -07:00
ipcomp6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipv6_sockglue.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipv6_syms.c [IPV6]: Kill export of fl6_sock_lookup. 2005-06-02 13:06:36 -07:00
mcast.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ndisc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
proc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
protocol.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
raw.c [IPV6]: Fix raw socket checksums with IPsec 2005-05-03 14:24:36 -07:00
reassembly.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
route.c [IPV6]: Incorrect permissions on route flush sysctl 2005-04-28 12:11:49 -07:00
sit.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysctl_net_ipv6.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tcp_ipv6.c [TCP]: Optimize check in port-allocation code, v6 version. 2005-05-03 14:36:45 -07:00
udp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm6_input.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm6_output.c [IPV6]: Fix xfrm tunnel oops with large packets 2005-05-23 13:11:07 -07:00
xfrm6_policy.c From: Kazunori Miyazawa <kazunori@miyazawa.org> 2005-05-26 12:58:04 -07:00
xfrm6_state.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm6_tunnel.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00