Commit b3054db
md/raid10: fix null ptr dereference in raid10_size()
commit 825711e upstream.
In raid10_run() if raid10_set_queue_limits() succeed, the return value
is set to zero, and if following procedures failed raid10_run() will
return zero while mddev->private is still NULL, causing null ptr
dereference in raid10_size().
Fix the problem by only overwrite the return value if
raid10_set_queue_limits() failed.
Fixes: 3d8466b ("md/raid10: use the atomic queue limit update APIs")
Cc: stable@vger.kernel.org
Reported-and-tested-by: ValdikSS <iam@valdikss.org.ru>
Closes: https://lore.kernel.org/all/0dd96820-fe52-4841-bc58-dbf14d6bfcc8@valdikss.org.ru/
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20241009014914.1682037-1-yukuai1@huaweicloud.com
Signed-off-by: Song Liu <song@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>1 parent 04d748d commit b3054db
1 file changed
Lines changed: 5 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4055 | 4055 | | |
4056 | 4056 | | |
4057 | 4057 | | |
4058 | | - | |
4059 | | - | |
| 4058 | + | |
| 4059 | + | |
| 4060 | + | |
| 4061 | + | |
4060 | 4062 | | |
| 4063 | + | |
4061 | 4064 | | |
4062 | 4065 | | |
4063 | 4066 | | |
| |||
0 commit comments