linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <clm@meta.com>
To: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Jarkko Sakkinen <jarkko@kernel.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>, <x86@kernel.org>,
	"H . Peter Anvin" <hpa@zytor.com>, Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Vishal Verma <vishal.l.verma@intel.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Tvrtko Ursulin <tursulin@ursulin.net>,
	Christian Koenig <christian.koenig@amd.com>,
	Huang Rui <ray.huang@amd.com>,
	Matthew Auld <matthew.auld@intel.com>,
	Matthew Brost <matthew.brost@intel.com>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
	Benjamin LaHaise <bcrl@kvack.org>, Gao Xiang <xiang@kernel.org>,
	Chao Yu <chao@kernel.org>, Yue Hu <zbestahu@gmail.com>,
	Jeffle Xu <jefflexu@linux.alibaba.com>,
	Sandeep Dhavale <dhavale@google.com>,
	Hongbo Li <lihongbo22@huawei.com>,
	Chunhai Guo <guochunhai@vivo.com>, Theodore Ts'o <tytso@mit.edu>,
	Andreas Dilger <adilger.kernel@dilger.ca>,
	Muchun Song <muchun.song@linux.dev>,
	Oscar Salvador <osalvador@suse.de>,
	David Hildenbrand <david@kernel.org>,
	Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	Mike Marshall <hubcap@omnibond.com>,
	Martin Brandenburg <martin@omnibond.com>,
	Tony Luck <tony.luck@intel.com>,
	Reinette Chatre <reinette.chatre@intel.com>,
	Dave Martin <Dave.Martin@arm.com>,
	James Morse <james.morse@arm.com>,
	Babu Moger <babu.moger@amd.com>, Carlos Maiolino <cem@kernel.org>,
	Damien Le Moal <dlemoal@kernel.org>,
	Naohiro Aota <naohiro.aota@wdc.com>,
	Johannes Thumshirn <jth@kernel.org>,
	Matthew Wilcox <willy@infradead.org>,
	"Liam R . Howlett" <Liam.Howlett@oracle.com>,
	Vlastimil Babka <vbabka@suse.cz>, Mike Rapoport <rppt@kernel.org>,
	Suren Baghdasaryan <surenb@google.com>,
	Michal Hocko <mhocko@suse.com>, Hugh Dickins <hughd@google.com>,
	Baolin Wang <baolin.wang@linux.alibaba.com>,
	Zi Yan <ziy@nvidia.com>, Nico Pache <npache@redhat.com>,
	Ryan Roberts <ryan.roberts@arm.com>, Dev Jain <dev.jain@arm.com>,
	Barry Song <baohua@kernel.org>, Lance Yang <lance.yang@linux.dev>,
	Jann Horn <jannh@google.com>, Pedro Falcato <pfalcato@suse.de>,
	David Howells <dhowells@redhat.com>,
	Paul Moore <paul@paul-moore.com>,
	James Morris <jmorris@namei.org>,
	"Serge E . Hallyn" <serge@hallyn.com>,
	Yury Norov <yury.norov@gmail.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	<linux-sgx@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<nvdimm@lists.linux.dev>, <linux-cxl@vger.kernel.org>,
	<dri-devel@lists.freedesktop.org>,
	<intel-gfx@lists.freedesktop.org>,
	<linux-fsdevel@vger.kernel.org>, <linux-aio@kvack.org>,
	<linux-erofs@lists.ozlabs.org>, <linux-ext4@vger.kernel.org>,
	<linux-mm@kvack.org>, <ntfs3@lists.linux.dev>,
	<devel@lists.orangefs.org>, <linux-xfs@vger.kernel.org>,
	<keyrings@vger.kernel.org>,
	<linux-security-module@vger.kernel.org>,
	Jason Gunthorpe <jgg@nvidia.com>
Subject: Re: [PATCH v2 07/13] mm: update secretmem to use VMA flags on mmap_prepare
Date: Wed, 28 Jan 2026 04:08:36 -0800	[thread overview]
Message-ID: <20260128121200.283932-1-clm@meta.com> (raw)
In-Reply-To: <a243a09b0a5d0581e963d696de1735f61f5b2075.1769097829.git.lorenzo.stoakes@oracle.com>

Lorenzo Stoakes <lorenzo.stoakes@oracle.com> wrote:
> This patch updates secretmem to use the new vma_flags_t type which will
> soon supersede vm_flags_t altogether.
> 
> In order to make this change we also have to update mlock_future_ok(), we
> replace the vm_flags_t parameter with a simple boolean is_vma_locked one,
> which also simplifies the invocation here.
> 
> This is laying the groundwork for eliminating the vm_flags_t in
> vm_area_desc and more broadly throughout the kernel.
> 

