2021-03-20 15:49:57

by Alexey Dobriyan

[permalink] [raw]
Subject: [PATCH] proc: delete redundant subset=pid check

Two checks in lookup and readdir code should be enough to not have
third check in open code.

Can't open what can't be looked up?

Signed-off-by: Alexey Dobriyan <[email protected]>
---

fs/proc/inode.c | 4 ----
1 file changed, 4 deletions(-)

--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@ -483,7 +483,6 @@ proc_reg_get_unmapped_area(struct file *file, unsigned long orig_addr,

static int proc_reg_open(struct inode *inode, struct file *file)
{
- struct proc_fs_info *fs_info = proc_sb_info(inode->i_sb);
struct proc_dir_entry *pde = PDE(inode);
int rv = 0;
typeof_member(struct proc_ops, proc_open) open;
@@ -497,9 +496,6 @@ static int proc_reg_open(struct inode *inode, struct file *file)
return rv;
}

- if (fs_info->pidonly == PROC_PIDONLY_ON)
- return -ENOENT;
-
/*
* Ensure that
* 1) PDE's ->release hook will be called no matter what


2021-03-20 18:04:04

by Alexey Gladkov

[permalink] [raw]
Subject: Re: [PATCH] proc: delete redundant subset=pid check

On Sat, Mar 20, 2021 at 06:46:08PM +0300, Alexey Dobriyan wrote:
> Two checks in lookup and readdir code should be enough to not have
> third check in open code.
>
> Can't open what can't be looked up?

As far as I remember, I first added pidonly processing here and later then
I disabled lookup. Now this is unnecessary.

Acked-by: Alexey Gladkov <[email protected]>

> Signed-off-by: Alexey Dobriyan <[email protected]>
> ---
>
> fs/proc/inode.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> --- a/fs/proc/inode.c
> +++ b/fs/proc/inode.c
> @@ -483,7 +483,6 @@ proc_reg_get_unmapped_area(struct file *file, unsigned long orig_addr,
>
> static int proc_reg_open(struct inode *inode, struct file *file)
> {
> - struct proc_fs_info *fs_info = proc_sb_info(inode->i_sb);
> struct proc_dir_entry *pde = PDE(inode);
> int rv = 0;
> typeof_member(struct proc_ops, proc_open) open;
> @@ -497,9 +496,6 @@ static int proc_reg_open(struct inode *inode, struct file *file)
> return rv;
> }
>
> - if (fs_info->pidonly == PROC_PIDONLY_ON)
> - return -ENOENT;
> -
> /*
> * Ensure that
> * 1) PDE's ->release hook will be called no matter what
>

--
Rgrds, legion