FAILED: patch "[PATCH] dm raid: fix KASAN warning in raid5_remove_disk" failed to apply to 4.9-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 1ebc2cec0b7dd8dad0812449110803bd875ac816 Mon Sep 17 00:00:00 2001
From: Mikulas Patocka <[email protected]>
Date: Wed, 29 Jun 2022 13:40:01 -0400
Subject: [PATCH] dm raid: fix KASAN warning in raid5_remove_disk
There's a KASAN warning in raid5_remove_disk when running the LVM testsuite. We fix this warning by verifying that the "number" variable is within limits.
Signed-off-by Mikulas Patocka <[email protected]>
Signed-off-by Mike Snitzer <[email protected]>
drivers/md/raid5.c +4 -1
@@ -7933,7 +7933,7 @@ static int raid5_remove_disk(struct mddev *mddev, struct md_rdev *rdev)int err =0 ;int number = rdev->raid_disk;struct md_rdev __rcu **rdevp; -struct disk_info *p = conf->disks + number; +struct disk_info *p;struct md_rdev *tmp;print_raid5_conf (conf);
@@ -7952,6 +7952,9 @@ static int raid5_remove_disk(struct mddev *mddev, struct md_rdev *rdev)log_exit (conf);return 0 ; } +if (unlikely (number >= conf->pool_size)) +return 0 ; + p = conf->disks + number;if (rdev ==rcu_access_pointer (p->rdev)) rdevp = &p->rdev;else if (rdev ==rcu_access_pointer (p->replacement))