NetBSD/sys/netinet6
ozaki-r c68a77bc1d Fix panic on adding/deleting IP addresses under network load
Adding and deleting IP addresses aren't serialized with other network
opeartions, e.g., forwarding packets. So if we add or delete an IP
address under network load, a kernel panic may happen on manipulating
network-related shared objects such as rtentry and rtcache.

To avoid such panicks, we still need to hold softnet_lock in in_control
and in6_control that are called via ioctl and do network-related operations
including IP address additions/deletions.

Fix PR kern/51356
2016-07-28 09:03:50 +00:00
..
dccp6_usrreq.c Sweep unnecessary route.h inclusions 2016-04-26 08:44:44 +00:00
dccp6_var.h make connect syscall use sockaddr_big and modify pr_{send,connect} 2015-05-02 17:18:03 +00:00
dest6.c Sweep unnecessary route.h inclusions 2016-04-26 08:44:44 +00:00
files.netinet6 Add core networking support for SCTP. 2015-10-13 21:28:34 +00:00
frag6.c
icmp6_private.h
icmp6.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
in6_cksum.c
in6_gif.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
in6_gif.h fix: gif(4) receive side race 2016-07-04 04:22:47 +00:00
in6_ifattach.c Apply pserialize to some iterations of IP address lists 2016-07-20 07:37:51 +00:00
in6_ifattach.h
in6_offload.c
in6_offload.h
in6_pcb.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
in6_pcb.h remove transitional functions in{,6}_pcbconnect_m() that were used in 2015-05-24 15:43:45 +00:00
in6_print.c
in6_proto.c Move in6_ifaddr_list to a more proper place (from ip6_input.c to in6.c) 2016-07-06 10:49:49 +00:00
in6_src.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
in6_var.h Replace macros to get an IP address with proper inline functions 2016-07-08 04:33:30 +00:00
in6.c Fix panic on adding/deleting IP addresses under network load 2016-07-28 09:03:50 +00:00
in6.h Reduce code duplication. 2016-02-15 14:59:03 +00:00
ip6_etherip.c Introduce m_set_rcvif and m_reset_rcvif 2016-06-10 13:27:10 +00:00
ip6_etherip.h
ip6_flow.c Simplify by using atomic_swap instead of mutex 2016-07-26 05:53:30 +00:00
ip6_forward.c Add missing NULL checks for m_get_rcvif_psref 2016-06-28 02:02:56 +00:00
ip6_id.c Use time_uptime instead of time_second to avoid time leaps 2015-08-07 08:11:33 +00:00
ip6_input.c Switch the address list of intefaces to pslist(9) 2016-07-07 09:32:01 +00:00
ip6_mroute.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
ip6_mroute.h
ip6_output.c CID 1362905: Initialize ifp early, so that we don't if_put garbage in the 2016-06-27 18:35:54 +00:00
ip6_private.h
ip6_var.h Make sure returning ifp from in6_select* functions psref-ed 2016-06-21 10:25:27 +00:00
ip6protosw.h Revert previous: ran cvs commit when I meant cvs diff. Sorry! 2016-01-21 15:41:29 +00:00
ipsec.h
Makefile
mld6_var.h
mld6.c Apply pserialize to some iterations of IP address lists 2016-07-20 07:37:51 +00:00
nd6_nbr.c Fix panic on adding/deleting IP addresses under network load 2016-07-28 09:03:50 +00:00
nd6_rtr.c Apply pserialize to some iterations of IP address lists 2016-07-20 07:37:51 +00:00
nd6.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
nd6.h Separate nexthop caches from the routing table 2016-04-04 07:37:07 +00:00
pim6_var.h
pim6.h
raw_ip6.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
raw_ip6.h
route6.c
scope6_var.h
scope6.c Protect if_byindex by pserialize 2016-06-15 06:01:21 +00:00
sctp6_usrreq.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
sctp6_var.h Add core networking support for SCTP. 2015-10-13 21:28:34 +00:00
udp6_output.c Make sure returning ifp from in6_select* functions psref-ed 2016-06-21 10:25:27 +00:00
udp6_private.h
udp6_usrreq.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
udp6_var.h make connect syscall use sockaddr_big and modify pr_{send,connect} 2015-05-02 17:18:03 +00:00
udp6.h