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

Configure Feed

Select the types of activity you want to include in your feed.

octeontx2-pf: fix "UBSAN: shift-out-of-bounds error"

This patch ensures that the RX ring size (rx_pending) is not
set below the permitted length. This avoids UBSAN
shift-out-of-bounds errors when users passes small or zero
ring sizes via ethtool -G.

Fixes: d45d8979840d ("octeontx2-pf: Add basic ethtool support")
Signed-off-by: Anshumali Gaur <agaur@marvell.com>
Link: https://patch.msgid.link/20251219062226.524844-1-agaur@marvell.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Anshumali Gaur and committed by
Paolo Abeni
85f4b0c6 4d144297

+8
+8
drivers/net/ethernet/marvell/octeontx2/nic/otx2_ethtool.c
··· 418 418 */ 419 419 if (rx_count < pfvf->hw.rq_skid) 420 420 rx_count = pfvf->hw.rq_skid; 421 + 422 + if (ring->rx_pending < 16) { 423 + netdev_err(netdev, 424 + "rx ring size %u invalid, min is 16\n", 425 + ring->rx_pending); 426 + return -EINVAL; 427 + } 428 + 421 429 rx_count = Q_COUNT(Q_SIZE(rx_count, 3)); 422 430 423 431 /* Due pipelining impact minimum 2000 unused SQ CQE's