1
0
Fork 0
mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-01-24 09:13:20 -05:00
linux/net/sched
Daniel Borkmann 3f2ab13594 net: cls_bpf: fix auto generation of per list handles
When creating a bpf classifier in tc with priority collisions and
invoking automatic unique handle assignment, cls_bpf_grab_new_handle()
will return a wrong handle id which in fact is non-unique. Usually
altering of specific filters is being addressed over major id, but
in case of collisions we result in a filter chain, where handle ids
address individual cls_bpf_progs inside the classifier.

Issue is, in cls_bpf_grab_new_handle() we probe for head->hgen handle
in cls_bpf_get() and in case we found a free handle, we're supposed
to use exactly head->hgen. In case of insufficient numbers of handles,
we bail out later as handle id 0 is not allowed.

Fixes: 7d1d65cb84 ("net: sched: cls_bpf: add BPF-based classifier")
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Acked-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-01-26 15:50:19 -08:00
..
act_api.c
act_csum.c
act_gact.c sched: fix act file names in header comment 2014-11-06 15:04:41 -05:00
act_ipt.c sched: fix act file names in header comment 2014-11-06 15:04:41 -05:00
act_mirred.c sched: fix act file names in header comment 2014-11-06 15:04:41 -05:00
act_nat.c
act_pedit.c sched: fix act file names in header comment 2014-11-06 15:04:41 -05:00
act_police.c sched: fix act file names in header comment 2014-11-06 15:04:41 -05:00
act_simple.c sched: fix act file names in header comment 2014-11-06 15:04:41 -05:00
act_skbedit.c
act_vlan.c sched: introduce vlan action 2014-11-21 14:20:18 -05:00
cls_api.c
cls_basic.c net: sched: cls_basic: fix error path in basic_change() 2014-12-09 15:41:56 -05:00
cls_bpf.c net: cls_bpf: fix auto generation of per list handles 2015-01-26 15:50:19 -08:00
cls_cgroup.c net: sched: cls: use nla_nest_cancel instead of nlmsg_trim 2014-12-09 21:49:58 -05:00
cls_flow.c net: sched: cls: use nla_nest_cancel instead of nlmsg_trim 2014-12-09 21:49:58 -05:00
cls_fw.c net: sched: cls: use nla_nest_cancel instead of nlmsg_trim 2014-12-09 21:49:58 -05:00
cls_route.c net: sched: cls: use nla_nest_cancel instead of nlmsg_trim 2014-12-09 21:49:58 -05:00
cls_rsvp.c
cls_rsvp.h net: sched: cls: use nla_nest_cancel instead of nlmsg_trim 2014-12-09 21:49:58 -05:00
cls_rsvp6.c
cls_tcindex.c net: sched: cls: use nla_nest_cancel instead of nlmsg_trim 2014-12-09 21:49:58 -05:00
cls_u32.c net: sched: cls: remove unused op put from tcf_proto_ops 2014-12-09 14:49:02 -05:00
em_canid.c
em_cmp.c
em_ipset.c
em_meta.c
em_nbyte.c
em_text.c
em_u32.c
ematch.c
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-12-10 15:48:20 -05:00
Makefile sched: introduce vlan action 2014-11-21 14:20:18 -05:00
sch_api.c net: sched: initialize bstats syncp 2014-10-21 21:45:21 -04:00
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.c pkt_sched: fq: increase max delay from 125 ms to one second 2014-11-26 12:08:04 -05:00
sch_fq_codel.c net: fix suspicious rcu_dereference_check in net/sched/sch_fq_codel.c 2014-12-09 21:49:09 -05:00
sch_generic.c
sch_gred.c
sch_hfsc.c
sch_hhf.c
sch_htb.c
sch_ingress.c
sch_mq.c
sch_mqprio.c
sch_multiq.c
sch_netem.c net: add rbnode to struct sk_buff 2014-11-03 16:13:03 -05:00
sch_pie.c sch_pie: schedule the timer after all init succeed 2014-10-29 14:28:01 -04:00
sch_plug.c
sch_prio.c
sch_qfq.c
sch_red.c
sch_sfb.c
sch_sfq.c
sch_tbf.c
sch_teql.c