net: stmmac: fix kernel panic due to NULL pointer dereference of buf->xdp
authorSong Yoong Siang <yoong.siang.song@intel.com>
Wed, 25 Aug 2021 00:57:42 +0000 (08:57 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Aug 2021 09:59:39 +0000 (10:59 +0100)
commit2b9fff64f03219d78044d1ab40dde8e3d42e968a
tree6547909ef56bb334039ce53698e8d113d6223973
parenta6451192da2691dcf39507bd758dde35d4606ee1
net: stmmac: fix kernel panic due to NULL pointer dereference of buf->xdp

Ensure a valid XSK buffer before proceed to free the xdp buffer.

The following kernel panic is observed without this patch:

RIP: 0010:xp_free+0x5/0x40
Call Trace:
stmmac_napi_poll_rxtx+0x332/0xb30 [stmmac]
? stmmac_tx_timer+0x3c/0xb0 [stmmac]
net_rx_action+0x13d/0x3d0
__do_softirq+0xfc/0x2fb
? smpboot_register_percpu_thread+0xe0/0xe0
run_ksoftirqd+0x32/0x70
smpboot_thread_fn+0x1d8/0x2c0
kthread+0x169/0x1a0
? kthread_park+0x90/0x90
ret_from_fork+0x1f/0x30
---[ end trace 0000000000000002 ]---

Fixes: bba2556efad6 ("net: stmmac: Enable RX via AF_XDP zero-copy")
Cc: <stable@vger.kernel.org> # 5.13.x
Suggested-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: Song Yoong Siang <yoong.siang.song@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c