diff options
| author | Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com> | 2026-05-01 13:46:50 +0200 |
|---|---|---|
| committer | Yu Kuai <yukuai@fygo.io> | 2026-05-31 19:09:18 +0800 |
| commit | 811545e0926d02a6a0b1a1258bb5544777c164d4 (patch) | |
| tree | 44b96e0a7366df5db87cb6b092f80e2a7d830e9a /include/linux/timerqueue_types.h | |
| parent | 7b15c24f805339a585cfe7d72f446b7e88b9bcc0 (diff) | |
md/raid1,raid10: fix error-path detection with md_cloned_bio()
Detect the error path using md_cloned_bio() instead of relying
on r1_bio in raid1 or r10_bio->read_slot in raid10, which may be
NULL or -1 after splitting and resubmitting a failed bio.
As a result, the error path may not be recognized and memory
allocations can incorrectly use GFP_NOIO instead of
(GFP_NOIO | __GFP_HIGH), which can lead to a deadlock under
memory pressure.
Fixes: 689389a06ce7 ("md/raid1: simplify handle_read_error().")
Fixes: 545250f24809 ("md/raid10: simplify handle_read_error()")
Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com>
Reviewed-by: Xiao Ni <xiao@kernel.org>
Link: https://patch.msgid.link/20260501114652.590037-3-abd.masalkhi@gmail.com
Signed-off-by: Yu Kuai <yukuai@fygo.io>
Diffstat (limited to 'include/linux/timerqueue_types.h')
0 files changed, 0 insertions, 0 deletions
