Stefan Haberland db7ba07108 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>
2022-09-19 10:19:28 -06:00
..
2022-08-04 16:19:15 -06:00
2022-08-04 16:19:15 -06:00
2022-06-28 06:30:26 -06:00
2021-10-20 08:10:41 -06:00
2021-12-04 08:58:51 -08:00
2021-09-07 13:38:42 +02:00
2022-06-28 06:33:15 -06:00
2022-02-02 07:49:59 -07:00