No description
Find a file
Ronnie Sahlberg 005003b7d9 cifs: we do not need a spinlock around the tree access during umount
commit 9a14b65d59 upstream.

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: kernel test robot <oliver.sang@intel.com>
Cc: stable@vger.kernel.org
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>
2023-04-19 17:46:29 +08:00
arch ARM: mstar: Select HAVE_ARM_ARCH_TIMER 2023-04-19 17:46:26 +08:00
block block: release rq qos structures for queue without disk 2023-04-19 17:46:21 +08:00
certs certs: Add support for using elliptic curve keys for signing modules 2021-08-23 19:55:42 +03:00
crypto crypto: api - Move cryptomgr soft dependency into algapi 2023-04-19 17:45:10 +08:00
Documentation docs: sphinx/requirements: Limit jinja2<3.1 2023-04-19 17:46:29 +08:00
drivers clk: uniphier: Fix fixed-rate initialization 2023-04-19 17:46:29 +08:00
fs cifs: we do not need a spinlock around the tree access during umount 2023-04-19 17:46:29 +08:00
include Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" 2023-04-19 17:46:26 +08:00
init init: make unknown command line param message clearer 2023-04-19 16:57:51 +08:00
ipc ipc/sem: do not sleep with a spin lock held 2023-04-19 17:45:01 +08:00
kernel ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE 2023-04-19 17:46:29 +08:00
lib ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE 2023-04-19 17:46:19 +08:00
LICENSES LICENSES/dual/CC-BY-4.0: Git rid of "smart quotes" 2021-07-15 06:31:24 -06:00
mm mm: kfence: fix missing objcg housekeeping for SLAB 2023-04-19 17:46:26 +08:00
net af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register 2023-04-19 17:46:27 +08:00
samples samples: bpf: Fix 'unknown warning group' build warning on Clang 2023-04-19 17:43:59 +08:00
scripts kconfig: fix failing to generate auto.conf 2023-04-19 17:45:35 +08:00
security selinux: fix misuse of mutex_is_locked() 2023-04-19 17:45:37 +08:00
sound ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec 2023-04-19 17:46:24 +08:00
tools selftests: vm: fix clang build error multiple output files 2023-04-19 17:46:27 +08:00
usr usr/include/Makefile: add linux/nfc.h to the compile-test coverage 2023-04-19 17:44:58 +08:00
virt KVM: Fix lockdep false negative during host resume 2023-04-19 17:46:14 +08:00
.clang-format clang-format: Update with the latest for_each macro list 2021-05-12 23:32:39 +02:00
.cocciconfig
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl 2019-05-16 10:53:40 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for dts files 2019-12-04 19:44:11 -08:00
.gitignore .gitignore: ignore only top-level modules.builtin 2021-05-02 00:43:35 +09:00
.mailmap mailmap: add Andrej Shadura 2021-10-18 20:22:03 -10:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: Move Daniel Drake to credits 2021-09-21 08:34:58 +03:00
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y 2020-02-04 01:53:07 +09:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS MAINTAINERS: adjust file entry for of_net.c after movement 2023-04-19 17:46:04 +08:00
Makefile Linux 5.15.32 2023-04-19 17:46:25 +08:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.