Re: [RFC PATCH 2/3] add statmnt(2) syscall
From: Miklos Szeredi
Date: Mon Sep 18 2023 - 11:45:52 EST
On Mon, 18 Sept 2023 at 17:22, Christian Brauner <brauner@xxxxxxxxxx> wrote:
>
> > So to be clear about your proposal: .mnt_root and .mountpoint are
> > initialized by the caller to buffers that the kernel can copy paths
> > into?
>
> Yeah, u64 pointer to a buffer and a size (see e.g., @set_tid and
> @set_tid_size for struct clone_args, @log_buf and @log_size and other
> args in there).
>
> >
> > If there's an overflow (one of the buffers was too small) the syscall
> > returns -EOVERFLOW?
>
> Yeah, I mean we have to make some things their problem.
>
> To me that is an acceptable compromise.
Okay, so there are now (at least) two buffers, and on overflow the
caller cannot know which one got overflown. It can resize both, but
that doesn't make the caller any simpler to implement.
Also the interface is kind of weird in that some struct members are
out, some are in (the pointers and the lengths).
I'd prefer the single buffer interface, which has none of the above issues.
Thanks,
Miklos