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