diff options
| author | Stefan Haberland <sth@linux.ibm.com> | 2019-12-19 09:43:51 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-01-12 12:17:22 +0100 |
| commit | 729a7f5e41f39973b3939733c8f88c56ebfca7a4 (patch) | |
| tree | ff19a3f1ecec8429c3351842852ba9b9b61cffd4 /block | |
| parent | 000d4f2fcf2c6a6f49e50cd02cf8022e1c0caf83 (diff) | |
s390/dasd: fix memleak in path handling error case
[ Upstream commit 00b39f698a4f1ee897227cace2e3937fc4412270 ]
If for whatever reason the dasd_eckd_check_characteristics() function
exits after at least some paths have their configuration data
allocated those data is never freed again. In the error case the
device->private pointer is set to NULL and dasd_eckd_uncheck_device()
will exit without freeing the path data because of this NULL pointer.
Fix by calling dasd_eckd_clear_conf_data() for error cases.
Also use dasd_eckd_clear_conf_data() in dasd_eckd_uncheck_device()
to avoid code duplication.
Reported-by: Qian Cai <cai@lca.pw>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions
