[RFC PATCH 2/3] add statmnt(2) syscall

Christian Brauner brauner at kernel.org
Mon Sep 18 14:24:55 UTC 2023


On Mon, Sep 18, 2023 at 04:14:02PM +0200, Miklos Szeredi wrote:
> On Mon, Sep 18, 2023 at 3:51 PM Christian Brauner <brauner at kernel.org> wrote:
> 
> > I really would prefer a properly typed struct and that's what everyone
> > was happy with in the session as well. So I would not like to change the
> > main parameters.
> 
> I completely  agree.  Just would like to understand this point:
> 
>   struct statmnt *statmnt(u64 mntid, u64 mask, unsigned int flags);
> 
> What's not properly typed about this interface?
> 
> I guess the answer is that it's not a syscall interface, which will
> have an added [void *buf, size_t bufsize], while the buffer sizing is
> done by a simple libc wrapper.
> 
> Do you think that's a problem?  If so, why?

Sorry, I think we just talked passed each other.
I didn't realize you were talking about a glibc wrapper.
I'm not so much concerned with that they can expose this in whathever
way they like. But we will have a lot of low-level userspace that will
directly use statmount() or not even have glibc like go and other
languages.

The system call should please have a proper struct like you had in your
first proposal. This is what I'm concerned about:

int statmount(u64 mnt_id,
              struct statmnt __user *st,
              size_t size,
              unsigned int flags)

instead of taking an void pointer.




More information about the Linux-security-module-archive mailing list