Zhu Wang 284bbc1a85 scsi: snic: Fix double free in snic_tgt_create()
commit 1bd3a76880b2bce017987cf53780b372cf59528e upstream.

Commit 41320b18a0e0 ("scsi: snic: Fix possible memory leak if device_add()
fails") fixed the memory leak caused by dev_set_name() when device_add()
failed. However, it did not consider that 'tgt' has already been released
when put_device(&tgt->dev) is called. Remove kfree(tgt) in the error path
to avoid double free of 'tgt' and move put_device(&tgt->dev) after the
removed kfree(tgt) to avoid a use-after-free.

Fixes: 41320b18a0e0 ("scsi: snic: Fix possible memory leak if device_add() fails")
Signed-off-by: Zhu Wang <wangzhu9@huawei.com>
Link: https://lore.kernel.org/r/20230819083941.164365-1-wangzhu9@huawei.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-30 16:35:15 +02:00
..
2021-07-20 16:17:49 +02:00
2021-07-20 16:17:49 +02:00
2018-01-02 20:31:05 +01:00
2017-08-25 17:21:10 -04:00
2019-12-01 09:13:27 +01:00
2021-05-22 10:57:31 +02:00
2017-08-25 17:21:11 -04:00
2021-05-22 10:57:31 +02:00
2022-01-27 09:00:58 +01:00
2022-01-27 09:00:58 +01:00
2023-06-09 10:22:52 +02:00
2021-05-22 10:57:31 +02:00