linux_dsm_epyc7002/net/sched
Jamal Hadi Salim 1a29321ed0 net_sched: act: Dont increment refcnt on replace
This is a bug fix. The existing code tries to kill many
 birds with one stone: Handling binding of actions to
 filters, new actions and replacing of action
 attributes. A simple test case to illustrate:

XXXX
 moja@fe1:~$ sudo tc actions add action drop index 12
 moja@fe1:~$ actions get action gact index 12
 action order 1: gact action drop
  random type none pass val 0
  index 12 ref 1 bind 0
 moja@fe1:~$ sudo tc actions replace action ok index 12
 moja@fe1:~$ actions get action gact index 12
 action order 1: gact action drop
  random type none pass val 0
  index 12 ref 2 bind 0
XXXX

The above shows the refcounf being wrongly incremented on replace.
There are more complex scenarios with binding of actions to filters
that i am leaving out that didnt work as well...

Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-12-27 12:50:00 -05:00
..
act_api.c net_sched: Provide default walker function for actions 2013-12-05 19:28:42 -05:00
act_csum.c net_sched: act: Dont increment refcnt on replace 2013-12-27 12:50:00 -05:00
act_gact.c net_sched: act: Dont increment refcnt on replace 2013-12-27 12:50:00 -05:00
act_ipt.c net_sched: act: Dont increment refcnt on replace 2013-12-27 12:50:00 -05:00
act_mirred.c net_sched: Use default action walker methods 2013-12-05 19:28:43 -05:00
act_nat.c net_sched: act: Dont increment refcnt on replace 2013-12-27 12:50:00 -05:00
act_pedit.c net_sched: act: Dont increment refcnt on replace 2013-12-27 12:50:00 -05:00
act_police.c net_sched: act: Dont increment refcnt on replace 2013-12-27 12:50:00 -05:00
act_simple.c net_sched: act: Dont increment refcnt on replace 2013-12-27 12:50:00 -05:00
act_skbedit.c net_sched: act: Dont increment refcnt on replace 2013-12-27 12:50:00 -05:00
cls_api.c
cls_basic.c
cls_bpf.c
cls_cgroup.c
cls_flow.c
cls_fw.c
cls_route.c
cls_rsvp6.c
cls_rsvp.c
cls_rsvp.h
cls_tcindex.c
cls_u32.c
em_canid.c
em_cmp.c
em_ipset.c
em_meta.c
em_nbyte.c
em_text.c
em_u32.c
ematch.c
Kconfig
Makefile
sch_api.c
sch_atm.c
sch_blackhole.c
sch_cbq.c
sch_choke.c
sch_codel.c
sch_drr.c
sch_dsmark.c
sch_fifo.c
sch_fq_codel.c
sch_fq.c pkt_sched: fq: fix pacing for small frames 2013-11-15 21:01:52 -05:00
sch_generic.c
sch_gred.c
sch_hfsc.c
sch_htb.c net: sched: htb: fix the calculation of quantum 2013-12-11 15:08:41 -05:00
sch_ingress.c
sch_mq.c
sch_mqprio.c
sch_multiq.c
sch_netem.c netem: fix gemodel loss generator 2013-11-30 12:49:29 -05:00
sch_plug.c
sch_prio.c
sch_qfq.c
sch_red.c
sch_sfb.c
sch_sfq.c
sch_tbf.c sch_tbf: use do_div() for 64-bit divide 2013-12-11 22:53:26 -05:00
sch_teql.c