Files
android_kernel_xiaomi_sm8450/drivers/scsi
Yu Kuai c09cdf6eb8 scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate()
[ Upstream commit a13faca032acbf2699293587085293bdfaafc8ae ]

If alua_rtpg_queue() failed from alua_activate(), then 'qdata' is not
freed, which will cause following memleak:

unreferenced object 0xffff88810b2c6980 (size 32):
  comm "kworker/u16:2", pid 635322, jiffies 4355801099 (age 1216426.076s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    40 39 24 c1 ff ff ff ff 00 f8 ea 0a 81 88 ff ff  @9$.............
  backtrace:
    [<0000000098f3a26d>] alua_activate+0xb0/0x320
    [<000000003b529641>] scsi_dh_activate+0xb2/0x140
    [<000000007b296db3>] activate_path_work+0xc6/0xe0 [dm_multipath]
    [<000000007adc9ace>] process_one_work+0x3c5/0x730
    [<00000000c457a985>] worker_thread+0x93/0x650
    [<00000000cb80e628>] kthread+0x1ba/0x210
    [<00000000a1e61077>] ret_from_fork+0x22/0x30

Fix the problem by freeing 'qdata' in error path.

Fixes: 625fe857e4 ("scsi: scsi_dh_alua: Check scsi_device_get() return value")
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Link: https://lore.kernel.org/r/20230315062154.668812-1-yukuai1@huaweicloud.com
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-04-05 11:23:33 +02:00
..
2020-03-11 23:07:59 -04:00
2019-11-12 22:21:35 -05:00
2020-02-24 14:54:25 -05:00
2020-03-11 23:07:59 -04:00
2020-10-07 21:48:28 -04:00
2020-09-02 22:49:06 -04:00
2020-09-02 22:49:06 -04:00
2020-08-23 17:36:59 -05:00
2021-05-14 09:50:27 +02:00
2020-07-24 22:09:55 -04:00
2022-02-16 12:54:20 +01:00
2020-09-15 17:34:18 -04:00
2020-08-23 17:36:59 -05:00
2021-05-14 09:50:27 +02:00
2022-01-27 10:54:23 +01:00
2022-01-27 10:54:23 +01:00
2020-02-24 15:01:57 -05:00
2021-05-14 09:50:27 +02:00