On Fri, Dec 23, 2022 at 10:27:03AM +0100, Christoph Hellwig wrote: > VM_FLUSH_RESET_PERMS is just for use with vmalloc as it is tied to freeing > the underlying pages. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > mm/vmalloc.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 9e30f0b3920325..88a644cde9fb12 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -2849,6 +2849,9 @@ void *vmap(struct page **pages, unsigned int count, > > might_sleep(); > > + if (WARN_ON_ONCE(flags & VM_FLUSH_RESET_PERMS)) > + return NULL; > + Might it be worth adding a specific vmap mask that explicitly indicates what flags are permissible on vmap()? Then this could become e.g.:- if (WARN_ON_ONCE(flags & ~VM_VMAP_PERMITTED_MASK)) return NULL; And would be self-documenting as to why we are disallowing flags (i.e. they are not part of the permitted vmap mask).