diff options
author | Stefan Haberland <sth@linux.ibm.com> | 2022-09-19 18:49:31 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-09-19 19:19:28 +0300 |
commit | db7ba07108a48c0f95b74fabbfd5d63e924f992d (patch) | |
tree | 3ba723850d796ba33f7680f38dbea2eba1340791 /block/genhd.c | |
parent | c4fa368466cc1b60bb92f867741488930ddd6034 (diff) | |
download | linux-db7ba07108a48c0f95b74fabbfd5d63e924f992d.tar.xz |
s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
Fix Oops in dasd_alias_get_start_dev() function caused by the pavgroup
pointer being NULL.
The pavgroup pointer is checked on the entrance of the function but
without the lcu->lock being held. Therefore there is a race window
between dasd_alias_get_start_dev() and _lcu_update() which sets
pavgroup to NULL with the lcu->lock held.
Fix by checking the pavgroup pointer with lcu->lock held.
Cc: <stable@vger.kernel.org> # 2.6.25+
Fixes: 8e09f21574ea ("[S390] dasd: add hyper PAV support to DASD device driver, part 1")
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Link: https://lore.kernel.org/r/20220919154931.4123002-2-sth@linux.ibm.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/genhd.c')
0 files changed, 0 insertions, 0 deletions