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.

net: dsa: mv88e6xxx: Correct check for empty list

Since commit a3c53be55c95 ("net: dsa: mv88e6xxx: Support multiple MDIO
busses") mv88e6xxx_default_mdio_bus() has checked that the
return value of list_first_entry() is non-NULL.

This appears to be intended to guard against the list chip->mdios being
empty. However, it is not the correct check as the implementation of
list_first_entry is not designed to return NULL for empty lists.

Instead, use list_first_entry_or_null() which does return NULL if the
list is empty.

Flagged by Smatch.
Compile tested only.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240430-mv88e6xx-list_empty-v3-1-c35c69d88d2e@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Simon Horman and committed by
Jakub Kicinski
4c7f3950 ec6f25bc

+2 -2
+2 -2
drivers/net/dsa/mv88e6xxx/chip.c
··· 131 131 { 132 132 struct mv88e6xxx_mdio_bus *mdio_bus; 133 133 134 - mdio_bus = list_first_entry(&chip->mdios, struct mv88e6xxx_mdio_bus, 135 - list); 134 + mdio_bus = list_first_entry_or_null(&chip->mdios, 135 + struct mv88e6xxx_mdio_bus, list); 136 136 if (!mdio_bus) 137 137 return NULL; 138 138