| From efce0507941b4352732dbc0ca08ba373d5b96885 Mon Sep 17 00:00:00 2001 |
| From: Eric Dumazet <edumazet@google.com> |
| Date: Sat, 2 May 2020 20:09:25 -0700 |
| Subject: [PATCH] net_sched: sch_skbprio: add message validation to |
| skbprio_change() |
| |
| commit 2761121af87de45951989a0adada917837d8fa82 upstream. |
| |
| Do not assume the attribute has the right size. |
| |
| Fixes: aea5f654e6b7 ("net/sched: add skbprio scheduler") |
| Signed-off-by: Eric Dumazet <edumazet@google.com> |
| Reported-by: syzbot <syzkaller@googlegroups.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/net/sched/sch_skbprio.c b/net/sched/sch_skbprio.c |
| index 0fb10abf7579..7a5e4c454715 100644 |
| --- a/net/sched/sch_skbprio.c |
| +++ b/net/sched/sch_skbprio.c |
| @@ -169,6 +169,9 @@ static int skbprio_change(struct Qdisc *sch, struct nlattr *opt, |
| { |
| struct tc_skbprio_qopt *ctl = nla_data(opt); |
| |
| + if (opt->nla_len != nla_attr_size(sizeof(*ctl))) |
| + return -EINVAL; |
| + |
| sch->limit = ctl->limit; |
| return 0; |
| } |
| -- |
| 2.7.4 |
| |