]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
md/raid10: fix wrong setting of max_corr_read_errors
authorLi Nan <linan122@huawei.com>
Mon, 22 May 2023 07:25:34 +0000 (15:25 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Jul 2023 17:39:22 +0000 (19:39 +0200)
[ Upstream commit f8b20a405428803bd9881881d8242c9d72c6b2b2 ]

There is no input check when echo md/max_read_errors and overflow might
occur. Add check of input number.

Fixes: 1e50915fe0bb ("raid: improve MD/raid10 handling of correctable read errors.")
Signed-off-by: Li Nan <linan122@huawei.com>
Reviewed-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Song Liu <song@kernel.org>
Link: https://lore.kernel.org/r/20230522072535.1523740-3-linan666@huaweicloud.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/md/md.c

index 61ad7dfe0e99a7710f621553ac0386d1e9f09cdc..2674cb1d699c0e7b7765ccebefe6255621aeb585 100644 (file)
@@ -4498,6 +4498,8 @@ max_corrected_read_errors_store(struct mddev *mddev, const char *buf, size_t len
        rv = kstrtouint(buf, 10, &n);
        if (rv < 0)
                return rv;
+       if (n > INT_MAX)
+               return -EINVAL;
        atomic_set(&mddev->max_corr_read_errors, n);
        return len;
 }