Re: [PATCH v10 09/69] mm: add VMA iterator

From: Matthew Wilcox
Date: Thu Jun 23 2022 - 13:29:58 EST


On Tue, Jun 21, 2022 at 11:10:09PM +0200, David Hildenbrand wrote:
> > +#define VMA_ITERATOR(name, mm, addr) \
> > + struct vma_iterator name = { \
> > + .mas = { \
> > + .tree = &mm->mm_mt, \
> > + .index = addr, \
> > + .node = MAS_START, \
> > + }, \
> > + }
> > +
>
> No __* and () macro magic?
>
> I'd have expected at least
>
> tree = &(__mm)->mm_mt,
> .index = (__addr),
>
> ;)

Fair, fair. Just testing that change now. I always forget to do those
things until they bite me.

> Reviewed-by: David Hildenbrand <david@xxxxxxxxxx>

Appreciate the review!

diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index acbd8d03e01e..8bcbffefdc02 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -686,11 +686,11 @@ struct vma_iterator {
struct ma_state mas;
};

-#define VMA_ITERATOR(name, mm, addr) \
+#define VMA_ITERATOR(name, _mm, _addr) \
struct vma_iterator name = { \
.mas = { \
- .tree = &mm->mm_mt, \
- .index = addr, \
+ .tree = &(_mm)->mm_mt, \
+ .index = (_addr), \
.node = MAS_START, \
}, \
}