linux/drivers/scsi/elx/efct
Chen Zhongjin bb0cd225dd scsi: efct: Fix possible memleak in efct_device_init()
In efct_device_init(), when efct_scsi_reg_fc_transport() fails,
efct_scsi_tgt_driver_exit() is not called to release memory for
efct_scsi_tgt_driver_init() and causes memleak:

unreferenced object 0xffff8881020ce000 (size 2048):
  comm "modprobe", pid 465, jiffies 4294928222 (age 55.872s)
  backtrace:
    [<0000000021a1ef1b>] kmalloc_trace+0x27/0x110
    [<000000004c3ed51c>] target_register_template+0x4fd/0x7b0 [target_core_mod]
    [<00000000f3393296>] efct_scsi_tgt_driver_init+0x18/0x50 [efct]
    [<00000000115de533>] 0xffffffffc0d90011
    [<00000000d608f646>] do_one_initcall+0xd0/0x4e0
    [<0000000067828cf1>] do_init_module+0x1cc/0x6a0
    ...

Fixes: 4df84e8466 ("scsi: elx: efct: Driver initialization routines")
Signed-off-by: Chen Zhongjin <chenzhongjin@huawei.com>
Link: https://lore.kernel.org/r/20221111074046.57061-1-chenzhongjin@huawei.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2022-11-25 23:50:35 +00:00
..
efct_driver.c scsi: efct: Fix possible memleak in efct_device_init() 2022-11-25 23:50:35 +00:00
efct_driver.h isystem: trim/fixup stdarg.h and other headers 2021-08-19 09:02:55 +09:00
efct_hw_queues.c scsi: elx: efct: Hardware queue creation and deletion 2021-06-15 23:39:31 -04:00
efct_hw.c scsi: elx: efct: Remove redundant memset() statement 2022-05-19 20:16:26 -04:00
efct_hw.h scsi: elx: efct: Fix link error for _bad_cmpxchg 2021-06-18 23:01:04 -04:00
efct_io.c scsi: elx: efct: Remove unnecessary memset() in efct_io() 2022-04-25 23:28:25 -04:00
efct_io.h scsi: elx: efct: Hardware queues processing 2021-06-15 23:39:31 -04:00
efct_lio.c scsi: elx: efct: Remove NULL check after calling container_of() 2022-05-19 20:16:27 -04:00
efct_lio.h scsi: elx: efct: LIO backend interface routines 2021-06-15 23:39:32 -04:00
efct_scsi.c Merge branch '5.15/scsi-fixes' into 5.16/scsi-staging 2021-10-12 11:58:12 -04:00
efct_scsi.h scsi: elx: efct: SCSI I/O handling routines 2021-06-15 23:39:32 -04:00
efct_unsol.c scsi: elx: efct: Remove redundant initialization of variable lun 2021-06-18 23:01:03 -04:00
efct_unsol.h scsi: elx: efct: Unsolicited FC frame processing routines 2021-06-15 23:39:32 -04:00
efct_xport.c scsi: elx: efct: Fix pointer error checking in debugfs init 2021-06-18 23:01:04 -04:00
efct_xport.h