bgmac: fix a missing check for build_skb
when build_skb failed, it may occure a NULL pointer. So add a 'NULL check' for it. Signed-off-by: Weidong Wang <wangweidong1@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
ddb5388ffd
Коммит
f1640c3dde
|
@ -466,6 +466,11 @@ static int bgmac_dma_rx_read(struct bgmac *bgmac, struct bgmac_dma_ring *ring,
|
||||||
len -= ETH_FCS_LEN;
|
len -= ETH_FCS_LEN;
|
||||||
|
|
||||||
skb = build_skb(buf, BGMAC_RX_ALLOC_SIZE);
|
skb = build_skb(buf, BGMAC_RX_ALLOC_SIZE);
|
||||||
|
if (unlikely(skb)) {
|
||||||
|
bgmac_err(bgmac, "build_skb failed\n");
|
||||||
|
put_page(virt_to_head_page(buf));
|
||||||
|
break;
|
||||||
|
}
|
||||||
skb_put(skb, BGMAC_RX_FRAME_OFFSET +
|
skb_put(skb, BGMAC_RX_FRAME_OFFSET +
|
||||||
BGMAC_RX_BUF_OFFSET + len);
|
BGMAC_RX_BUF_OFFSET + len);
|
||||||
skb_pull(skb, BGMAC_RX_FRAME_OFFSET +
|
skb_pull(skb, BGMAC_RX_FRAME_OFFSET +
|
||||||
|
|
Загрузка…
Ссылка в новой задаче