Hi everyone,

Running mm-new through AI review flagged this one:

> diff --git a/mm/mmap.c b/mm/mmap.c
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -225,12 +225,12 @@ static inline unsigned long round_hint_to_min(unsigned long hint)
>  	return hint;
>  }
>
> -bool mlock_future_ok(const struct mm_struct *mm, vm_flags_t vm_flags,
> -			unsigned long bytes)
> +bool mlock_future_ok(const struct mm_struct *mm, bool is_vma_locked,
> +		     unsigned long bytes)
>  {
>  	unsigned long locked_pages, limit_pages;
>
> -	if (!(vm_flags & VM_LOCKED) || capable(CAP_IPC_LOCK))
> +	if (!is_vma_locked || capable(CAP_IPC_LOCK))
>  		return true;

[ ... ]

> @@ -416,7 +416,7 @@
>  		if (!can_do_mlock())
>  			return -EPERM;
>
> -	if (!mlock_future_ok(mm, vm_flags, len))
> +	if (!mlock_future_ok(mm, vm_flags & VM_LOCKED, len))
>  		return -EAGAIN;

This looks correct - do_mmap() now extracts the VM_LOCKED bit from
vm_flags and passes that to mlock_future_ok().

However, it appears check_brk_limits() was not updated when
mlock_future_ok() changed its signature. The function at mm/mmap.c:111
still passes the raw def_flags value:

    return mlock_future_ok(current->mm, current->mm->def_flags, len)
        ? 0 : -EAGAIN;

When def_flags has any bit set, this converts to true, incorrectly
triggering mlock limit checks even when VM_LOCKED is not set. Should
this be passing (current->mm->def_flags & VM_LOCKED) instead?

[ ... ]

Additionally, the test stub at tools/testing/vma/vma_internal.h:1627
still has the old signature (mm, vm_flags_t vm_flags, bytes) while the
production code now uses (mm, bool is_vma_locked, bytes). This could
cause compilation issues or mask bugs in the test suite.




  reply	other threads:[~2026-01-28 12:13 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-22 16:06 [PATCH v2 00/13] mm: add bitmap VMA flag helpers and convert all mmap_prepare to use them Lorenzo Stoakes
2026-01-22 16:06 ` [PATCH v2 01/13] mm/vma: remove __private sparse decoration from vma_flags_t Lorenzo Stoakes
2026-02-06 17:02   ` Pedro Falcato
2026-02-09 18:38   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 02/13] mm: rename vma_flag_test/set_atomic() to vma_test/set_atomic_flag() Lorenzo Stoakes
2026-02-06 17:04   ` Pedro Falcato
2026-02-09 18:40   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 03/13] mm: add mk_vma_flags() bitmap flag macro helper Lorenzo Stoakes
2026-02-06 17:14   ` Pedro Falcato
2026-02-09 14:02     ` Lorenzo Stoakes
2026-02-09 18:44   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 04/13] tools: bitmap: add missing bitmap_[subset(), andnot()] Lorenzo Stoakes
2026-02-09 18:45   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 05/13] mm: add basic VMA flag operation helper functions Lorenzo Stoakes
2026-02-06 17:35   ` Pedro Falcato
2026-02-09 14:04     ` Lorenzo Stoakes
2026-02-09 18:53   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 06/13] mm: update hugetlbfs to use VMA flags on mmap_prepare Lorenzo Stoakes
2026-02-09 19:03   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 07/13] mm: update secretmem " Lorenzo Stoakes
2026-01-28 12:08   ` Chris Mason [this message]
2026-01-28 16:04     ` Lorenzo Stoakes
2026-01-28 16:44   ` Lorenzo Stoakes
2026-02-09 19:06   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 08/13] mm: update shmem_[kernel]_file_*() functions to use vma_flags_t Lorenzo Stoakes
2026-01-23  6:20   ` Baolin Wang
2026-01-23 12:30     ` Lorenzo Stoakes
2026-01-23  7:46   ` Darrick J. Wong
2026-01-23 12:26     ` Lorenzo Stoakes
2026-01-23 12:33   ` Lorenzo Stoakes
2026-01-25 14:50   ` Jarkko Sakkinen
2026-02-09 19:13   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 09/13] mm: update all remaining mmap_prepare users " Lorenzo Stoakes
2026-01-22 23:31   ` Damien Le Moal
2026-01-23  7:47   ` Darrick J. Wong
2026-02-06 17:46   ` Pedro Falcato
2026-02-06 19:31     ` Andrew Morton
2026-02-06 20:01       ` Lorenzo Stoakes
2026-02-09 19:27         ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 10/13] mm: make vm_area_desc utilise vma_flags_t only Lorenzo Stoakes
2026-02-06 17:49   ` Pedro Falcato
2026-02-09 19:32   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 11/13] tools/testing/vma: separate VMA userland tests into separate files Lorenzo Stoakes
2026-02-09 19:58   ` Liam R. Howlett
2026-02-10 17:44     ` Lorenzo Stoakes
2026-01-22 16:06 ` [PATCH v2 12/13] tools/testing/vma: separate out vma_internal.h into logical headers Lorenzo Stoakes
2026-01-27 10:03   ` Lorenzo Stoakes
2026-02-09 20:18   ` Liam R. Howlett
2026-01-22 16:06 ` [PATCH v2 13/13] tools/testing/vma: add VMA userland tests for VMA flag functions Lorenzo Stoakes
2026-02-09 20:23   ` Liam R. Howlett
2026-01-22 16:56 ` [PATCH v2 00/13] mm: add bitmap VMA flag helpers and convert all mmap_prepare to use them Andrew Morton
2026-01-27 13:53 ` Yury Norov
2026-01-27 14:40   ` Lorenzo Stoakes
2026-01-27 21:36     ` Yury Norov
2026-01-28  9:33       ` Lorenzo Stoakes
2026-01-28 15:50         ` Pedro Falcato

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260128121200.283932-1-clm@meta.com \
    --to=clm@meta.com \
    --cc=Dave.Martin@arm.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=airlied@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=almaz.alexandrovich@paragon-software.com \
    --cc=arnd@arndb.de \
    --cc=babu.moger@amd.com \
    --cc=baohua@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=bcrl@kvack.org \
    --cc=bp@alien8.de \
    --cc=brauner@kernel.org \
    --cc=cem@kernel.org \
    --cc=chao@kernel.org \
    --cc=christian.koenig@amd.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=dave.jiang@intel.com \
    --cc=david@kernel.org \
    --cc=dev.jain@arm.com \
    --cc=devel@lists.orangefs.org \
    --cc=dhavale@google.com \
    --cc=dhowells@redhat.com \
    --cc=dlemoal@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=guochunhai@vivo.com \
    --cc=hpa@zytor.com \
    --cc=hubcap@omnibond.com \
    --cc=hughd@google.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jack@suse.cz \
    --cc=james.morse@arm.com \
    --cc=jani.nikula@linux.intel.com \
    --cc=jannh@google.com \
    --cc=jarkko@kernel.org \
    --cc=jefflexu@linux.alibaba.com \
    --cc=jgg@nvidia.com \
    --cc=jmorris@namei.org \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=jth@kernel.org \
    --cc=keyrings@vger.kernel.org \
    --cc=lance.yang@linux.dev \
    --cc=lihongbo22@huawei.com \
    --cc=linux-aio@kvack.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-erofs@lists.ozlabs.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux-sgx@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=martin@omnibond.com \
    --cc=matthew.auld@intel.com \
    --cc=matthew.brost@intel.com \
    --cc=mhocko@suse.com \
    --cc=mingo@redhat.com \
    --cc=mripard@kernel.org \
    --cc=muchun.song@linux.dev \
    --cc=naohiro.aota@wdc.com \
    --cc=npache@redhat.com \
    --cc=ntfs3@lists.linux.dev \
    --cc=nvdimm@lists.linux.dev \
    --cc=osalvador@suse.de \
    --cc=paul@paul-moore.com \
    --cc=pfalcato@suse.de \
    --cc=ray.huang@amd.com \
    --cc=reinette.chatre@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=rppt@kernel.org \
    --cc=ryan.roberts@arm.com \
    --cc=serge@hallyn.com \
    --cc=simona@ffwll.ch \
    --cc=surenb@google.com \
    --cc=tglx@kernel.org \
    --cc=tony.luck@intel.com \
    --cc=tursulin@ursulin.net \
    --cc=tytso@mit.edu \
    --cc=tzimmermann@suse.de \
    --cc=vbabka@suse.cz \
    --cc=viro@zeniv.linux.org.uk \
    --cc=vishal.l.verma@intel.com \
    --cc=willy@infradead.org \
    --cc=x86@kernel.org \
    --cc=xiang@kernel.org \
    --cc=yury.norov@gmail.com \
    --cc=zbestahu@gmail.com \
    --cc=ziy@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox