Skip to content
Permalink
Christian-Brau…
Switch branches/tags

Commits on Aug 16, 2021

  1. ksmbd: fix lookup on idmapped mounts

    It's great that the new in-kernel ksmbd server will support idmapped
    mounts out of the box! However, lookup is currently broken. Lookup
    helpers such as lookup_one_len() call inode_permission() internally to
    ensure that the caller is privileged over the inode of the base dentry
    they are trying to lookup under. So the permission checking here is
    currently wrong.
    
    Linux v5.15 will gain a new lookup helper lookup_one() that does take
    idmappings into account. I've added it as part of my patch series to
    make btrfs support idmapped mounts. The new helper is in linux-next as
    part of David's (Sterba) btrfs for-next branch as commit
    c972214 ("namei: add mapping aware lookup helper").
    
    I've said it before during one of my first reviews: I would very much
    recommend adding fstests to [1]. It already seems to have very
    rudimentary cifs support. There is a completely generic idmapped mount
    testsuite that supports idmapped mounts.
    
    [1]: https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/
    Cc: Steve French <stfrench@microsoft.com>
    Cc: Christoph Hellwig <hch@infradead.org>
    Cc: Namjae Jeon <namjae.jeon@samsung.com>
    Cc: Hyunchul Lee <hyc.lee@gmail.com>
    Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
    Cc: David Sterba <dsterba@suse.com>
    Cc: linux-cifs@vger.kernel.org
    Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
    brauner authored and intel-lab-lkp committed Aug 16, 2021

Commits on Aug 1, 2021

  1. ksmbd: fix an oops in error handling in smb2_open()

    If smb2_get_name() then name is an error pointer.  In the clean up
    code, we try to kfree() it and that will lead to an Oops.  Set it to
    NULL instead.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    error27 authored and namjaejeon committed Aug 1, 2021

Commits on Jul 27, 2021

  1. ksmbd: add ipv6_addr_v4mapped check to know if connection from client…

    … is ipv4
    
    ksmbd create socket with IPv6 to listen both IPv4 and IPv6 connection
    from client. Server should send IP addresses of NICs through network
    interface info response. If Client connection is IPv4, Server should
    fill IPv4 address in response buffer. But ss_family is always PF_INET6
    on IPv6 socket. So This patch add ipv6_addr_v4mapped check to know
    client connection is IPv4.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 27, 2021
  2. ksmbd: fix missing error code in smb2_lock

    Dan report a warning that is missing error code in smb2_lock
    from static checker. This patch add error code to avoid static checker
    warning.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 27, 2021
  3. ksmbd: use channel signingkey for binding SMB2 session setup

    Windows client disconnect connection by wrong signed SMB2 session
    setup response on SMB3 multichannel mode.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 27, 2021
  4. ksmbd: don't set RSS capable in FSCTL_QUERY_NETWORK_INTERFACE_INFO

    ksmbd does not support RSS mode stably.
    RSS mode enabling will be set later.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 27, 2021
  5. ksmbd: Return STATUS_OBJECT_PATH_NOT_FOUND if smb2_creat() returns EN…

    …OENT
    
    Both Windows 10's SMB server and samba return STATUS_OBJECT_PATH_NOT_FOUND
    when trying to access a nonexistent path.
    
    This fixes Windows 10 File History tool. The latter relies on the server
    returning STATUS_OBJECT_PATH_NOT_FOUND to figure out what part of the
    target path needs to be created. Returning STATUS_OBJECT_NAME_INVALID
    will make it stop and display an error to the user.
    
    Signed-off-by: Marios Makassikis <mmakassikis@freebox.fr>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Marios Makassikis authored and namjaejeon committed Jul 27, 2021

Commits on Jul 23, 2021

  1. ksmbd: fix -Wstringop-truncation warnings

    Kernel test bot reports the following warnings:
    
       In function 'ndr_write_string',
           inlined from 'ndr_encode_dos_attr' at fs/ksmbd/ndr.c:136:3:
    >> fs/ksmbd/ndr.c:70:2: warning: 'strncpy' destination unchanged after
    copying no bytes [-Wstringop-truncation]
          70 |  strncpy(PAYLOAD_HEAD(n), value, sz);
             |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       In function 'ndr_write_string',
           inlined from 'ndr_encode_dos_attr' at fs/ksmbd/ndr.c:134:3:
    >> fs/ksmbd/ndr.c:70:2: warning: 'strncpy' output truncated before
    terminating nul copying as many bytes from a string as its length
    [-Wstringop-truncation]
          70 |  strncpy(PAYLOAD_HEAD(n), value, sz);
             |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       fs/ksmbd/ndr.c: In function 'ndr_encode_dos_attr':
       fs/ksmbd/ndr.c:134:3: note: length computed here
         134 |   ndr_write_string(n, hex_attr, strlen(hex_attr));
             |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    hclee authored and namjaejeon committed Jul 23, 2021
  2. ksmbd: Fix potential memory leak in tcp_destroy_socket()

    ksmbd_socket must be freed even if kernel_sock_shutdown() somehow fails.
    
    Signed-off-by: Marios Makassikis <mmakassikis@freebox.fr>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    Marios Makassikis authored and namjaejeon committed Jul 23, 2021

Commits on Jul 22, 2021

  1. ksmbd: add support for negotiating signing algorithm

    Support for faster packet signing (using GMAC instead of CMAC) can
    now be negotiated to some newer servers, including Windows.
    See MS-SMB2 section 2.2.3.17.
    
    This patch adds support for sending the new negotiate context with two
    supported signing algorithms(AES-CMAC, HMAC-SHA256).
    If client add support for AES_GMAC, Server will be supported later
    depend on it.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 22, 2021
  2. ksmbd: add negotiate context verification

    This patch add negotiate context verification code to check bounds.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 22, 2021
  3. ksmbd: fix typo of MS-SMBD

    Fix typo : "MS-KSMBD" => "MS-SMBD".
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 22, 2021

