• Ronnie Sahlberg's avatar
    cifs: we do not need a spinlock around the tree access during umount · 9a14b65d
    Ronnie Sahlberg authored
    Remove the spinlock around the tree traversal as we are calling possibly
    sleeping functions.
    We do not need a spinlock here as there will be no modifications to this
    tree at this point.
    
    This prevents warnings like this to occur in dmesg:
    [  653.774996] BUG: sleeping function called from invalid context at kernel/loc\
    king/mutex.c:280
    [  653.775088] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1827, nam\
    e: umount
    [  653.775152] preempt_count: 1, expected: 0
    [  653.775191] CPU: 0 PID: 1827 Comm: umount Tainted: G        W  OE     5.17.0\
    -rc7-00006-g4eb628dd74df #135
    [  653.775195] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-\
    1.fc33 04/01/2014
    [  653.775197] Call Trace:
    [  653.775199]  <TASK>
    [  653.775202]  dump_stack_lvl+0x34/0x44
    [  653.775209]  __might_resched.cold+0x13f/0x172
    [  653.775213]  mutex_lock+0x75/0xf0
    [  653.775217]  ? __mutex_lock_slowpath+0x10/0x10
    [  653.775220]  ? _raw_write_lock_irq+0xd0/0xd0
    [  653.775224]  ? dput+0x6b/0x360
    [  653.775228]  cifs_kill_sb+0xff/0x1d0 [cifs]
    [  653.775285]  deactivate_locked_super+0x85/0x130
    [  653.775289]  cleanup_mnt+0x32c/0x4d0
    [  653.775292]  ? path_umount+0x228/0x380
    [  653.775296]  task_work_run+0xd8/0x180
    [  653.775301]  exit_to_user_mode_loop+0x152/0x160
    [  653.775306]  exit_to_user_mode_prepare+0x89/0xd0
    [  653.775315]  syscall_exit_to_user_mode+0x12/0x30
    [  653.775322]  do_syscall_64+0x48/0x90
    [  653.775326]  entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    Fixes: 187af6e98b44e5d8f25e1d41a92db138eb54416f ("cifs: fix handlecache and multiuser")
    Reported-by: default avatarkernel test robot <oliver.sang@intel.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    9a14b65d
cifsfs.c 47.6 KB