mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 12:16:20 +00:00
cls_cgroup: Fix oops when user send improperly 'tc filter add' request
I found a bug in cls_cgroup_change() in cls_cgroup.c. cls_cgroup_change() expected tca[TCA_OPTIONS] was set from user space properly, but tc in iproute2-2.6.29-1 (which I used) didn't set it. In the current source code of tc in git, it set tca[TCA_OPTIONS]. git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git If we always use a newest iproute2 in git when we use cls_cgroup, we don't face this oops probably. But I think, kernel shouldn't panic regardless of use program's behaviour. Signed-off-by: Minoru Usui <usui@mxm.nes.nec.co.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fdd7b4c330
commit
52ea3a56a3
1 changed files with 3 additions and 0 deletions
|
@ -167,6 +167,9 @@ static int cls_cgroup_change(struct tcf_proto *tp, unsigned long base,
|
||||||
struct tcf_exts e;
|
struct tcf_exts e;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
if (!tca[TCA_OPTIONS])
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
if (head == NULL) {
|
if (head == NULL) {
|
||||||
if (!handle)
|
if (!handle)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
Loading…
Reference in a new issue