projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
42330a3
)
net: hisilicon: Fix potential use-after-free in hisi_femac_rx()
author
Liu Jian
<liujian56@huawei.com>
Sat, 3 Dec 2022 09:42:39 +0000
(17:42 +0800)
committer
Paolo Abeni
<pabeni@redhat.com>
Tue, 6 Dec 2022 11:45:11 +0000
(12:45 +0100)
The skb is delivered to napi_gro_receive() which may free it, after
calling this, dereferencing skb may trigger use-after-free.
Fixes:
542ae60af24f
("net: hisilicon: Add Fast Ethernet MAC driver")
Signed-off-by: Liu Jian <liujian56@huawei.com>
Link:
https://lore.kernel.org/r/20221203094240.1240211-1-liujian56@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/hisilicon/hisi_femac.c
patch
|
blob
|
history
diff --git
a/drivers/net/ethernet/hisilicon/hisi_femac.c
b/drivers/net/ethernet/hisilicon/hisi_femac.c
index
93846ba
..
ce2571c
100644
(file)
--- a/
drivers/net/ethernet/hisilicon/hisi_femac.c
+++ b/
drivers/net/ethernet/hisilicon/hisi_femac.c
@@
-283,7
+283,7
@@
static int hisi_femac_rx(struct net_device *dev, int limit)
skb->protocol = eth_type_trans(skb, dev);
napi_gro_receive(&priv->napi, skb);
dev->stats.rx_packets++;
- dev->stats.rx_bytes +=
skb->
len;
+ dev->stats.rx_bytes += len;
next:
pos = (pos + 1) % rxq->num;
if (rx_pkts_num >= limit)