[RFC PATCH v6.6] maple_tree: Fix MA_STATE_PREALLOC flag in mas_preallocate()
Liam R. Howlett
Liam.Howlett at oracle.com
Wed May 7 08:50:36 PDT 2025
* Liam R. Howlett <Liam.Howlett at oracle.com> [250428 21:48]:
> Temporarily clear the preallocation flag when explicitly requesting
> allocations. Pre-existing allocations are already counted against the
> request through mas_node_count_gfp(), but the allocations will not
> happen if the MA_STATE_PREALLOC flag is set. This flag is meant to
> avoid re-allocating in bulk allocation mode, and to detect issues with
> preallocation calculations.
>
> The MA_STATE_PREALLOC flag should also always be set on zero allocations
> so that detection of underflow allocations will print a WARN_ON() during
> consumption.
>
> User visible effect of this flaw is a WARN_ON() followed by a null
> pointer dereference when subsequent requests for larger number of nodes
> is ignored, such as the vma merge retry in mmap_region() caused by
> drivers altering the vma flags.
>
> Reported-by: Zhaoyang Huang <zhaoyang.huang at unisoc.com>
> Reported-by: Hailong Liu <hailong.liu at oppo.com>
> Fixes: 54a611b605901 ("Maple Tree: add new data structure")
> Link: https://lore.kernel.org/all/1652f7eb-a51b-4fee-8058-c73af63bacd1@oppo.com/
> Link: https://lore.kernel.org/all/20250428184058.1416274-1-Liam.Howlett@oracle.com/
> Cc: Lorenzo Stoakes <lorenzo.stoakes at oracle.com>
> Cc: Suren Baghdasaryan <surenb at google.com>
> Cc: Hailong Liu <hailong.liu at oppo.com>
> Cc: zhangpeng.00 at bytedance.com <zhangpeng.00 at bytedance.com>
> Cc: Steve Kang <Steve.Kang at unisoc.com>
> Cc: Matthew Wilcox <willy at infradead.org>
> Cc: Sidhartha Kumar <sidhartha.kumar at oracle.com>
> Signed-off-by: Liam R. Howlett <Liam.Howlett at oracle.com>
...
I have a version of this for mm-new and I'd like to send it out. Once
this is upstream, it will be backported to the stable kernels with
something that looks a lot like what I sent out here.
Did this fix the issue in the longer running tests?
Thanks,
Liam
More information about the maple-tree
mailing list