linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] maple_tree: Make mas_prealloc() error checking more generic
@ 2022-06-15 17:42 Liam Howlett
  2022-06-21  9:09 ` David Hildenbrand
  0 siblings, 1 reply; 4+ messages in thread
From: Liam Howlett @ 2022-06-15 17:42 UTC (permalink / raw)
  To: maple-tree, linux-mm, linux-kernel, Andrew Morton

Return the error regardless of what it is.  This is a safer option.

Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
---
 lib/maple_tree.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/maple_tree.c b/lib/maple_tree.c
index f413b6f0da2b..89ff5ef7ee28 100644
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -5670,16 +5670,15 @@ void mas_store_prealloc(struct ma_state *mas, void *entry)
  */
 int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp)
 {
-
 	mas_set_alloc_req(mas, 1 + mas_mt_height(mas) * 3);
 	mas_alloc_nodes(mas, gfp);
-	if (likely(mas->node != MA_ERROR(-ENOMEM)))
+	if (likely(!mas_is_err(mas)))
 		return 0;
 
 	mas_set_alloc_req(mas, 0);
 	mas_destroy(mas);
 	mas->node = MAS_START;
-	return -ENOMEM;
+	return xa_err(mas->node);
 }
 
 /*
-- 
2.35.1

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

* Re: [PATCH] maple_tree: Make mas_prealloc() error checking more generic
  2022-06-15 17:42 [PATCH] maple_tree: Make mas_prealloc() error checking more generic Liam Howlett
@ 2022-06-21  9:09 ` David Hildenbrand
  2022-06-21 13:22   ` Liam Howlett
  0 siblings, 1 reply; 4+ messages in thread
From: David Hildenbrand @ 2022-06-21  9:09 UTC (permalink / raw)
  To: Liam Howlett, maple-tree, linux-mm, linux-kernel, Andrew Morton

On 15.06.22 19:42, Liam Howlett wrote:
> Return the error regardless of what it is.  This is a safer option.
> 
> Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
> ---
>  lib/maple_tree.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> index f413b6f0da2b..89ff5ef7ee28 100644
> --- a/lib/maple_tree.c
> +++ b/lib/maple_tree.c
> @@ -5670,16 +5670,15 @@ void mas_store_prealloc(struct ma_state *mas, void *entry)
>   */
>  int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp)
>  {
> -
>  	mas_set_alloc_req(mas, 1 + mas_mt_height(mas) * 3);
>  	mas_alloc_nodes(mas, gfp);
> -	if (likely(mas->node != MA_ERROR(-ENOMEM)))
> +	if (likely(!mas_is_err(mas)))
>  		return 0;
>  
>  	mas_set_alloc_req(mas, 0);
>  	mas_destroy(mas);
>  	mas->node = MAS_START;
> -	return -ENOMEM;
> +	return xa_err(mas->node);
>  }
>  
>  /*

Liam, (as asked privately before, I was just too busy to respond :) )
once all known issues are fixed, can we have a new version posted to
ease review? That would make my life easier to see what needs review and
in which order patches apply. Thanks!

-- 
Thanks,

David / dhildenb


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

* Re: [PATCH] maple_tree: Make mas_prealloc() error checking more generic
  2022-06-21  9:09 ` David Hildenbrand
@ 2022-06-21 13:22   ` Liam Howlett
  2022-06-21 20:38     ` Andrew Morton
  0 siblings, 1 reply; 4+ messages in thread
From: Liam Howlett @ 2022-06-21 13:22 UTC (permalink / raw)
  To: David Hildenbrand; +Cc: maple-tree, linux-mm, linux-kernel, Andrew Morton

