On Tue, Feb 27, 2018 at 2:43 PM, Danilo Krummrich <danilokrummrich@xxxxxxxxxxxxx> wrote: > proc_sys_link_fill_cache() does not need to check whether we're > called for a link - it's already done by scan(). > > Signed-off-by: Danilo Krummrich <danilokrummrich@xxxxxxxxxxxxx> > --- > fs/proc/proc_sysctl.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c > index a0b6c647835e..7e7d9facb842 100644 > --- a/fs/proc/proc_sysctl.c > +++ b/fs/proc/proc_sysctl.c > @@ -707,17 +707,16 @@ static bool proc_sys_link_fill_cache(struct file *file, > struct ctl_table *table) > { > bool ret = true; > + int err = 0; > head = sysctl_head_grab(head); > > if (IS_ERR(head)) > return false; > > - if (S_ISLNK(table->mode)) { > - /* It is not an error if we can not follow the link ignore it */ > - int err = sysctl_follow_link(&head, &table); > - if (err) > - goto out; > - } > + /* It is not an error if we can not follow the link ignore it */ > + sysctl_follow_link(&head, &table); Shouldn't this be err = sysctl_follow_link... ? Otherwise I don't see where err is used. -Kees > + if (err) > + goto out; > > ret = proc_sys_fill_cache(file, ctx, head, table); > out: > -- > 2.14.1 > -- Kees Cook Pixel Security