lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 032/879] cifs: fix potential double free during failed mount
    Date
    From: Ronnie Sahlberg <lsahlber@redhat.com>

    commit 8378a51e3f8140f60901fb27208cc7a6e47047b5 upstream.

    RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=2088799

    Cc: stable@vger.kernel.org
    Signed-off-by: Roberto Bergantinos <rbergant@redhat.com>
    Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/cifs/cifsfs.c | 10 ++++++----
    1 file changed, 6 insertions(+), 4 deletions(-)

    --- a/fs/cifs/cifsfs.c
    +++ b/fs/cifs/cifsfs.c
    @@ -836,7 +836,7 @@ cifs_smb3_do_mount(struct file_system_ty
    int flags, struct smb3_fs_context *old_ctx)
    {
    int rc;
    - struct super_block *sb;
    + struct super_block *sb = NULL;
    struct cifs_sb_info *cifs_sb = NULL;
    struct cifs_mnt_data mnt_data;
    struct dentry *root;
    @@ -932,9 +932,11 @@ out_super:
    return root;
    out:
    if (cifs_sb) {
    - kfree(cifs_sb->prepath);
    - smb3_cleanup_fs_context(cifs_sb->ctx);
    - kfree(cifs_sb);
    + if (!sb || IS_ERR(sb)) { /* otherwise kill_sb will handle */
    + kfree(cifs_sb->prepath);
    + smb3_cleanup_fs_context(cifs_sb->ctx);
    + kfree(cifs_sb);
    + }
    }
    return root;
    }

    \
     
     \ /
      Last update: 2022-06-07 23:59    [W:2.223 / U:0.860 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site