Message ID | 20201226061503.20050-1-dinghao.liu@zju.edu.cn |
---|---|
State | Superseded |
Headers | show |
Series | [v2] scsi: scsi_debug: Fix memleak in scsi_debug_init | expand |
On 2020-12-26 1:15 a.m., Dinghao Liu wrote: > When sdeb_zbc_model does not match BLK_ZONED_NONE, > BLK_ZONED_HA or BLK_ZONED_HM, we should free sdebug_q_arr > to prevent memleak. Also there is no need to execute > sdebug_erase_store() on failure of sdeb_zbc_model_str(). > > Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> Acked-by: Douglas Gilbert <dgilbert@interlog.com> Thanks. > --- > > Changelog: > > v2: - Add missed assignment statement for ret. > --- > drivers/scsi/scsi_debug.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c > index 24c0f7ec0351..4a08c450b756 100644 > --- a/drivers/scsi/scsi_debug.c > +++ b/drivers/scsi/scsi_debug.c > @@ -6740,7 +6740,7 @@ static int __init scsi_debug_init(void) > k = sdeb_zbc_model_str(sdeb_zbc_model_s); > if (k < 0) { > ret = k; > - goto free_vm; > + goto free_q_arr; > } > sdeb_zbc_model = k; > switch (sdeb_zbc_model) { > @@ -6753,7 +6753,8 @@ static int __init scsi_debug_init(void) > break; > default: > pr_err("Invalid ZBC model\n"); > - return -EINVAL; > + ret = -EINVAL; > + goto free_q_arr; > } > } > if (sdeb_zbc_model != BLK_ZONED_NONE) { >
On Sat, 26 Dec 2020 14:15:03 +0800, Dinghao Liu wrote: > When sdeb_zbc_model does not match BLK_ZONED_NONE, > BLK_ZONED_HA or BLK_ZONED_HM, we should free sdebug_q_arr > to prevent memleak. Also there is no need to execute > sdebug_erase_store() on failure of sdeb_zbc_model_str(). Applied to 5.11/scsi-fixes, thanks! [1/1] scsi: scsi_debug: Fix memleak in scsi_debug_init https://git.kernel.org/mkp/scsi/c/3b01d7ea4dae -- Martin K. Petersen Oracle Linux Engineering
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c index 24c0f7ec0351..4a08c450b756 100644 --- a/drivers/scsi/scsi_debug.c +++ b/drivers/scsi/scsi_debug.c @@ -6740,7 +6740,7 @@ static int __init scsi_debug_init(void) k = sdeb_zbc_model_str(sdeb_zbc_model_s); if (k < 0) { ret = k; - goto free_vm; + goto free_q_arr; } sdeb_zbc_model = k; switch (sdeb_zbc_model) { @@ -6753,7 +6753,8 @@ static int __init scsi_debug_init(void) break; default: pr_err("Invalid ZBC model\n"); - return -EINVAL; + ret = -EINVAL; + goto free_q_arr; } } if (sdeb_zbc_model != BLK_ZONED_NONE) {
When sdeb_zbc_model does not match BLK_ZONED_NONE, BLK_ZONED_HA or BLK_ZONED_HM, we should free sdebug_q_arr to prevent memleak. Also there is no need to execute sdebug_erase_store() on failure of sdeb_zbc_model_str(). Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> --- Changelog: v2: - Add missed assignment statement for ret. --- drivers/scsi/scsi_debug.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)