diff options
author | Colin Ian King | 2019-05-05 22:50:19 +0100 |
---|---|---|
committer | David S. Miller | 2019-05-07 12:15:33 -0700 |
commit | e4acf4274169fb6106d4ac854c87071b9764a00d (patch) | |
tree | 15be8d9d00472467adc4850bc77c49a457405d84 /net/sched/sch_taprio.c | |
parent | d4ee7f195e2de2f881a0d0d9412394a14a02c4c8 (diff) |
taprio: add null check on sched_nest to avoid potential null pointer dereference
The call to nla_nest_start_noflag can return a null pointer and currently
this is not being checked and this can lead to a null pointer dereference
when the null pointer sched_nest is passed to function nla_nest_end. Fix
this by adding in a null pointer check.
Addresses-Coverity: ("Dereference null return value")
Fixes: a3d43c0d56f1 ("taprio: Add support adding an admin schedule")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_taprio.c')
-rw-r--r-- | net/sched/sch_taprio.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c index 539677120b9f..9ecfb8f5902a 100644 --- a/net/sched/sch_taprio.c +++ b/net/sched/sch_taprio.c @@ -1087,6 +1087,8 @@ static int taprio_dump(struct Qdisc *sch, struct sk_buff *skb) goto done; sched_nest = nla_nest_start_noflag(skb, TCA_TAPRIO_ATTR_ADMIN_SCHED); + if (!sched_nest) + goto options_error; if (dump_schedule(skb, admin)) goto admin_error; |