Go to file
Roland Xu 6a86cbe5ce rtmutex: Drop rt_mutex::wait_lock before scheduling
BugLink: https://bugs.launchpad.net/bugs/2081278

commit d33d26036a0274b472299d7dcdaa5fb34329f91b upstream.

rt_mutex_handle_deadlock() is called with rt_mutex::wait_lock held.  In the
good case it returns with the lock held and in the deadlock case it emits a
warning and goes into an endless scheduling loop with the lock held, which
triggers the 'scheduling in atomic' warning.

Unlock rt_mutex::wait_lock in the dead lock case before issuing the warning
and dropping into the schedule for ever loop.

[ tglx: Moved unlock before the WARN(), removed the pointless comment,
  	massaged changelog, added Fixes tag ]

Fixes: 3d5c9340d1 ("rtmutex: Handle deadlock detection smarter")
Signed-off-by: Roland Xu <mu001999@outlook.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/ME0P300MB063599BEF0743B8FA339C2CECC802@ME0P300MB0635.AUSP300.PROD.OUTLOOK.COM
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Koichiro Den <koichiro.den@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
2024-09-27 10:50:35 +02:00
Documentation PM / devfreq: Fix buffer overflow in trans_stat_show 2024-09-27 10:50:28 +02:00
LICENSES
arch arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry 2024-09-27 10:50:34 +02:00
block block: initialize integrity buffer to zero before writing it to media 2024-09-27 10:50:30 +02:00
certs
crypto crypto: aead, cipher - zeroize key buffer after use 2024-09-27 10:50:29 +02:00
debian
debian.master UBUNTU: Upstream stable to v5.4.283 2024-09-27 10:50:28 +02:00
drivers drm/i915/fence: Mark debug_fence_free() with __maybe_unused 2024-09-27 10:50:35 +02:00
fs nilfs2: protect references to superblock parameters exposed in sysfs 2024-09-27 10:50:34 +02:00
include ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance() 2024-09-27 10:50:34 +02:00
init
ipc
kernel rtmutex: Drop rt_mutex::wait_lock before scheduling 2024-09-27 10:50:35 +02:00
lib lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc() 2024-09-27 10:50:33 +02:00
mm memcg_write_event_control(): fix a user-triggerable oops 2024-09-27 10:50:22 +02:00
net net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN 2024-09-27 10:50:32 +02:00
samples
scripts kbuild: Fix '-S -c' in x86 stack protector scripts 2024-09-27 10:50:21 +02:00
security smack: unix sockets: fix accept()ed socket label 2024-09-27 10:50:31 +02:00
sound ASoC: topology: Properly initialize soc_enum values 2024-09-27 10:50:32 +02:00
tools libbpf: Add NULL checks to bpf_object__{prev_map,next_map} 2024-09-27 10:50:33 +02:00
ubuntu
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.283 2024-09-27 10:50:28 +02:00
README
Ubuntu.md
dropped.txt
snapcraft.yaml

README

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.