mirror of
https://github.com/torvalds/linux.git
synced 2026-10-04 18:29:02 +02:00
net: dsa: b53: fix error propagation from b53_fdb_dump()
The blamed commit replaced "return ret" statements in b53_fdb_dump() with "break;" which jumps to the mutex_unlock() -> return 0 section. This is notably problematic because it swallows errors from the b53_fdb_copy() -> cb() path, and this will result in FDB dump truncation when the netlink skb overflows - see commit21b52fed92("net: dsa: sja1105: fix broken backpressure in .port_fdb_dump"). Let's go back to "return ret". We don't need to preinitialize "ret" with 0, because the "do {} while" block guarantees we cannot reach the end of the function without at least once calling b53_arl_search_wait(), which will have initialized ret to some valid value. Fixes:f7eb4a1c08("net: dsa: b53: serialize access to the ARL table") Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Link: https://patch.msgid.link/20260812201121.2012356-1-vladimir.oltean@nxp.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
b0346dd64e
commit
4f1d06cf8a
|
|
@ -2219,7 +2219,7 @@ int b53_fdb_dump(struct dsa_switch *ds, int port,
|
|||
|
||||
mutex_unlock(&priv->arl_mutex);
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(b53_fdb_dump);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user