|
Message-ID: <CALCETrUG2Smb-+SWKphnB_oMFakZn9AuJDa7WeahnN9hBoENTQ@mail.gmail.com> Date: Thu, 30 Mar 2017 12:10:44 -0700 From: Andy Lutomirski <luto@...capital.net> To: Djalal Harouni <tixxdz@...il.com> Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Andy Lutomirski <luto@...nel.org>, Alexey Gladkov <gladkov.alexey@...il.com>, Al Viro <viro@...iv.linux.org.uk>, "Eric W. Biederman" <ebiederm@...ssion.com>, Andrew Morton <akpm@...ux-foundation.org>, Linux API <linux-api@...r.kernel.org>, "Kirill A. Shutemov" <kirill@...temov.name>, Oleg Nesterov <oleg@...hat.com>, Pavel Emelyanov <xemul@...allels.com>, James Bottomley <James.Bottomley@...senpartnership.com>, Kees Cook <keescook@...omium.org>, Dongsu Park <dpark@...teo.net>, Ingo Molnar <mingo@...nel.org>, Michal Hocko <mhocko@...e.com>, Alexey Dobriyan <adobriyan@...il.com>, "kernel-hardening@...ts.openwall.com" <kernel-hardening@...ts.openwall.com>, LSM List <linux-security-module@...r.kernel.org> Subject: Re: [PATCH RFC 1/4] proc: add proc_fs_info struct to store proc options On Thu, Mar 30, 2017 at 8:22 AM, Djalal Harouni <tixxdz@...il.com> wrote: > This is a preparation patch that adds a proc_fs_info to be able to store > different procfs options. Right now some mount options are stored inside > the pid namespace which make multiple proc share the same mount options. > This patch will help also to fix this. > > Signed-off-by: Djalal Harouni <tixxdz@...il.com> > static struct dentry *proc_mount(struct file_system_type *fs_type, > int flags, const char *dev_name, void *data) > { > + int error; > + struct super_block *sb; > struct pid_namespace *ns; > + struct proc_fs_info *fs_info; > + > + if (!(flags & MS_KERNMOUNT) && !ns_capable(current_user_ns(), CAP_SYS_ADMIN)) > + return ERR_PTR(-EPERM); Why is this check needed? > diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h > index 2d2bf59..e1cb9c3 100644 > --- a/include/linux/proc_fs.h > +++ b/include/linux/proc_fs.h > @@ -6,11 +6,27 @@ > > #include <linux/types.h> > #include <linux/fs.h> > +#include <linux/refcount.h> > + > +enum { > + PROC_FS_V1 = 1, > + PROC_FS_V2 = 2, > +}; > + > +struct proc_fs_info { > + refcount_t users; > + struct pid_namespace *pid_ns; > + kgid_t pid_gid; > + int hide_pid; > + int version; > +}; What is version? Should this patch have just users and pid_ns and move the other stuff to patch 2?
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.