linux/net/sched
stephen hemminger 3b87956ea6 net sched: fix race in mirred device removal
This fixes hang when target device of mirred packet classifier
action is removed.

If a mirror or redirection action is configured to cause packets
to go to another device, the classifier holds a ref count, but was assuming
the adminstrator cleaned up all redirections before removing. The fix
is to add a notifier and cleanup during unregister.

The new list is implicitly protected by RTNL mutex because
it is held during filter add/delete as well as notifier.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-07-24 21:04:20 -07:00
..
act_api.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
act_gact.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
act_ipt.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
act_mirred.c net sched: fix race in mirred device removal 2010-07-24 21:04:20 -07:00
act_nat.c act_nat: not all of the ICMP packets need an IP header payload 2010-07-12 20:00:19 -07:00
act_pedit.c act_pedit: access skb->data safely 2010-06-03 03:28:27 -07:00
act_police.c
act_simple.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
act_skbedit.c
cls_api.c
cls_basic.c
cls_cgroup.c cls_cgroup: Store classid in struct sock 2010-05-24 00:12:34 -07:00
cls_flow.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
cls_fw.c
cls_route.c
cls_rsvp6.c
cls_rsvp.c
cls_rsvp.h
cls_tcindex.c
cls_u32.c cls_u32: use skb_header_pointer() to dereference data safely 2010-06-02 07:32:42 -07:00
em_cmp.c
em_meta.c
em_nbyte.c
em_text.c
em_u32.c
ematch.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
Kconfig
Makefile
sch_api.c net_sched: Fix qdisc_notify() 2010-05-23 23:11:07 -07:00
sch_atm.c
sch_blackhole.c
sch_cbq.c
sch_drr.c
sch_dsmark.c
sch_fifo.c
sch_generic.c net: add a noref bit on skb dst 2010-05-17 17:18:50 -07:00
sch_gred.c
sch_hfsc.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_htb.c
sch_ingress.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_mq.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_multiq.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_netem.c
sch_prio.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_red.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_sfq.c net: Fix various endianness glitches 2010-04-20 19:06:52 -07:00
sch_tbf.c tbf: stop wanton destruction of children (v2) 2010-05-17 17:44:35 -07:00
sch_teql.c Clear IFF_XMIT_DST_RELEASE for teql interfaces 2010-06-16 14:47:30 -07:00