]> git.ipfire.org Git - thirdparty/linux.git/commit
net: enetc: fix potential divide-by-zero when num_vsi is zero
authorWei Fang <wei.fang@nxp.com>
Wed, 24 Jun 2026 07:27:26 +0000 (15:27 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 25 Jun 2026 15:40:08 +0000 (08:40 -0700)
commit5da65537792b68b6052ffcab65e04c27aea6dfe4
tree2dcef3e28d40d1442314ccf5edf84807d3ee4e9d
parent14eb1d2c03b38ce3427f299967f7a4d97ebff4c2
net: enetc: fix potential divide-by-zero when num_vsi is zero

For i.MX94 series, all the standalone ENETCs do not support SR-IOV, so
pf->caps.num_vsi is zero. This leads to a divide-by-zero in
enetc4_default_rings_allocation() when distributing rings among PF and
VFs.

Division by zero is undefined behavior in C. On ARM64, the UDIV/SDIV
instructions silently return zero rather than raising an exception, so
the issue does not cause a visible crash. However, relying on this
behavior is incorrect and poses a cross-platform compatibility risk.

Add an explicit check for num_vsi == 0 and return early after the PF's
rings have been configured.

Fixes: 2d673b0e2f8d ("net: enetc: add standalone ENETC support for i.MX94")
Signed-off-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20260624072726.1238903-1-wei.fang@oss.nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/enetc/enetc4_pf.c