[PATCH v4 3/5] maple_tree: not necessary to check index/last again
Liam R. Howlett
Liam.Howlett at oracle.com
Tue Oct 29 08:23:41 PDT 2024
* Wei Yang <richard.weiyang at gmail.com> [241018 22:37]:
> Before calling mas_new_root(), the range has been checked.
>
> Signed-off-by: Wei Yang <richard.weiyang at gmail.com>
> CC: Liam R. Howlett <Liam.Howlett at Oracle.com>
> CC: Sidhartha Kumar <sidhartha.kumar at oracle.com>
> CC: Lorenzo Stoakes <lorenzo.stoakes at oracle.com>
>
Reviewed-by: Liam R. Howlett <Liam.Howlett at Oracle.com>
> ---
> v4: add WARN_ON_ONCE() to check mis-usage.
> ---
> lib/maple_tree.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index 517ddf2950e6..2226e77c00cb 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -3662,7 +3662,9 @@ static inline void mas_new_root(struct ma_state *mas, void *entry)
> void __rcu **slots;
> unsigned long *pivots;
>
> - if (!entry && !mas->index && mas->last == ULONG_MAX) {
> + WARN_ON_ONCE(mas->index || mas->last != ULONG_MAX);
> +
> + if (!entry) {
> mas->depth = 0;
> mas_set_height(mas);
> rcu_assign_pointer(mas->tree->ma_root, entry);
> --
> 2.34.1
>
More information about the maple-tree
mailing list