Linux ATA/IDE development
 help / color / mirror / Atom feed
* [PATCH 0/2] ata: pata_parport: fix UAF on protocol module unload
@ 2026-09-02 11:50 Pei Xiao
  2026-09-02 11:50 ` [PATCH 1/2] ata: pata_parport: pin the protocol module before device_register() Pei Xiao
  2026-09-02 11:50 ` [PATCH 2/2] ata: pata_parport: unregister devices on protocol unregister Pei Xiao
  0 siblings, 2 replies; 5+ messages in thread
From: Pei Xiao @ 2026-09-02 11:50 UTC (permalink / raw)
  To: dlemoal, cassel, linux-ide, linux-kernel; +Cc: shuangpeng.kernel, Pei Xiao

This series fixes use-after-free issues in pata_parport when a protocol
module goes away while pi_adapter devices created by it are still
attached.

Patch 1 pins the protocol module before the device becomes visible.
Previously try_module_get() ran after device_register(), so a forced
module unload in between left pi->proto dangling from the moment the
device appeared on the bus.

Patch 2 makes pata_parport_unregister_driver() tear down all adapters
using the protocol. Without this, the rollback path of a multi-protocol
module init (e.g. kbic registering k951 then k971) left the devices of
the already-registered protocol alive while the module loader freed the
module memory; removing such a dangling device later crashed in
pi_disconnect() dereferencing pi->proto->disconnect.

Pei Xiao (2):
  ata: pata_parport: pin the protocol module before device_register()
  ata: pata_parport: unregister devices on protocol unregister

 drivers/ata/pata_parport/pata_parport.c | 27 +++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-09-02 12:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-02 11:50 [PATCH 0/2] ata: pata_parport: fix UAF on protocol module unload Pei Xiao
2026-09-02 11:50 ` [PATCH 1/2] ata: pata_parport: pin the protocol module before device_register() Pei Xiao
2026-09-02 12:06   ` sashiko-bot
2026-09-02 11:50 ` [PATCH 2/2] ata: pata_parport: unregister devices on protocol unregister Pei Xiao
2026-09-02 12:07   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox