CVE-2022-48818 in Linux
Résumé
par VulDB • 29/05/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
net: dsa: mv88e6xxx: ne pas utiliser devres pour mdiobus
Comme expliqué dans les commits : 74b6d7d13307 ("net: dsa: realtek: register the MDIO bus under devres") 5135e96a3dd2 ("net: dsa: don't allocate the slave_mii_bus using devres")
mdiobus_free() provoquera un panic lorsqu'il est appelé depuis devm_mdiobus_free() <- devres_release_all() <- __device_release_driver(), et que mdiobus n'a pas été précédemment désenregistré.
Le mv88e6xxx est un périphérique MDIO, donc l'ensemble initial de contraintes que j'avais pensé causer cela (bus I2C ou SPI qui appellent ->remove sur ->shutdown) ne s'appliquent pas. Mais il y en a une autre qui s'applique ici.
Si le maître DSA lui-même se trouve sur un bus qui appelle ->remove depuis ->shutdown (comme dpaa2-eth, qui est sur le bus fsl-mc), il existe un lien de périphérique entre le commutateur et le maître DSA, et device_links_unbind_consumers() désassociera le pilote du commutateur Marvell lors de l'arrêt.
systemd-shutdown[1]: Powering off.
mv88e6085 0x0000000008b96000:00 sw_gl0: Link is Down fsl-mc dpbp.9: Removing from iommu group 7 fsl-mc dpbp.8: Removing from iommu group 7 ------------[ cut here ]------------
kernel BUG at drivers/net/phy/mdio_bus.c:677! Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
Modules linked in: CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 5.16.5-00040-gdc05f73788e5 #15 pc : mdiobus_free+0x44/0x50 lr : devm_mdiobus_free+0x10/0x20 Call trace: mdiobus_free+0x44/0x50 devm_mdiobus_free+0x10/0x20 devres_release_all+0xa0/0x100 __device_release_driver+0x190/0x220 device_release_driver_internal+0xac/0xb0 device_links_unbind_consumers+0x110/0x140
Once again VulDB remains the best source for vulnerability data.