* Patch "sched: cls_bpf: fix panic on filter replace" has been added to the 4.1-stable tree
@ 2015-09-26 18:42 gregkh
0 siblings, 0 replies; only message in thread
From: gregkh @ 2015-09-26 18:42 UTC (permalink / raw)
To: daniel, ast, davem, gregkh, john.r.fastabend; +Cc: stable, stable-commits
This is a note to let you know that I've just added the patch titled
sched: cls_bpf: fix panic on filter replace
to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
sched-cls_bpf-fix-panic-on-filter-replace.patch
and it can be found in the queue-4.1 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.
>From foo@baz Sat Sep 26 11:13:07 PDT 2015
From: Daniel Borkmann <daniel@iogearbox.net>
Date: Fri, 17 Jul 2015 22:38:43 +0200
Subject: sched: cls_bpf: fix panic on filter replace
From: Daniel Borkmann <daniel@iogearbox.net>
[ Upstream commit f6bfc46da6292b630ba389592123f0dd02066172 ]
The following test case causes a NULL pointer dereference in cls_bpf:
FOO="1,6 0 0 4294967295,"
tc filter add dev foo parent 1: bpf bytecode "$FOO" flowid 1:1 action ok
tc filter replace dev foo parent 1: pref 49152 handle 0x1 \
bpf bytecode "$FOO" flowid 1:1 action drop
The problem is that commit 1f947bf151e9 ("net: sched: rcu'ify cls_bpf")
accidentally swapped the arguments of list_replace_rcu(), the old
element needs to be the first argument and the new element the second.
Fixes: 1f947bf151e9 ("net: sched: rcu'ify cls_bpf")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/sched/cls_bpf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/net/sched/cls_bpf.c
+++ b/net/sched/cls_bpf.c
@@ -364,7 +364,7 @@ static int cls_bpf_change(struct net *ne
goto errout;
if (oldprog) {
- list_replace_rcu(&prog->link, &oldprog->link);
+ list_replace_rcu(&oldprog->link, &prog->link);
tcf_unbind_filter(tp, &oldprog->res);
call_rcu(&oldprog->rcu, __cls_bpf_delete_prog);
} else {
Patches currently in stable-queue which might be from daniel@iogearbox.net are
queue-4.1/sched-cls_bpf-fix-panic-on-filter-replace.patch
queue-4.1/net-sched-fix-refcount-imbalance-in-actions.patch
queue-4.1/sched-cls_flow-fix-panic-on-filter-replace.patch
queue-4.1/act_bpf-fix-memory-leaks-when-replacing-bpf-programs.patch
queue-4.1/packet-tpacket_snd-fix-signed-unsigned-comparison.patch
queue-4.1/rtnetlink-verify-ifla_vf_info-attributes-before-passing-them-to-driver.patch
queue-4.1/netlink-make-sure-ebusy-won-t-escape-from-netlink_insert.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-09-26 18:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-26 18:42 Patch "sched: cls_bpf: fix panic on filter replace" has been added to the 4.1-stable tree gregkh
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.