linux-stable/drivers/net/phy
Gaosheng Cui 6ce6f8f8f6 net: mdio: fix undefined behavior in bit shift for __mdiobus_register
[ Upstream commit 40e4eb324c ]

Shifting signed 32-bit value by 31 bits is undefined, so changing
significant bit to unsigned. The UBSAN warning calltrace like below:

UBSAN: shift-out-of-bounds in drivers/net/phy/mdio_bus.c:586:27
left shift of 1 by 31 places cannot be represented in type 'int'
Call Trace:
 <TASK>
 dump_stack_lvl+0x7d/0xa5
 dump_stack+0x15/0x1b
 ubsan_epilogue+0xe/0x4e
 __ubsan_handle_shift_out_of_bounds+0x1e7/0x20c
 __mdiobus_register+0x49d/0x4e0
 fixed_mdio_bus_init+0xd8/0x12d
 do_one_initcall+0x76/0x430
 kernel_init_freeable+0x3b3/0x422
 kernel_init+0x24/0x1e0
 ret_from_fork+0x1f/0x30
 </TASK>

Fixes: 4fd5f812c2 ("phylib: allow incremental scanning of an mii bus")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20221031132645.168421-1-cuigaosheng1@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-11-10 18:17:21 +01:00
..
mscc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-03-17 13:56:58 -07:00
adin.c net: phy: adin: add support for clock output 2022-05-18 19:58:25 -07:00
adin1100.c net: phy: adin1100: Add SQI support 2022-05-01 17:45:35 +01:00
amd.c
aquantia.h
aquantia_hwmon.c
aquantia_main.c net: phy: aquantia: wait for the suspend/resume operations to finish 2022-09-13 09:55:34 +02:00
at803x.c net: phy: at803x: fix NULL pointer dereference on AR9331 PHY 2022-06-19 11:52:23 +01:00
ax88796b.c net: phy: ax88772a: fix lost pause advertisement configuration 2022-06-29 20:39:05 -07:00
bcm-cygnus.c
bcm-phy-lib.c
bcm-phy-lib.h net: phy: broadcom: Add Broadcom PTP hooks to bcm-phy-lib 2022-06-23 20:49:02 -07:00
bcm-phy-ptp.c net: phy: Add support for 1PPS out and external timestamps 2022-06-23 20:49:02 -07:00
bcm7xxx.c net: phy: bcm7xxx: Add EPHY entry for 7712 2021-10-24 13:42:28 +01:00
bcm63xx.c
bcm87xx.c net: phy: bcm87xx: Use mmd helpers 2022-05-02 13:21:38 +02:00
bcm54140.c
bcm84881.c
broadcom.c net: phy: broadcom: Add support for BCM53128 internal PHYs 2022-07-04 10:33:06 +01:00
cicada.c
cortina.c
davicom.c
dp83tc811.c
dp83td510.c net: phy: dp83td510: add SQI support 2022-06-21 22:01:14 -07:00
dp83640.c dp83640: Use generic ptp_msg_is_sync() function 2022-03-07 11:31:34 +00:00
dp83640_reg.h ptp: dp83640: don't define PAGE0 2021-09-14 20:03:24 -07:00
dp83822.c net: phy: dp83822: disable MDI crossover status change interrupt 2022-10-29 10:08:35 +02:00
dp83848.c
dp83867.c net: phy: dp83867: Extend RX strap quirk for SGMII mode 2022-10-29 10:08:32 +02:00
dp83869.c net: phy: add support for TI DP83561-SP phy 2021-11-19 20:13:07 -08:00
et1011c.c
fixed_phy.c net: phy: fixed_phy: set phy_mask before calling mdiobus_register() 2022-06-13 23:11:24 -07:00
icplus.c
intel-xway.c
Kconfig net: phy: mxl-gpy: add temperature sensor 2022-06-23 20:55:18 -07:00
linkmode.c
lxt.c
Makefile net: phy: broadcom: Add PTP support for some Broadcom PHYs. 2022-06-23 20:49:02 -07:00
marvell-88x2222.c net: phy: marvell-88x2222: set proper phydev->port 2022-06-15 09:25:31 +01:00
marvell.c net: phy: marvell: use mii_bmcr_encode_fixed() 2022-06-19 10:38:26 +01:00
marvell10g.c net: phy: marvell10g: fix return value on error 2022-04-26 11:46:18 +02:00
mdio-boardinfo.c
mdio-boardinfo.h
mdio_bus.c net: mdio: fix undefined behavior in bit shift for __mdiobus_register 2022-11-10 18:17:21 +01:00
mdio_device.c net: mdio: introduce a shutdown method to mdio device drivers 2021-09-19 12:08:37 +01:00
mdio_devres.c
mediatek-ge.c net: phy: mediatek: remove PHY mode check on MT7531 2022-02-15 14:21:01 +00:00
meson-gxl.c Revert "net: phy: meson-gxl: improve link-up behavior" 2022-09-01 20:55:12 -07:00
micrel.c net: phy: micrel: fix shared interrupt on LAN8814 2022-09-22 06:36:32 -07:00
microchip.c net: phy: microchip: add comments for the modified LAN88xx phy ID mask. 2022-05-10 18:57:14 -07:00
microchip_t1.c net: phy: lan87xx: change interrupt src of link_up to comm_ready 2022-09-08 11:02:44 +02:00
mii_timestamper.c
motorcomm.c
mxl-gpy.c net: phy: mxl-gpy: print firmware in human readable form 2022-07-13 14:18:39 +01:00
national.c
nxp-c45-tja11xx.c net: phy: Use netif_rx(). 2022-03-06 11:05:31 +00:00
nxp-tja11xx.c net: phy: nxp-tja11xx: use devm_hwmon_sanitize_name() 2022-06-23 20:52:19 -07:00
phy-c45.c net: phy: c45 baset1: do not skip aneg configuration if clock role is not specified 2022-08-08 20:54:28 -07:00
phy-core.c ethtool: Add 10base-T1L link mode entry 2022-05-01 17:45:35 +01:00
phy.c net: phy: Don't trigger state machine while in suspend 2022-06-29 20:38:52 -07:00
phy_device.c net: phy: Don't WARN for PHY_UP state in mdio_bus_phy_resume() 2022-09-27 10:48:38 +02:00
phy_led_triggers.c
phylink.c net: phylink: add mac_managed_pm in phylink_config structure 2022-10-29 10:08:32 +02:00
qsemi.c
realtek.c net: phy: realtek: add support for RTL8365MB-VC internal PHYs 2021-10-18 14:02:56 +01:00
rockchip.c
sfp-bus.c net: sfp: add 2500base-X quirk for Lantech SFP module 2022-03-15 11:41:20 +01:00
sfp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-06-30 16:31:00 -07:00
sfp.h
smsc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-06-23 12:33:24 -07:00
spi_ks8995.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
ste10Xp.c
swphy.c
swphy.h
teranetics.c
uPD60620.c
vitesse.c
xilinx_gmii2rgmii.c