• Hobin Woo's avatar
    ksmbd: discard write access to the directory open · e2e33caa
    Hobin Woo authored
    may_open() does not allow a directory to be opened with the write access.
    However, some writing flags set by client result in adding write access
    on server, making ksmbd incompatible with FUSE file system. Simply, let's
    discard the write access when opening a directory.
    
    list_add corruption. next is NULL.
    ------------[ cut here ]------------
    kernel BUG at lib/list_debug.c:26!
    pc : __list_add_valid+0x88/0xbc
    lr : __list_add_valid+0x88/0xbc
    Call trace:
    __list_add_valid+0x88/0xbc
    fuse_finish_open+0x11c/0x170
    fuse_open_common+0x284/0x5e8
    fuse_dir_open+0x14/0x24
    do_dentry_open+0x2a4/0x4e0
    dentry_open+0x50/0x80
    smb2_open+0xbe4/0x15a4
    handle_ksmbd_work+0x478/0x5ec
    process_one_work+0x1b4/0x448
    worker_thread+0x25c/0x430
    kthread+0x104/0x1d4
    ret_from_fork+0x10/0x20
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarYoonho Shin <yoonho.shin@samsung.com>
    Signed-off-by: default avatarHobin Woo <hobin.woo@samsung.com>
    Acked-by: default avatarNamjae Jeon <linkinjeon@kernel.org>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    e2e33caa
smb2pdu.c 236 KB