On 7/4/25 14:55, Anders Roxell wrote:
Add missing idr_destroy() call in pps_exit() to properly free the pps_idr radix tree nodes. Without this, module load/unload cycles leak 576-byte radix tree node allocations, detectable by kmemleak as:unreferenced object (size 576): backtrace: [<ffffffff81234567>] radix_tree_node_alloc+0xa0/0xf0 [<ffffffff81234568>] idr_get_free+0x128/0x280 The pps_idr is initialized via DEFINE_IDR() at line 32 and used throughout the PPS subsystem for device ID management. The fix follows the documented pattern in lib/idr.c and matches the cleanup approach used by other drivers such as drivers/uio/uio.c. This leak was discovered through comprehensive module testing with cumulative kmemleak detection across 10 load/unload iterations per module. Fixes: eae9d2ba0cfc ("LinuxPPS: core support") Signed-off-by: Anders Roxell <[email protected]> --- drivers/scsi/scsi_transport_iscsi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index c75a806496d6..adbedb58930d 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c @@ -5024,6 +5024,7 @@ static void __exit iscsi_transport_exit(void) class_unregister(&iscsi_endpoint_class); class_unregister(&iscsi_iface_class); class_unregister(&iscsi_transport_class); + idr_destroy(&iscsi_ep_idr); }module_init(iscsi_transport_init);
Errm. The description doesn't match the patch. Care to fix it up? Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect [email protected] +49 911 74053 688 SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/open-iscsi/c72cc8b7-f55d-4691-9161-c20d07fde99e%40suse.de.
