linux/net/sched
Eric Dumazet bb52c7acf8 netem: dont call vfree() under spinlock and BH disabled
commit 6373a9a286 (netem: use vmalloc for distribution table) added a
regression, since vfree() is called while holding a spinlock and BH
being disabled.

Fix this by doing the pointers swap in critical section, and freeing
after spinlock release.

Also add __GFP_NOWARN to the kmalloc() try, since we fallback to
vmalloc().

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-12-24 16:08:50 -05:00
..
Kconfig
Makefile
act_api.c net: Fix files explicitly needing to include module.h 2011-10-31 19:30:28 -04:00
act_csum.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_gact.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_ipt.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_mirred.c net_sched: fix port mirror/redirect stats reporting 2011-08-17 20:10:20 -07:00
act_nat.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_pedit.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_police.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_simple.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_skbedit.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_api.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_basic.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_cgroup.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_flow.c net: Fix files explicitly needing to include module.h 2011-10-31 19:30:28 -04:00
cls_fw.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_route.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_rsvp.c
cls_rsvp.h pkt_sched: cls_rsvp.h was outdated 2011-09-15 14:49:43 -04:00
cls_rsvp6.c
cls_tcindex.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_u32.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
em_cmp.c
em_meta.c net: remove SK_ROUTE_CAPS from meta ematch 2011-07-14 14:45:59 -07:00
em_nbyte.c
em_text.c
em_u32.c
ematch.c
sch_api.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
sch_atm.c
sch_blackhole.c
sch_cbq.c
sch_choke.c ip: introduce ip_is_fragment helper inline function 2011-06-21 20:33:34 -07:00
sch_drr.c
sch_dsmark.c
sch_fifo.c
sch_generic.c Remove redundant variable/code in __qdisc_run 2011-07-15 08:08:26 -07:00
sch_gred.c sch_gred: should not use GFP_KERNEL while holding a spinlock 2011-12-12 19:08:54 -05:00
sch_hfsc.c
sch_htb.c
sch_ingress.c
sch_mq.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
sch_mqprio.c mqprio: Avoid panic if no options are provided 2011-12-22 22:34:56 -05:00
sch_multiq.c
sch_netem.c netem: dont call vfree() under spinlock and BH disabled 2011-12-24 16:08:50 -05:00
sch_prio.c net_sched: prio: use qdisc_dequeue_peeked 2011-08-09 21:52:11 -07:00
sch_qfq.c
sch_red.c sch_red: fix red_change 2011-12-01 19:24:38 -05:00
sch_sfb.c net_sched: sfb: optimize enqueue on full queue 2011-08-26 12:55:18 -04:00
sch_sfq.c sch_sfq: fix sfq_enqueue() 2011-08-01 02:27:21 -07:00
sch_tbf.c
sch_teql.c sch_teql: fix lockdep splat 2011-11-30 17:10:49 -05:00