[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20241013.055429-secure.silencer.dark.pedicure-WXX4G1ZqtUcP@cyphar.com>
Date: Sun, 13 Oct 2024 16:57:21 +1100
From: Aleksa Sarai <cyphar@...har.com>
To: Jonathan Corbet <corbet@....net>
Cc: luca.boccassi@...il.com, linux-fsdevel@...r.kernel.org,
christian@...uner.io, linux-kernel@...r.kernel.org, oleg@...hat.com
Subject: Re: [PATCH v9] pidfd: add ioctl to retrieve pid info
On 2024-10-09, Jonathan Corbet <corbet@....net> wrote:
> Aleksa Sarai <cyphar@...har.com> writes:
>
> >> In fairness, this is how statx works and statx does this to not require
> >> syscall retries to figure out what flags the current kernel supports and
> >> instead defers that to stx_mask.
> >>
> >> However, I think verifying the value is slightly less fragile -- as long
> >> as we get a cheap way for userspace to check what flags are supported
> >> (such as CHECK_FIELDS[1]). It would kind of suck if userspace would have
> >> to do 50 syscalls to figure out what request_mask values are valid.
> >
> > Unfortunately, we probably need to find a different way to do
> > CHECK_FIELDS for extensible-struct ioctls because CHECK_FIELDS uses the
> > top bit in a u64 but we can't set a size that large with ioctl
> > numbers...
>
> Add a separate PIDFD_GET_VALID_REQUEST_MASK ioctl()?
>
> But then I'm bad at designing interfaces...
This might be a good argument for making CHECK_FIELDS just (-size)
instead of setting the highest bit because that would work for any bit
size (though admittedly, doing (-size) for a 14-bit number would still
be a little weird).
>
> jon
--
Aleksa Sarai
Senior Software Engineer (Containers)
SUSE Linux GmbH
<https://www.cyphar.com/>
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists