Re: [PATCH v9 9/8] proc: use named enums for better readability

Kees Cook
2020-03-25T19:16:40Z

On Wed, Mar 25, 2020 at 06:42:45PM +0100, Alexey Gladkov wrote:
> Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>

I love these kinds of cleanups. :)

Reviewed-by: Kees Cook <keescook@chromium.org>

-Kees

> ---
> fs/proc/base.c | 2 +-
> fs/proc/inode.c | 2 +-
> fs/proc/root.c | 4 ++--
> include/linux/proc_fs.h | 6 +++---
> include/uapi/linux/proc_fs.h | 2 +-
> 5 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/fs/proc/base.c b/fs/proc/base.c
> index a836979e42fe..608d60fb79fb 100644
> --- a/fs/proc/base.c
> +++ b/fs/proc/base.c
> @@ -699,7 +699,7 @@ int proc_setattr(struct dentry *dentry, struct iattr *attr)
> */
> static bool has_pid_permissions(struct proc_fs_info *fs_info,
> struct task_struct *task,
> - int hide_pid_min)
> + enum proc_hidepid hide_pid_min)
> {
> /*
> * If 'hidpid' mount option is set force a ptrace check,
> diff --git a/fs/proc/inode.c b/fs/proc/inode.c
> index a462fd111719..7870e0be0a1f 100644
> --- a/fs/proc/inode.c
> +++ b/fs/proc/inode.c
> @@ -165,7 +165,7 @@ void proc_invalidate_siblings_dcache(struct hlist_head *inodes, spinlock_t *lock
> deactivate_super(old_sb);
> }
>
> -static inline const char *hidepid2str(int v)
> +static inline const char *hidepid2str(enum proc_hidepid v)
> {
> switch (v) {
> case HIDEPID_OFF: return "off";
> diff --git a/fs/proc/root.c b/fs/proc/root.c
> index 42f3ee05c584..de7cee435621 100644
> --- a/fs/proc/root.c
> +++ b/fs/proc/root.c
> @@ -32,9 +32,9 @@
> struct proc_fs_context {
> struct proc_fs_info *fs_info;
> unsigned int mask;
> - int hidepid;
> + enum proc_hidepid hidepid;
> int gid;
> - int pidonly;
> + enum proc_pidonly pidonly;
> };
>
> enum proc_param {
> diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h
> index d259817ec913..b9f7ecd7f61f 100644
> --- a/include/linux/proc_fs.h
> +++ b/include/linux/proc_fs.h
> @@ -29,7 +29,7 @@ struct proc_ops {
> };
>
> /* definitions for proc mount option pidonly */
> -enum {
> +enum proc_pidonly {
> PROC_PIDONLY_OFF = 0,
> PROC_PIDONLY_ON = 1,
> };
> @@ -39,8 +39,8 @@ struct proc_fs_info {
> struct dentry *proc_self; /* For /proc/self */
> struct dentry *proc_thread_self; /* For /proc/thread-self */
> kgid_t pid_gid;
> - int hide_pid;
> - int pidonly;
> + enum proc_hidepid hide_pid;
> + enum proc_pidonly pidonly;
> };
>
> static inline struct proc_fs_info *proc_sb_info(struct super_block *sb)
> diff --git a/include/uapi/linux/proc_fs.h b/include/uapi/linux/proc_fs.h
> index dc6d717aa6ec..f5fe0e8dcfe4 100644
> --- a/include/uapi/linux/proc_fs.h
> +++ b/include/uapi/linux/proc_fs.h
> @@ -3,7 +3,7 @@
> #define _UAPI_PROC_FS_H
>
> /* definitions for hide_pid field */
> -enum {
> +enum proc_hidepid {
> HIDEPID_OFF = 0,
> HIDEPID_NO_ACCESS = 1,
> HIDEPID_INVISIBLE = 2,
> --
> 2.25.2
>

--
Kees Cook