[PATCH 1/2] tty: moxa: unwind tty driver if PCI registration fails
From: Myeonghun Pak
Date: Fri Jul 31 2026 - 12:26:17 EST
moxa_init() registers the tty driver before registering the PCI driver.
If pci_register_driver() fails, module initialization returns without
unregistering the tty driver or dropping its reference. moxa_exit() is
not called after a failed module initialization.
Unregister the tty driver and drop its reference before returning the
PCI registration error.
This issue was identified during our ongoing static-analysis research while
reviewing kernel code.
Fixes: a784bf7c195f ("[PATCH] Char: moxa, pci probing")
Cc: stable@xxxxxxxxxxxxxxx
Co-developed-by: Ijae Kim <ae878000@xxxxxxxxx>
Signed-off-by: Ijae Kim <ae878000@xxxxxxxxx>
Signed-off-by: Myeonghun Pak <mhun512@xxxxxxxxx>
---
drivers/tty/moxa.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
index 1bb2376af85c..680b2dd65462 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
@@ -1172,8 +1172,11 @@ static int __init moxa_init(void)
}
retval = pci_register_driver(&moxa_pci_driver);
- if (retval)
+ if (retval) {
printk(KERN_ERR "Can't register MOXA pci driver!\n");
+ tty_unregister_driver(moxaDriver);
+ tty_driver_kref_put(moxaDriver);
+ }
return retval;
}
--
2.47.1