CVE-2022-48818 in Linux
要約
〜によって VulDB • 2026年06月03日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
net: dsa: mv88e6xxx: mdiobus の割り当てに devres を使用しない
コミット 74b6d7d13307 ("net: dsa: realtek: register the MDIO bus under devres") および 5135e96a3dd2 ("net: dsa: don't allocate the slave_mii_bus using devres") で説明されている通り、mdiobus が以前に unregister されていない場合、devm_mdiobus_free() <- devres_release_all() <- __device_release_driver() の呼び出し元から mdiobus_free() を呼び出すとパニックが発生します。
mv88e6xxx は MDIO デバイスであるため、私が当初この問題を引き起こす原因になると考えていた制約(->shutdown で ->remove を呼び出す I2C や SPI バスなど)は適用されません。しかし、ここでは別の制約が適用されます。
DSA マスター自体が ->shutdown から ->remove を呼び出すバス上にある場合(fsl-mc バス上にあり dpaa2-eth であるようなケース)、スイッチと DSA マスターの間にはデバイスリンクが存在し、device_links_unbind_consumers() がシャットダウン時に Marvell スイッチドライバのアンバインドを実行します。
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+0xd4/0x100 __device_release_driver+0x4c/0x
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.