Greg Kroah-Hartman <gre...@linuxfoundation.org> writes: > On Tue, Sep 20, 2016 at 05:17:15PM +0100, Eric Engestrom wrote: >> Signed-off-by: Eric Engestrom <eric.engest...@imgtec.com> >> --- >> fs/debugfs/file.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c >> index 592059f..04eca0b 100644 >> --- a/fs/debugfs/file.c >> +++ b/fs/debugfs/file.c >> @@ -195,7 +195,6 @@ static int full_proxy_release(struct inode *inode, >> struct file *filp) >> const struct dentry *dentry = F_DENTRY(filp); >> const struct file_operations *real_fops = REAL_FOPS_DEREF(dentry); >> const struct file_operations *proxy_fops = filp->f_op; >> - int r = 0; >> >> /* >> * We must not protect this against removal races here: the >> @@ -204,7 +203,7 @@ static int full_proxy_release(struct inode *inode, >> struct file *filp) >> * ->i_private is still being meaningful here. >> */ >> if (real_fops->release) >> - r = real_fops->release(inode, filp); >> + real_fops->release(inode, filp); > > Hm, shouldn't we be propagating the result back up the call chain?
AFAICS, the VFS layer doesn't ever evaluate the return value of ->release(), c.f. __fput() in fs/file_table.c . OTOH, propagating that value back to caller also wouldn't hurt. But this would be a matter of taste/coding style. I can't remember whether I left this unused int r there on purpose. I doubt not. Eric, did you run your patch through sparse and Coccinelle? If so, Reviewed-by: Nicolai Stange <nicsta...@gmail.com> for the diff. (This patch lacks a description though.) Thanks, Nicolai