* David Hildenbrand <david@redhat.com> [220621 05:09]:
> On 15.06.22 19:42, Liam Howlett wrote:
> > Return the error regardless of what it is.  This is a safer option.
> > 
> > Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
> > ---
> >  lib/maple_tree.c | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> > index f413b6f0da2b..89ff5ef7ee28 100644
> > --- a/lib/maple_tree.c
> > +++ b/lib/maple_tree.c
> > @@ -5670,16 +5670,15 @@ void mas_store_prealloc(struct ma_state *mas, void *entry)
> >   */
> >  int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp)
> >  {
> > -
> >  	mas_set_alloc_req(mas, 1 + mas_mt_height(mas) * 3);
> >  	mas_alloc_nodes(mas, gfp);
> > -	if (likely(mas->node != MA_ERROR(-ENOMEM)))
> > +	if (likely(!mas_is_err(mas)))
> >  		return 0;
> >  
> >  	mas_set_alloc_req(mas, 0);
> >  	mas_destroy(mas);
> >  	mas->node = MAS_START;
> > -	return -ENOMEM;
> > +	return xa_err(mas->node);
> >  }
> >  
> >  /*
> 
> Liam, (as asked privately before, I was just too busy to respond :) )
> once all known issues are fixed, can we have a new version posted to
> ease review? That would make my life easier to see what needs review and
> in which order patches apply. Thanks!
> 


Yes.  Thanks for asking.

Andrew didn't want to lose the comments so maybe I'll squash the fixes
into a branch and send that out as a response to v9 if that works?

Cheers,
Liam

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

* Re: [PATCH] maple_tree: Make mas_prealloc() error checking more generic
  2022-06-21 13:22   ` Liam Howlett
@ 2022-06-21 20:38     ` Andrew Morton
  0 siblings, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2022-06-21 20:38 UTC (permalink / raw)
  To: Liam Howlett; +Cc: David Hildenbrand, maple-tree, linux-mm, linux-kernel

On Tue, 21 Jun 2022 13:22:59 +0000 Liam Howlett <liam.howlett@oracle.com> wrote:

> * David Hildenbrand <david@redhat.com> [220621 05:09]:
> > On 15.06.22 19:42, Liam Howlett wrote:
> > > Return the error regardless of what it is.  This is a safer option.
> > > 
> > > Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
> > > ---
> > >  lib/maple_tree.c | 5 ++---
> > >  1 file changed, 2 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/lib/maple_tree.c b/lib/maple_tree.c
> > > index f413b6f0da2b..89ff5ef7ee28 100644
> > > --- a/lib/maple_tree.c
> > > +++ b/lib/maple_tree.c
> > > @@ -5670,16 +5670,15 @@ void mas_store_prealloc(struct ma_state *mas, void *entry)
> > >   */
> > >  int mas_preallocate(struct ma_state *mas, void *entry, gfp_t gfp)
> > >  {
> > > -
> > >  	mas_set_alloc_req(mas, 1 + mas_mt_height(mas) * 3);
> > >  	mas_alloc_nodes(mas, gfp);
> > > -	if (likely(mas->node != MA_ERROR(-ENOMEM)))
> > > +	if (likely(!mas_is_err(mas)))
> > >  		return 0;
> > >  
> > >  	mas_set_alloc_req(mas, 0);
> > >  	mas_destroy(mas);
> > >  	mas->node = MAS_START;
> > > -	return -ENOMEM;
> > > +	return xa_err(mas->node);
> > >  }
> > >  
> > >  /*
> > 
> > Liam, (as asked privately before, I was just too busy to respond :) )
> > once all known issues are fixed, can we have a new version posted to
> > ease review? That would make my life easier to see what needs review and
> > in which order patches apply. Thanks!
> > 
> 
> 
> Yes.  Thanks for asking.
> 
> Andrew didn't want to lose the comments so maybe I'll squash the fixes
> into a branch and send that out as a response to v9 if that works?

I guess it's time for a new series - things are getting a little
straggly:

maple-tree-add-new-data-structure-fix.patch
maple-tree-add-new-data-structure-fix-2.patch
maple-tree-add-new-data-structure-fix-3.patch
maple-tree-add-new-data-structure-fix-4.patch
maple-tree-add-new-data-structure-fix-5.patch
maple-tree-add-new-data-structure-fix-6.patch
maple-tree-add-new-data-structure-fix-7.patch
maple-tree-add-new-data-structure-fix-8.patch
maple-tree-add-new-data-structure-fix-8-fix.patch
maple-tree-add-new-data-structure-fix-9.patch
maple-tree-add-new-data-structure-fix-10.patch
lib-test_maple_tree-add-testing-for-maple-tree-fix.patch
lib-test_maple_tree-add-testing-for-maple-tree-fix-2.patch
mm-start-tracking-vmas-with-maple-tree-fix.patch
mm-start-tracking-vmas-with-maple-tree-fix-2.patch
damon-convert-__damon_va_three_regions-to-use-the-vma-iterator-fix.patch
mm-mmap-use-advanced-maple-tree-api-for-mmap_region-fix.patch
mm-mmap-use-advanced-maple-tree-api-for-mmap_region-fix-checkpatch-fixes.patch
mm-mmap-use-advanced-maple-tree-api-for-mmap_region-fix-2.patch
mm-mmap-use-advanced-maple-tree-api-for-mmap_region-fix-3.patch
mm-mmap-change-do_brk_munmap-to-use-do_mas_align_munmap-fix.patch
userfaultfd-use-maple-tree-iterator-to-iterate-vmas-fix.patch
nommu-remove-uses-of-vma-linked-list-fix.patch
nommu-remove-uses-of-vma-linked-list-fix-fix.patch
mm-remove-the-vma-linked-list-fix.patch
mm-remove-the-vma-linked-list-fix-fix.patch
mm-remove-the-vma-linked-list-fix-fix-fix.patch
mm-remove-the-vma-linked-list-fix-4.patch

So please send when convenient and I'll check that it matches what I
presently have.


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

end of thread, other threads:[~2022-06-21 20:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-15 17:42 [PATCH] maple_tree: Make mas_prealloc() error checking more generic Liam Howlett
2022-06-21  9:09 ` David Hildenbrand
2022-06-21 13:22   ` Liam Howlett
2022-06-21 20:38     ` Andrew Morton

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).