Daniel Borkmann
113214be7f
bpf: refactor bpf_prog_get and type check into helper
...
Since bpf_prog_get() and program type check is used in a couple of places,
refactor this into a small helper function that we can make use of. Since
the non RO prog->aux part is not used in performance critical paths and a
program destruction via RCU is rather very unlikley when doing the put, we
shouldn't have an issue just doing the bpf_prog_get() + prog->type != type
check, but actually not taking the ref at all (due to being in fdget() /
fdput() section of the bpf fd) is even cleaner and makes the diff smaller
as well, so just go for that. Callsites are changed to make use of the new
helper where possible.
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-01 16:00:47 -04:00
..
act_api.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-06-30 05:03:36 -04:00
act_bpf.c
bpf: refactor bpf_prog_get and type check into helper
2016-07-01 16:00:47 -04:00
act_connmark.c
net sched actions: aggregate dumping of actions timeinfo
2016-06-07 15:53:43 -07:00
act_csum.c
net sched actions: aggregate dumping of actions timeinfo
2016-06-07 15:53:43 -07:00
act_gact.c
net sched: indentation and other OCD stylistic fixes
2016-06-07 15:53:54 -07:00
act_ife.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-06-30 05:03:36 -04:00
act_ipt.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-06-30 05:03:36 -04:00
act_meta_mark.c
act_meta_skbprio.c
act_mirred.c
net_sched: make tcf_hash_check() boolean
2016-06-15 12:43:35 -07:00
act_nat.c
net sched actions: aggregate dumping of actions timeinfo
2016-06-07 15:53:43 -07:00
act_pedit.c
net sched actions: aggregate dumping of actions timeinfo
2016-06-07 15:53:43 -07:00
act_police.c
act_police: rename tcf_act_police_locate() to tcf_act_police_init()
2016-06-15 00:05:57 -07:00
act_simple.c
net_sched: make tcf_hash_check() boolean
2016-06-15 12:43:35 -07:00
act_skbedit.c
net_sched: make tcf_hash_check() boolean
2016-06-15 12:43:35 -07:00
act_vlan.c
net_sched: make tcf_hash_check() boolean
2016-06-15 12:43:35 -07:00
cls_api.c
net, cls: also reject deleting all filters when TCA_KIND present
2016-06-16 22:50:16 -07:00
cls_basic.c
cls_bpf.c
bpf: refactor bpf_prog_get and type check into helper
2016-07-01 16:00:47 -04:00
cls_cgroup.c
cls_flow.c
cls_flower.c
net/sched: flower: Return error when hw can't offload and skip_sw is set
2016-06-14 22:37:26 -07:00
cls_fw.c
cls_route.c
cls_rsvp.c
cls_rsvp.h
cls_rsvp6.c
cls_tcindex.c
cls_u32.c
net: cls_u32: be more strict about skip-sw flag for knodes
2016-06-08 21:43:14 -07: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
Makefile
sch_api.c
sched: remove NET_XMIT_POLICED
2016-06-12 22:02:11 -04:00
sch_atm.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_blackhole.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_cbq.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_choke.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_codel.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_drr.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_dsmark.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_fifo.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-06-30 05:03:36 -04:00
sch_fq.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_fq_codel.c
net_sched: fq_codel: cache skb->truesize into skb->cb
2016-06-25 12:19:35 -04:00
sch_generic.c
net_sched: generalize bulk dequeue
2016-06-25 12:19:35 -04:00
sch_gred.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_hfsc.c
net/sched/sch_hfsc.c: anchor virtual curve at proper vt in hfsc_change_fsc()
2016-07-01 05:03:43 -04:00
sch_hhf.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_htb.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-06-30 05:03:36 -04:00
sch_ingress.c
net: sched: fix tc_should_offload for specific clsact classes
2016-06-07 16:59:53 -07:00
sch_mq.c
net: sched: do not acquire qdisc spinlock in qdisc/class stats dump
2016-06-07 16:37:14 -07:00
sch_mqprio.c
net: sched: do not acquire qdisc spinlock in qdisc/class stats dump
2016-06-07 16:37:14 -07:00
sch_multiq.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_netem.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-06-30 05:03:36 -04:00
sch_pie.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_plug.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_prio.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-06-30 05:03:36 -04:00
sch_qfq.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_red.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_sfb.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_sfq.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_tbf.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00
sch_teql.c
net_sched: drop packets after root qdisc lock is released
2016-06-25 12:19:35 -04:00