From: Pedro Falcato <pfalcato@suse.de>
To: Jeff Xu <jeffxu@chromium.org>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
Andrew Morton <akpm@linux-foundation.org>,
"Liam R . Howlett" <Liam.Howlett@oracle.com>,
David Hildenbrand <david@redhat.com>,
Vlastimil Babka <vbabka@suse.cz>, Jann Horn <jannh@google.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Kees Cook <kees@kernel.org>
Subject: Re: [PATCH v4 4/5] mm/mseal: simplify and rename VMA gap check
Date: Fri, 25 Jul 2025 20:32:40 +0100 [thread overview]
Message-ID: <bsyihkvtwxqofkccmfr2g3e7efhob7hzwcgup7jlaryvg7uqtc@qgtcv2i4amdo> (raw)
In-Reply-To: <CABi2SkVRmuRp459g0RBwyTbd5dACwe6AiHrpxYuPXj41MxHp+A@mail.gmail.com>
On Fri, Jul 25, 2025 at 11:09:13AM -0700, Jeff Xu wrote:
> Hi Lorenzo
>
> On Fri, Jul 25, 2025 at 10:43 AM Lorenzo Stoakes
> <lorenzo.stoakes@oracle.com> wrote:
> >
> > On Fri, Jul 25, 2025 at 10:30:08AM -0700, Jeff Xu wrote:
> > > Hi Lorenzo,
> > >
> > > On Fri, Jul 25, 2025 at 1:30 AM Lorenzo Stoakes
> > > <lorenzo.stoakes@oracle.com> wrote:
> > > >
> > > > The check_mm_seal() function is doing something general - checking whether
> > > > a range contains only VMAs (or rather that it does NOT contain any
> > > > unmapped regions).
> > > >
> > > > So rename this function to range_contains_unmapped().
> > > >
> > > Thanks for keeping the comments.
> >
> > You're welcome.
> >
> > >
> > > In the prior version of this patch, I requested that we keep the
> > > check_mm_seal() and its comments. And this version keeps the comments
> > > but removes the check_mm_seal() name.
> >
> > I didn't catch that being your request.
> >
> > >
> > > As I said, check_mm_seal() with its comments is a contract for
> > > entry-check for mseal(). My understanding is that you are going to
> > > move range_contains_unmapped() to vma.c. When that happens, mseal()
> > > will lose this entry-check contract.
> >
> > This is just bizarre.
> >
> > Code doesn't stop working if you put it in another function.
> >
> > And you're now reviewing me for stuff I haven't done? :P
> >
> > >
> > > Contact is a great way to hide implementation details. Could you
> > > please keep check_mm_seal() in mseal.c and create
> > > range_contains_unmapped() in vma.c. Then you can refactor as needed.
> >
> > Wait what?
> >
> > OK maybe now I see what you mean, you want a function that just wraps
> > range_contains_unmapped() with a comment explaining the 'contract'.
> >
> Yes. You can view it that way from an implementation point of view.
>
> Contract mainly serves as a way to help design and abstract the code.
>
What code? This is an extremely simple file. We don't need deep design
and abstractions here.
> > range_contains_unmapped() enforces your required contract and the comments
> > make it extremely explicit, so this is not a reasonable request, sorry.
>
> Technically, this contract belongs to mseal, but if you have strong
> opinions on this, that's fine, as long as range_contains_unmapped()
> doesn't accidentally remove those comments in the future, which I'm
> sure you won't.
>
As far as I'm concerned, mseal() has little to no contract - we still don't have
a solid definition of what mseal() is supposed to do, things are still fluctuating,
and there's no man page (and no one is going to look into random kernel comments
for this).
FTR: I entirely plan on axing this function in the near future (or will try to).
There's no valid reason for this to exist, and it's causing extra burden on the
implementation - besides serving as a poor example for future mmap-ish syscalls.
--
Pedro
next prev parent reply other threads:[~2025-07-25 19:32 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-25 8:29 [PATCH v4 0/5] mseal cleanups Lorenzo Stoakes
2025-07-25 8:29 ` [PATCH v4 1/5] mm/mseal: always define VM_SEALED Lorenzo Stoakes
2025-07-25 8:29 ` [PATCH v4 2/5] mm/mseal: update madvise() logic Lorenzo Stoakes
2025-07-25 17:28 ` Jeff Xu
2025-07-25 17:53 ` Lorenzo Stoakes
2025-07-25 18:41 ` Jeff Xu
2025-07-25 18:44 ` Lorenzo Stoakes
2025-07-25 8:29 ` [PATCH v4 3/5] mm/mseal: small cleanups Lorenzo Stoakes
2025-07-25 8:29 ` [PATCH v4 4/5] mm/mseal: simplify and rename VMA gap check Lorenzo Stoakes
2025-07-25 17:30 ` Jeff Xu
2025-07-25 17:43 ` Lorenzo Stoakes
2025-07-25 18:09 ` Jeff Xu
2025-07-25 18:15 ` Lorenzo Stoakes
2025-07-25 19:32 ` Pedro Falcato [this message]
2025-07-25 18:10 ` David Hildenbrand
2025-07-25 18:22 ` Lorenzo Stoakes
2025-07-25 18:26 ` Jeff Xu
2025-07-25 18:41 ` Lorenzo Stoakes
2025-07-25 19:34 ` Pedro Falcato
2025-07-25 8:29 ` [PATCH v4 5/5] mm/mseal: rework mseal apply logic Lorenzo Stoakes
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=bsyihkvtwxqofkccmfr2g3e7efhob7hzwcgup7jlaryvg7uqtc@qgtcv2i4amdo \
--to=pfalcato@suse.de \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=jannh@google.com \
--cc=jeffxu@chromium.org \
--cc=kees@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=vbabka@suse.cz \
/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