net: sched: Fix a possible null-pointer dereference in dequeue_func()
[ Upstream commit 051c7b39be4a91f6b7d8c4548444e4b850f1f56c ]
In dequeue_func(), there is an if statement on line 74 to check whether
skb is NULL:
if (skb)
When skb is NULL, it is used on line 77:
prefetch(&skb->end);
Thus, a possible null-pointer dereference may occur.
To fix this bug, skb->end is used when skb is not NULL.
This bug is found by a static analysis tool STCheck written by us.
Fixes: 76e3cc126b
("codel: Controlled Delay AQM")
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6eded45da9
commit
4c641342d7
1 changed files with 2 additions and 1 deletions
|
@ -68,7 +68,8 @@ static struct sk_buff *dequeue(struct codel_vars *vars, struct Qdisc *sch)
|
|||
{
|
||||
struct sk_buff *skb = __skb_dequeue(&sch->q);
|
||||
|
||||
prefetch(&skb->end); /* we'll need skb_shinfo() */
|
||||
if (skb)
|
||||
prefetch(&skb->end); /* we'll need skb_shinfo() */
|
||||
return skb;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue