diff options
author | Oleksij Rempel <o.rempel@pengutronix.de> | 2025-03-07 13:12:23 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-03-10 23:18:44 +0300 |
commit | cfa693bf9d5361608e2963f5dae053b3695af8eb (patch) | |
tree | 201d20fbe3f6852533608819b3fe12f4843d5dc1 /net/switchdev/switchdev.c | |
parent | d0a4a1b36d7a71b45972ef33762c3fc082bec1db (diff) | |
download | linux-cfa693bf9d5361608e2963f5dae053b3695af8eb.tar.xz |
net: usb: lan78xx: Sanitize return values of register read/write functions
usb_control_msg() returns the number of transferred bytes or a negative
error code. The current implementation propagates the transferred byte
count, which is unintended. This affects code paths that assume a
boolean success/failure check, such as the EEPROM detection logic.
Fix this by ensuring lan78xx_read_reg() and lan78xx_write_reg() return
only 0 on success and preserve negative error codes.
This approach is consistent with existing usage, as the transferred byte
count is not explicitly checked elsewhere.
Fixes: 8b1b2ca83b20 ("net: usb: lan78xx: Improve error handling in EEPROM and OTP operations")
Reported-by: Mark Brown <broonie@kernel.org>
Closes: https://lore.kernel.org/all/ac965de8-f320-430f-80f6-b16f4e1ba06d@sirena.org.uk
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Tested-by: Mark Brown <broonie@kernel.org>
Link: https://patch.msgid.link/20250307101223.3025632-1-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions