Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: sxgbe: fix potential NULL dereference in sxgbe_rx()

Currently, when skb is null, the driver prints an error and then
dereferences skb on the next line.

To fix this, let's add a 'break' after the error message to switch
to sxgbe_rx_refill(), which is similar to the approach taken by the
other drivers in this particular case, e.g. calxeda with xgmac_rx().

Found during a code review.

Fixes: 1edb9ca69e8a ("net: sxgbe: add basic framework for Samsung 10Gb ethernet driver")
Signed-off-by: Alexey Kodanev <aleksei.kodanev@bell-sw.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20251121123834.97748-1-aleksei.kodanev@bell-sw.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Alexey Kodanev and committed by
Jakub Kicinski
f5bce28f 0ae9cfc4

+3 -1
+3 -1
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c
··· 1521 1521 1522 1522 skb = priv->rxq[qnum]->rx_skbuff[entry]; 1523 1523 1524 - if (unlikely(!skb)) 1524 + if (unlikely(!skb)) { 1525 1525 netdev_err(priv->dev, "rx descriptor is not consistent\n"); 1526 + break; 1527 + } 1526 1528 1527 1529 prefetch(skb->data - NET_IP_ALIGN); 1528 1530 priv->rxq[qnum]->rx_skbuff[entry] = NULL;