Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ee986d80 authored by Qiheng Lin's avatar Qiheng Lin Committed by Greg Kroah-Hartman
Browse files

s390/dasd: Fix potential memleak in dasd_eckd_init()



[ Upstream commit 460e9bed82e49db1b823dcb4e421783854d86c40 ]

`dasd_reserve_req` is allocated before `dasd_vol_info_req`, and it
also needs to be freed before the error returns, just like the other
cases in this function.

Fixes: 9e12e54c ("s390/dasd: Handle out-of-space constraint")
Signed-off-by: default avatarQiheng Lin <linqiheng@huawei.com>
Link: https://lore.kernel.org/r/20221208133809.16796-1-linqiheng@huawei.com


Signed-off-by: default avatarStefan Haberland <sth@linux.ibm.com>
Link: https://lore.kernel.org/r/20230210000253.1644903-3-sth@linux.ibm.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 8bc5a762
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -6763,8 +6763,10 @@ dasd_eckd_init(void)
		return -ENOMEM;
	dasd_vol_info_req = kmalloc(sizeof(*dasd_vol_info_req),
				    GFP_KERNEL | GFP_DMA);
	if (!dasd_vol_info_req)
	if (!dasd_vol_info_req) {
		kfree(dasd_reserve_req);
		return -ENOMEM;
	}
	pe_handler_worker = kmalloc(sizeof(*pe_handler_worker),
				    GFP_KERNEL | GFP_DMA);
	if (!pe_handler_worker) {