Commits on Jul 19, 2021

  1. ksmbd: move credit charge verification over smb2 request size verific…

    …ation
    
    Move credit charge verification over smb2 request size verification
    to avoid being skipped.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 19, 2021
  2. ksmbd: set STATUS_INVALID_PARAMETER error status if credit charge is …

    …invalid
    
    MS-SMB2 specification describe :
     If the calculated credit number is greater than the CreditCharge,
     the server MUST fail the request with the error code
     STATUS_INVALID_PARAMETER.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 19, 2021
  3. ksmbd: fix wrong error status return on session setup

    When user insert wrong password, ksmbd return STATUS_INVALID_PARAMETER
    error status to client. It will make user confusing whether it is not
    password problem. This patch change error status to
    STATUS_LOGON_FAILURE. and return STATUS_INSUFFICIENT_RESOURCES if memory
    allocation failed on session setup.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 19, 2021
  4. ksmbd: fix wrong compression context size

    Use smb2_compression_ctx instead of smb2_encryption_neg_context.
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 19, 2021

Commits on Jul 15, 2021

  1. ksmbd: fix typo in comment

    Fix typo "openning" -> "opening".
    
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 15, 2021

Commits on Jul 13, 2021

  1. ksmbd: fix an error message in ksmbd_conn_trasnport_init

    Fix an error message in ksmbd_conn_transport_init().
    
    Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    hclee authored and namjaejeon committed Jul 13, 2021
  2. ksmbd: set RDMA capability for FSCTL_QUERY_NETWORK_INTERFACE_INFO

    set RDMA capability for
    FSCTL_QUERY_NETWORK_INTERFACE_INFO.
    
    Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    hclee authored and namjaejeon committed Jul 13, 2021
  3. ksmbd: fix unused err value in smb2_lock

    CID 1502845 (#1 of 1): Unused value (UNUSED_VALUE)
    value_overwrite: Overwriting previous write to err with value from
    vfs_lock_file(filp, 0U, rlock, NULL).
    6880                err = vfs_lock_file(filp, 0, rlock, NULL);
    6881                if (err)
    6882                        pr_err("rollback unlock fail : %d\n", err);
    
    Reported-by: Coverity Scan <scan-admin@coverity.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 13, 2021
  4. ksmbd: fix memory leak in ksmbd_vfs_get_sd_xattr()

    Add free acl.sd_buf and n.data on error handling in
    ksmbd_vfs_get_sd_xattr().
    
    Reported-by: Coverity Scan <scan-admin@coverity.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 13, 2021
  5. ksmbd: remove unneeded check_context_err

    Coverity Scan seems to report false alarm.
    
    *** CID 1505930:    (USE_AFTER_FREE)
    /fs/ksmbd/smb2pdu.c: 2527 in smb2_open()
    >>> CID 1505930:    (USE_AFTER_FREE)
    >>> Passing freed pointer "context" as an argument to
    >>> "check_context_err".
    
    This patch remove unneeded check_context_err to make coverity scan
    happy.
    
    Reported-by: Coverity Scan <scan-admin@coverity.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    namjaejeon committed Jul 13, 2021

Commits on Jul 10, 2021

  1. Merge pull request torvalds#59 from namjaejeon/cifsd-for-next

    Cifsd for next
    smfrench committed Jul 10, 2021
  2. ksmbd: handle error cases first in smb2_create_sd_buffers

    For code cleanup, handle error cases first in
    smb2_create_sd_buffers().
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    hclee authored and namjaejeon committed Jul 10, 2021
  3. ksmbd: make smb2_find_context_vals return NULL if not found

    instead of -ENOENT, make smb2_find_context_vals
    return NULL if the given context cannot be found.
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    hclee authored and namjaejeon committed Jul 10, 2021
  4. ksmbd: uninterruptible wait for a file being unlocked

    the wait can be canceled by SMB2_CANCEL, SMB2_CLOSE,
    SMB2_LOGOFF, disconnection or shutdown, we don't have
    to use wait_event_interruptible.
    
    And this remove the warning from Coverity:
    
    CID 1502834 (#1 of 1): Unused value (UNUSED_VALUE)
    returned_value: Assigning value from ksmbd_vfs_posix_lock_wait(flock)
    to err here, but that stored value is overwritten before it can be used.
    
    Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    hclee authored and namjaejeon committed Jul 10, 2021
  5. ksmbd: free ksmbd_lock when file is closed

    Append ksmbd_lock into the connection's
    lock list and the ksmbd_file's lock list.
    And when a file is closed, detach ksmbd_lock
    from these lists and free it.
    
    Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    hclee authored and namjaejeon committed Jul 10, 2021
  6. ksmbd: fix the running request count decrement

    decrement the count of running requests after
    sending the last response for multi-response
    requests.
    
    Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    hclee authored and namjaejeon committed Jul 10, 2021
  7. ksmbd: use kasprintf() in ksmbd_vfs_xattr_stream_name()

    Simplify the code by using kasprintf().  This also silences a Smatch
    warning:
    
        fs/ksmbd/vfs.c:1725 ksmbd_vfs_xattr_stream_name()
        warn: inconsistent indenting
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    error27 authored and namjaejeon committed Jul 10, 2021
  8. ksmbd: delete some stray tabs

    These lines are intended one tab too far.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: Steve French <stfrench@microsoft.com>
    error27 authored and namjaejeon committed Jul 10, 2021
Older