Re: [PATCH] md/raid0: use kvzalloc/kvfree for strip_zone and devlist allocations
From: Yu Kuai
Date: Tue Apr 07 2026 - 01:06:47 EST
Hi,
在 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
Reported-by should be followed by Closes tag, applied tom md-7.1 with following tag:
Closes:[syzbot] [mm?] WARNING in create_strip_zones - syzbot <https://lore.kernel.org/all/69adaba8.a00a0220.b130.0005.GAE@xxxxxxxxxx/>
> Signed-off-by: Gregory Price<gourry@xxxxxxxxxx>
> ---
> drivers/md/raid0.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
--
Thansk,
Kuai