Re: [PATCH] md/raid0: use kvzalloc/kvfree for strip_zone and devlist allocations

From: Yu Kuai

Date: Fri Mar 20 2026 - 00:18:57 EST


在 2026/3/9 7:42, Gregory Price 写道:

> syzbot reported a WARNING at mm/page_alloc.c:__alloc_frozen_pages_noprof()
> triggered by create_strip_zones() in the RAID0 driver.
>
> When raid_disks is large, the allocation size exceeds MAX_PAGE_ORDER (4MB
> on x86), causing WARN_ON_ONCE_GFP(order > MAX_PAGE_ORDER).
>
> Convert the strip_zone and devlist allocations from kzalloc/kzalloc_objs to
> kvzalloc/kvzalloc_objs, which first attempts a contiguous allocation with
> __GFP_NOWARN and then falls back to vmalloc for large sizes. Convert the
> corresponding kfree calls to kvfree.
>
> Both arrays are pure metadata lookup tables (arrays of pointers and zone
> descriptors) accessed only via indexing, so they do not require physically
> contiguous memory.
>
> Reported-by:syzbot+924649752adf0d3ac9dd@xxxxxxxxxxxxxxxxxxxxxxxxx
> Signed-off-by: Gregory Price<gourry@xxxxxxxxxx>
> ---
> drivers/md/raid0.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)

Reviewed-by: Yu Kuai <yukuai@xxxxxxxxx>

--
Thansk,
Kuai