1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/sys/net
Andrew Thompson 68e84b98b2 Fix a panic in softclock() if the interface is destroyed with a bpf consumer
attached.

This is caused by bpf_detachd clearing IFF_PROMISC on the interface which does
a SIOCSIFFLAGS ioctl. The problem here is that while the interface has been
stopped, IFF_UP has not been cleared so IFF_UP != IFF_DRV_RUNNING, this causes
the ioctl function to init() the interface which resets the callouts.

The destroy then completes and frees the softc but softclock will panic on a
dead callout pointer.

Ensure ifp->if_flags matches reality by clearing IFF_UP when we destroy.

Silence from:	rwatson
Approved by:	mlaier (mentor)
MFC after:	3 days
2005-08-27 01:17:42 +00:00
..
bpf_compat.h
bpf_filter.c
bpf.c Introduce two new ioctl(2) commands, BIOCLOCK and BIOCSETWF. These commands 2005-08-22 19:35:48 +00:00
bpf.h Introduce two new ioctl(2) commands, BIOCLOCK and BIOCSETWF. These commands 2005-08-22 19:35:48 +00:00
bpfdesc.h Introduce two new ioctl(2) commands, BIOCLOCK and BIOCSETWF. These commands 2005-08-22 19:35:48 +00:00
bridge.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
bridge.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
bridgestp.c Mark the callouts as MPSAFE as if_bridge has been giant-free since day 1. 2005-08-18 20:17:00 +00:00
bsd_comp.c Eliminate MAC entry point mac_create_mbuf_from_mbuf(), which is 2005-07-05 23:39:51 +00:00
ethernet.h
fddi.h
firewire.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_arc.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_arcsubr.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_arp.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_atm.h Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_atmsubr.c o Make rt_check() function more strict: 2005-08-11 08:14:53 +00:00
if_bridge.c Fix a panic in softclock() if the interface is destroyed with a bpf consumer 2005-08-27 01:17:42 +00:00
if_bridgevar.h - Previously when broadcasting to N number of interfaces we would run pfil 2005-07-06 01:24:45 +00:00
if_clone.c
if_clone.h
if_disc.c Fix some long standing bugs in writing to the BPF device attached to 2005-06-26 18:11:11 +00:00
if_dl.h
if_ef.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_ethersubr.c Don't loop back packets that have been routed by pf. This fixes an endless 2005-08-23 14:13:17 +00:00
if_faith.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_fddisubr.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_fwsubr.c o Make rt_check() function more strict: 2005-08-11 08:14:53 +00:00
if_gif.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_gif.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_gre.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_gre.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_iso88025subr.c o Make rt_check() function more strict: 2005-08-11 08:14:53 +00:00
if_llc.h Add hooks into the networking layer to support if_bridge. This changes struct 2005-06-05 03:13:13 +00:00
if_loop.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_media.c
if_media.h
if_mib.c If we are going to 2005-05-06 02:50:00 +00:00
if_mib.h
if_ppp.c Axe ppp_for_tty(). Use tty->t_lsc pointer to store sc. This 2005-08-12 08:27:15 +00:00
if_ppp.h
if_pppvar.h Axe ppp_for_tty(). Use tty->t_lsc pointer to store sc. This 2005-08-12 08:27:15 +00:00
if_sl.c Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_slvar.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_sppp.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_spppfr.c Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_spppsubr.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_stf.c Fix some long standing bugs in writing to the BPF device attached to 2005-06-26 18:11:11 +00:00
if_stf.h
if_tap.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_tap.h
if_tapvar.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_tun.c Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE and 2005-08-09 10:20:02 +00:00
if_tun.h
if_types.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_var.h Rename IFF_RUNNING to IFF_DRV_RUNNING, IFF_OACTIVE to IFF_DRV_OACTIVE, 2005-08-09 10:16:17 +00:00
if_vlan_var.h
if_vlan.c Vlan interfaces change their type after ether_ifattach() so we needs to 2005-08-15 20:27:34 +00:00
if.c When we started calling if_findindex() from if_alloc() with an empty 2005-08-18 18:36:40 +00:00
if.h For each interface flag, indicate whether or not it is owned by the 2005-08-09 12:56:20 +00:00
iso88025.h
net_osdep.h
netisr.c
netisr.h
pfil.c Fix semantics of ph_busy_count == -1 to pass instead of block. 2005-05-23 17:07:16 +00:00
pfil.h
pfkeyv2.h
ppp_comp.h
ppp_deflate.c
ppp_defs.h
ppp_tty.c Axe ppp_for_tty(). Use tty->t_lsc pointer to store sc. This 2005-08-12 08:27:15 +00:00
radix.c
radix.h
raw_cb.c
raw_cb.h
raw_usrreq.c
route.c o Make rt_check() function more strict: 2005-08-11 08:14:53 +00:00
route.h
rtsock.c De-spl parts of the routing socket code now generally protected 2005-08-25 13:30:04 +00:00
slcompress.c
slcompress.h
slip.h
zlib.c
zlib.h