2023-03-07 16:06:32

by Peng Zhang

[permalink] [raw]
Subject: [PATCH] maple_tree: Fix the error of mas->min/max in mas_skip_node()

The assignment of mas->min and mas->max is wrong. mas->min and mas->max
should represent the range of the current node. After mas_ascend()
returns, mas-min and mas->max already represent the range of the current
node, so we should delete these assignments of mas->min and mas->max.

Signed-off-by: Peng Zhang <[email protected]>
---
lib/maple_tree.c | 10 ----------
1 file changed, 10 deletions(-)

diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index f5bee48de569..d4ddf7f8adc7 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -5157,9 +5157,6 @@ static inline bool mas_rewind_node(struct ma_state *mas)
*/
static inline bool mas_skip_node(struct ma_state *mas)
{
- unsigned long *pivots;
- enum maple_type mt;
-
if (mas_is_err(mas))
return false;

@@ -5173,14 +5170,7 @@ static inline bool mas_skip_node(struct ma_state *mas)
mas_ascend(mas);
}
} while (mas->offset >= mas_data_end(mas));
-
- mt = mte_node_type(mas->node);
- pivots = ma_pivots(mas_mn(mas), mt);
- mas->min = pivots[mas->offset] + 1;
mas->offset++;
- if (mas->offset < mt_slots[mt])
- mas->max = pivots[mas->offset];
-
return true;
}

--
2.20.1



2023-03-07 16:25:15

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] maple_tree: Fix the error of mas->min/max in mas_skip_node()

On Wed, Mar 08, 2023 at 12:03:40AM +0800, Peng Zhang wrote:
> The assignment of mas->min and mas->max is wrong. mas->min and mas->max
> should represent the range of the current node. After mas_ascend()
> returns, mas-min and mas->max already represent the range of the current
> node, so we should delete these assignments of mas->min and mas->max.
>
> Signed-off-by: Peng Zhang <[email protected]>
> ---
> lib/maple_tree.c | 10 ----------
> 1 file changed, 10 deletions(-)
>
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index f5bee48de569..d4ddf7f8adc7 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -5157,9 +5157,6 @@ static inline bool mas_rewind_node(struct ma_state *mas)
> */
> static inline bool mas_skip_node(struct ma_state *mas)
> {
> - unsigned long *pivots;
> - enum maple_type mt;
> -
> if (mas_is_err(mas))
> return false;
>
> @@ -5173,14 +5170,7 @@ static inline bool mas_skip_node(struct ma_state *mas)
> mas_ascend(mas);
> }
> } while (mas->offset >= mas_data_end(mas));
> -
> - mt = mte_node_type(mas->node);
> - pivots = ma_pivots(mas_mn(mas), mt);
> - mas->min = pivots[mas->offset] + 1;
> mas->offset++;
> - if (mas->offset < mt_slots[mt])
> - mas->max = pivots[mas->offset];
> -
> return true;
> }
>
> --
> 2.20.1
>

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read:
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>

2023-03-09 01:55:58

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] maple_tree: Fix the error of mas->min/max in mas_skip_node()

On Wed, 8 Mar 2023 00:03:40 +0800 Peng Zhang <[email protected]> wrote:

> The assignment of mas->min and mas->max is wrong. mas->min and mas->max
> should represent the range of the current node. After mas_ascend()
> returns, mas-min and mas->max already represent the range of the current
> node, so we should delete these assignments of mas->min and mas->max.
>

Please fully describe the user-visible effects of the flaw, especially
when proposing a -stable backport.


2023-03-09 02:09:21

by Peng Zhang

[permalink] [raw]
Subject: Re: [PATCH] maple_tree: Fix the error of mas->min/max in mas_skip_node()


在 2023/3/9 09:55, Andrew Morton 写道:
> On Wed, 8 Mar 2023 00:03:40 +0800 Peng Zhang <[email protected]> wrote:
>
>> The assignment of mas->min and mas->max is wrong. mas->min and mas->max
>> should represent the range of the current node. After mas_ascend()
>> returns, mas-min and mas->max already represent the range of the current
>> node, so we should delete these assignments of mas->min and mas->max.
>>
> Please fully describe the user-visible effects of the flaw, especially
> when proposing a -stable backport.
>
The fixes made by this patch have been included in
https://lore.kernel.org/lkml/[email protected]/,
so please don't pay attention.