1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-12 09:58:36 +00:00
freebsd/sys/netinet6
Matt Macy b6f6f88018 r333175 introduced deferred deletion of multicast addresses in order to permit the driver ioctl
to sleep on commands to the NIC when updating multicast filters. More generally this permitted
driver's to use an sx as a softc lock. Unfortunately this change introduced a race whereby a
a multicast update would still be queued for deletion when ifconfig deleted the interface
thus calling down in to _purgemaddrs and synchronously deleting _all_ of the multicast addresses
on the interface.

Synchronously remove all external references to a multicast address before enqueueing for delete.

Reported by:	lwhsu
Approved by:	sbruno
2018-05-06 20:34:13 +00:00
..
dest6.c Remove some unneccessary variable sets in IPv6 code, as detected by 2018-03-24 12:43:34 +00:00
frag6.c Modify ip6_get_prevhdr() to be able use it safely. 2018-02-05 09:22:07 +00:00
icmp6.c icmp6_reflect() sends ICMPv6 message with new IPv6 header. So, it is 2018-04-23 12:20:07 +00:00
icmp6.h
in6_cksum.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_fib.c
in6_fib.h
in6_gif.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_ifattach.c r333175 introduced deferred deletion of multicast addresses in order to permit the driver ioctl 2018-05-06 20:34:13 +00:00
in6_ifattach.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_jail.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
in6_mcast.c r333175 introduced deferred deletion of multicast addresses in order to permit the driver ioctl 2018-05-06 20:34:13 +00:00
in6_pcb.c Separate list manipulation locking from state change in multicast 2018-05-02 19:36:29 +00:00
in6_pcb.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_pcbgroup.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
in6_proto.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_rmx.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
in6_rss.c
in6_rss.h
in6_src.c Revert r332894 at the request of the submitter. 2018-04-24 19:55:12 +00:00
in6_var.h r333175 introduced deferred deletion of multicast addresses in order to permit the driver ioctl 2018-05-06 20:34:13 +00:00
in6.c Separate list manipulation locking from state change in multicast 2018-05-02 19:36:29 +00:00
in6.h Follow the RFC6980 and silently ignore following IPv6 NDP messages 2017-12-15 12:37:32 +00:00
ip6_ecn.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip6_fastfwd.c Send an ICMPv6 PacketTooBig message in case of forwading a packet which 2018-05-02 22:11:16 +00:00
ip6_forward.c netpfil: Introduce PFIL_FWD flag 2018-03-23 16:56:44 +00:00
ip6_gre.c
ip6_id.c Fix some typos. 2017-12-28 20:40:56 +00:00
ip6_input.c netpfil: Introduce PFIL_FWD flag 2018-03-23 16:56:44 +00:00
ip6_mroute.c Merge r1.120 from NetBSD: 2018-02-02 07:39:34 +00:00
ip6_mroute.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip6_output.c Revert r332894 at the request of the submitter. 2018-04-24 19:55:12 +00:00
ip6_var.h Modify ip6_get_prevhdr() to be able use it safely. 2018-02-05 09:22:07 +00:00
ip6.h
ip6protosw.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ip_fw_nat64.h
ip_fw_nptv6.h
mld6_var.h Separate list manipulation locking from state change in multicast 2018-05-02 19:36:29 +00:00
mld6.c r333175 introduced deferred deletion of multicast addresses in order to permit the driver ioctl 2018-05-06 20:34:13 +00:00
mld6.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
nd6_nbr.c Remove support for the Arcnet protocol. 2018-04-13 21:18:04 +00:00
nd6_rtr.c Update the MTU in affected routes when IPv6 RA changes the MTU 2018-02-12 19:49:20 +00:00
nd6.c Remove support for the Arcnet protocol. 2018-04-13 21:18:04 +00:00
nd6.h Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
pim6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pim6.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
raw_ip6.c Modify ip6_get_prevhdr() to be able use it safely. 2018-02-05 09:22:07 +00:00
raw_ip6.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
route6.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
scope6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
scope6.c sys/netinet6: fix typos in comments. No functional change. 2018-01-23 19:40:05 +00:00
sctp6_usrreq.c Fix a logical inversion bug. 2018-04-08 12:08:20 +00:00
sctp6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
send.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
send.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
tcp6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
udp6_usrreq.c Revert r332894 at the request of the submitter. 2018-04-24 19:55:12 +00:00
udp6_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00