lkml.org 
[lkml]   [2023]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] ksmbd: fix possible memory leak in smb2_lock()
    Date
    argv needs to be free when setup_async_work fails or when the current
    process is woken up.

    Fixes: e2f34481b24d ("cifsd: add server-side procedures for SMB3")
    Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
    ---
    fs/ksmbd/smb2pdu.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c
    index d681f91947d9..5b7668c04f76 100644
    --- a/fs/ksmbd/smb2pdu.c
    +++ b/fs/ksmbd/smb2pdu.c
    @@ -7050,6 +7050,7 @@ int smb2_lock(struct ksmbd_work *work)
    smb2_remove_blocked_lock,
    argv);
    if (rc) {
    + kfree(argv);
    err = -ENOMEM;
    goto out;
    }
    @@ -7061,6 +7062,8 @@ int smb2_lock(struct ksmbd_work *work)

    ksmbd_vfs_posix_lock_wait(flock);

    + work->cancel_fn = NULL;
    + kfree(argv);
    if (work->state != KSMBD_WORK_ACTIVE) {
    list_del(&smb_lock->llist);
    spin_lock(&work->conn->llist_lock);
    --
    2.34.1
    \
     
     \ /
      Last update: 2023-03-27 00:04    [W:3.890 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site