[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Ype+08iXbbWghf3i@example.org>
Date: Wed, 1 Jun 2022 21:32:35 +0200
From: Alexey Gladkov <legion@...nel.org>
To: Matthew Wilcox <willy@...radead.org>
Cc: LKML <linux-kernel@...r.kernel.org>,
"Eric W . Biederman" <ebiederm@...ssion.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Christian Brauner <brauner@...nel.org>,
Iurii Zaikin <yzaikin@...gle.com>,
Kees Cook <keescook@...omium.org>,
Linux Containers <containers@...ts.linux.dev>,
linux-fsdevel@...r.kernel.org,
Luis Chamberlain <mcgrof@...nel.org>,
Vasily Averin <vvs@...tuozzo.com>
Subject: Re: [RFC PATCH 1/4] sysctl: API extension for handling sysctl
On Wed, Jun 01, 2022 at 08:19:14PM +0100, Matthew Wilcox wrote:
> On Wed, Jun 01, 2022 at 03:20:29PM +0200, Alexey Gladkov wrote:
> > +struct ctl_fops {
> > + int (*open) (struct ctl_context *, struct inode *, struct file *);
> > + int (*release) (struct ctl_context *, struct inode *, struct file *);
> > + ssize_t (*read) (struct ctl_context *, struct file *, char *, size_t *, loff_t *);
> > + ssize_t (*write) (struct ctl_context *, struct file *, char *, size_t *, loff_t *);
> > +};
>
> Why not pass the iocb in ->read and ->write? We're still regretting not
> doing that with file_operations.
Because buf and len can be modified in BPF_CGROUP_RUN_PROG_SYSCTL.
We need to pass the result of this hook to read/write callback.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/proc/proc_sysctl.c#n605
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/bpf/cgroup.c#n1441
--
Rgrds, legion
Powered by blists - more mailing lists