[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202004031658.8D0C048E3@keescook>
Date: Fri, 3 Apr 2020 16:59:23 -0700
From: Kees Cook <keescook@...omium.org>
To: "Eric W. Biederman" <ebiederm@...ssion.com>
Cc: Alexey Gladkov <gladkov.alexey@...il.com>,
LKML <linux-kernel@...r.kernel.org>,
Kernel Hardening <kernel-hardening@...ts.openwall.com>,
Linux API <linux-api@...r.kernel.org>,
Linux FS Devel <linux-fsdevel@...r.kernel.org>,
Linux Security Module <linux-security-module@...r.kernel.org>,
Akinobu Mita <akinobu.mita@...il.com>,
Alexander Viro <viro@...iv.linux.org.uk>,
Alexey Dobriyan <adobriyan@...il.com>,
Alexey Gladkov <legion@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Andy Lutomirski <luto@...nel.org>,
Daniel Micay <danielmicay@...il.com>,
Djalal Harouni <tixxdz@...il.com>,
"Dmitry V . Levin" <ldv@...linux.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Ingo Molnar <mingo@...nel.org>,
"J . Bruce Fields" <bfields@...ldses.org>,
Jeff Layton <jlayton@...chiereds.net>,
Jonathan Corbet <corbet@....net>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Oleg Nesterov <oleg@...hat.com>
Subject: Re: [PATCH v10 7/9] proc: move hidepid values to uapi as they are
user interface to mount
On Thu, Apr 02, 2020 at 11:58:28AM -0500, Eric W. Biederman wrote:
>
> I will just say that I do not understand exporting this to the uapi
> headers. Why do we want to export the enumeration names?
>
> I understand that the values are uapi. This looks like it will make it
> difficult to make changes that rename enumeration values to make
> the code more readable.
>
> Given that this patchset goes immediately to using string enumerated
> values, I also don't understand the point of exporting
> HIDEPID_NOT_PTRACEABLE. I don't think we need to ever let
> people use the numeric value.
>
> My sense is that if we are switching to string values we should
> just leave the existing numeric values as backwards compatiblity
> and not do anything to make them easier to use.
Yeah, that's what I had suggested too. Let's not export this to UAPI.
-Kees
>
> Eric
>
>
> Alexey Gladkov <gladkov.alexey@...il.com> writes:
>
> > Suggested-by: Alexey Dobriyan <adobriyan@...il.com>
> > Reviewed-by: Alexey Dobriyan <adobriyan@...il.com>
> > Signed-off-by: Alexey Gladkov <gladkov.alexey@...il.com>
> > ---
> > include/linux/proc_fs.h | 9 +--------
> > include/uapi/linux/proc_fs.h | 13 +++++++++++++
> > 2 files changed, 14 insertions(+), 8 deletions(-)
> > create mode 100644 include/uapi/linux/proc_fs.h
> >
> > diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
> > index afd38cae2339..d259817ec913 100644
> > --- a/include/linux/proc_fs.h
> > +++ b/include/linux/proc_fs.h
> > @@ -7,6 +7,7 @@
> >
> > #include <linux/types.h>
> > #include <linux/fs.h>
> > +#include <uapi/linux/proc_fs.h>
> >
> > struct proc_dir_entry;
> > struct seq_file;
> > @@ -27,14 +28,6 @@ struct proc_ops {
> > unsigned long (*proc_get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
> > };
> >
> > -/* definitions for hide_pid field */
> > -enum {
> > - HIDEPID_OFF = 0,
> > - HIDEPID_NO_ACCESS = 1,
> > - HIDEPID_INVISIBLE = 2,
> > - HIDEPID_NOT_PTRACEABLE = 4, /* Limit pids to only ptraceable pids */
> > -};
> > -
> > /* definitions for proc mount option pidonly */
> > enum {
> > PROC_PIDONLY_OFF = 0,
> > diff --git a/include/uapi/linux/proc_fs.h b/include/uapi/linux/proc_fs.h
> > new file mode 100644
> > index 000000000000..dc6d717aa6ec
> > --- /dev/null
> > +++ b/include/uapi/linux/proc_fs.h
> > @@ -0,0 +1,13 @@
> > +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> > +#ifndef _UAPI_PROC_FS_H
> > +#define _UAPI_PROC_FS_H
> > +
> > +/* definitions for hide_pid field */
> > +enum {
> > + HIDEPID_OFF = 0,
> > + HIDEPID_NO_ACCESS = 1,
> > + HIDEPID_INVISIBLE = 2,
> > + HIDEPID_NOT_PTRACEABLE = 4,
> > +};
> > +
> > +#endif
--
Kees Cook
Powered by blists - more mailing lists