linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC] maple_tree: should get pivots boundary by type
@ 2022-11-10  7:24 Wei Yang
  2022-11-10 16:14 ` Liam Howlett
  0 siblings, 1 reply; 4+ messages in thread
From: Wei Yang @ 2022-11-10  7:24 UTC (permalink / raw)
  To: Liam.Howlett; +Cc: linux-mm, linux-kernel, Wei Yang, Liam R . Howlett

If my understanding is correct, we should get pivots boundary by type.

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
CC: Liam R. Howlett <Liam.Howlett@Oracle.com>

---
* kernel build looks good
---
 lib/maple_tree.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index 73e2e6434e2f..2123d1930a9b 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -669,12 +669,13 @@ static inline unsigned long mte_pivot(const struct maple_enode *mn,
 				 unsigned char piv)
 {
 	struct maple_node *node = mte_to_node(mn);
+	enum maple_type type = mte_node_type(mn);
 
-	if (piv >= mt_pivots[piv]) {
+	if (piv >= mt_pivots[type]) {
 		WARN_ON(1);
 		return 0;
 	}
-	switch (mte_node_type(mn)) {
+	switch (type) {
 	case maple_arange_64:
 		return node->ma64.pivot[piv];
 	case maple_range_64:
-- 
2.33.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH RFC] maple_tree: should get pivots boundary by type
  2022-11-10  7:24 [PATCH RFC] maple_tree: should get pivots boundary by type Wei Yang
@ 2022-11-10 16:14 ` Liam Howlett
  2022-11-11  2:20   ` Wei Yang
  0 siblings, 1 reply; 4+ messages in thread
From: Liam Howlett @ 2022-11-10 16:14 UTC (permalink / raw)
  To: Wei Yang; +Cc: linux-mm, linux-kernel

* Wei Yang <richard.weiyang@gmail.com> [221110 02:25]:
> If my understanding is correct, we should get pivots boundary by type.
> 

Thank you, yes - you are correct.  This is a bug, and should have:

Fixes: 54a611b60590 (Maple Tree: add new data structure)

Please fix your commit message and add the fixes line and resend.

Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>

> Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
> CC: Liam R. Howlett <Liam.Howlett@Oracle.com>
> 
> ---
> * kernel build looks good
> ---
>  lib/maple_tree.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index 73e2e6434e2f..2123d1930a9b 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -669,12 +669,13 @@ static inline unsigned long mte_pivot(const struct maple_enode *mn,
>  				 unsigned char piv)
>  {
>  	struct maple_node *node = mte_to_node(mn);
> +	enum maple_type type = mte_node_type(mn);
>  
> -	if (piv >= mt_pivots[piv]) {
> +	if (piv >= mt_pivots[type]) {
>  		WARN_ON(1);
>  		return 0;
>  	}
> -	switch (mte_node_type(mn)) {
> +	switch (type) {
>  	case maple_arange_64:
>  		return node->ma64.pivot[piv];
>  	case maple_range_64:
> -- 
> 2.33.1
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH RFC] maple_tree: should get pivots boundary by type
  2022-11-10 16:14 ` Liam Howlett
@ 2022-11-11  2:20   ` Wei Yang
  2022-11-11 17:13     ` Liam Howlett
  0 siblings, 1 reply; 4+ messages in thread
From: Wei Yang @ 2022-11-11  2:20 UTC (permalink / raw)
  To: Liam Howlett; +Cc: Wei Yang, linux-mm, linux-kernel

On Thu, Nov 10, 2022 at 04:14:31PM +0000, Liam Howlett wrote:
>* Wei Yang <richard.weiyang@gmail.com> [221110 02:25]:
>> If my understanding is correct, we should get pivots boundary by type.
>> 
>
>Thank you, yes - you are correct.  This is a bug, and should have:

Thanks. I am curious why this doesn't trigger a problem yet?

From code, it seems we may access the out of boundary array.

>
>Fixes: 54a611b60590 (Maple Tree: add new data structure)
>
>Please fix your commit message and add the fixes line and resend.
>
>Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>
>

-- 
Wei Yang
Help you, Help me

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH RFC] maple_tree: should get pivots boundary by type
  2022-11-11  2:20   ` Wei Yang
@ 2022-11-11 17:13     ` Liam Howlett
  0 siblings, 0 replies; 4+ messages in thread
From: Liam Howlett @ 2022-11-11 17:13 UTC (permalink / raw)
  To: Wei Yang; +Cc: linux-mm, linux-kernel

* Wei Yang <richard.weiyang@gmail.com> [221110 21:20]:
> On Thu, Nov 10, 2022 at 04:14:31PM +0000, Liam Howlett wrote:
> >* Wei Yang <richard.weiyang@gmail.com> [221110 02:25]:
> >> If my understanding is correct, we should get pivots boundary by type.
> >> 
> >
> >Thank you, yes - you are correct.  This is a bug, and should have:
> 
> Thanks. I am curious why this doesn't trigger a problem yet?
> 
> From code, it seems we may access the out of boundary array.

yes, it would likely access the array out of bounds.  This code is not
used by the mm code right now.

> 
> >
> >Fixes: 54a611b60590 (Maple Tree: add new data structure)
> >
> >Please fix your commit message and add the fixes line and resend.
> >
> >Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>
> >
> 
> -- 
> Wei Yang
> Help you, Help me

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-11-11 17:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-10  7:24 [PATCH RFC] maple_tree: should get pivots boundary by type Wei Yang
2022-11-10 16:14 ` Liam Howlett
2022-11-11  2:20   ` Wei Yang
2022-11-11 17:13     ` Liam Howlett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).