lkml.org 
[lkml]   [2020]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/2] fs: avoid fdput() after failed fdget() in ksys_sync_file_range()
    Date
    Fix ksys_sync_file_range() to avoid fdput() after a failed fdget().
    fdput() doesn't do fput() on this file since FDPUT_FPUT isn't set
    in fd.flags. Fix it anyway since failed fdget() doesn't require
    a fdput().

    This was introdcued in a commit to add sync_file_range() helper.

    Fixes: 22f96b3808c1 ("fs: add sync_file_range() helper")
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    ---
    fs/sync.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    diff --git a/fs/sync.c b/fs/sync.c
    index 4d1ff010bc5a..faaff835ef12 100644
    --- a/fs/sync.c
    +++ b/fs/sync.c
    @@ -369,10 +369,11 @@ int ksys_sync_file_range(int fd, loff_t offset, loff_t nbytes,

    ret = -EBADF;
    f = fdget(fd);
    - if (f.file)
    + if (f.file) {
    ret = sync_file_range(f.file, offset, nbytes, flags);
    + fdput(f);
    + }

    - fdput(f);
    return ret;
    }

    --
    2.20.1
    \
     
     \ /
      Last update: 2020-05-08 01:57    [W:2.896 / U:0.288 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site