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

Reply via email to