freebsd-dev/sys/net
Kristof Provost ab5cda71df bridge: Release the bridge lock when calling bridge_set_ifcap()
This calls ioctl() handlers for the different interfaces in the bridge.
These handlers expect to get called in an ioctl context where it's safe
for them to sleep. We may not sleep with the bridge lock held.

However, we still need to protect the interface list, to ensure it
doesn't get changed while we iterate over it.
Use BRIDGE_XLOCK(), which prevents bridge members from being removed.
Adding bridge members is safe, because it uses LIST_INSERT_HEAD().

This caused panics when adding xen interfaces to a bridge.

PR:		216304
Reviewed by:	ae
MFC after:	1 week
Sponsored by:	RootBSD
Differential Revision:	https://reviews.freebsd.org/D9290
2017-01-25 21:25:26 +00:00
..
altq
bpf_buffer.c
bpf_buffer.h
bpf_filter.c
bpf_jitter.c
bpf_jitter.h
bpf_zerocopy.c
bpf_zerocopy.h
bpf.c
bpf.h
bpfdesc.h
bridgestp.c
bridgestp.h
ethernet.h
fddi.h
firewire.h
flowtable.c
flowtable.h
ieee8023ad_lacp.c Eliminate misleading comments and dead code in lacp_port_create() 2017-01-24 01:39:40 +00:00
ieee8023ad_lacp.h Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
ieee_oui.h
if_arc.h
if_arcsubr.c
if_arp.h
if_atm.h
if_atmsubr.c
if_bridge.c bridge: Release the bridge lock when calling bridge_set_ifcap() 2017-01-25 21:25:26 +00:00
if_bridgevar.h bridge: Release the bridge lock when calling bridge_set_ifcap() 2017-01-25 21:25:26 +00:00
if_clone.c
if_clone.h
if_dead.c Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
if_debug.c
if_disc.c
if_dl.h
if_edsc.c
if_enc.c
if_enc.h
if_epair.c
if_ethersubr.c
if_fddisubr.c
if_fwsubr.c
if_gif.c
if_gif.h
if_gre.c
if_gre.h
if_iso88025subr.c
if_lagg.c Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
if_lagg.h
if_llatbl.c
if_llatbl.h
if_llc.h
if_loop.c
if_me.c
if_media.c Fix reference to free memory in ixgbe/if_media.c 2017-01-20 17:16:48 +00:00
if_media.h
if_mib.c
if_mib.h
if_pflog.h
if_pfsync.h
if_sppp.h
if_spppfr.c
if_spppsubr.c
if_stf.c
if_tap.c
if_tap.h
if_tapvar.h
if_tun.c
if_tun.h
if_types.h
if_var.h Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
if_vlan_var.h
if_vlan.c Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
if_vxlan.c
if_vxlan.h
if.c After the in_control() changes in r257692, an existing address is 2017-01-25 19:04:08 +00:00
if.h Implement kernel support for hardware rate limited sockets. 2017-01-18 13:31:17 +00:00
ifdi_if.m
iflib.c Add error checking to the pci_find_cap(, PCIY_MSIX,) call that is returns 2017-01-25 14:37:05 +00:00
iflib.h
ifq.h
iso88025.h
mp_ring.c
mp_ring.h
mppc.h
mppcc.c
mppcd.c
netisr_internal.h
netisr.c
netisr.h
netmap_user.h
netmap_virt.h
netmap.h
paravirt.h
pfil.c
pfil.h
pfkeyv2.h
pfvar.h
ppp_defs.h
radix_mpath.c
radix_mpath.h
radix.c
radix.h
raw_cb.c
raw_cb.h
raw_usrreq.c
rndis.h
route_var.h
route.c
route.h
rss_config.c
rss_config.h
rtsock.c
sff8436.h
sff8472.h
slcompress.c
slcompress.h
toeplitz.c
toeplitz.h
vnet.c
vnet.h