No description
Find a file
Guilherme G. Piccoli 054d5cdeb0 misc/pvpanic: Convert regular spinlock into trylock on panic path
[ Upstream commit e918c10265 ]

The pvpanic driver relies on panic notifiers to execute a callback
on panic event. Such function is executed in atomic context - the
panic function disables local IRQs, preemption and all other CPUs
that aren't running the panic code.

With that said, it's dangerous to use regular spinlocks in such path,
as introduced by commit b3c0f87746 ("misc/pvpanic: probe multiple instances").
This patch fixes that by replacing regular spinlocks with the trylock
safer approach.

It also fixes an old comment (about a long gone framebuffer code) and
the notifier priority - we should execute hypervisor notifiers early,
deferring this way the panic action to the hypervisor, as expected by
the users that are setting up pvpanic.

Fixes: b3c0f87746 ("misc/pvpanic: probe multiple instances")
Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Cc: Mihai Carabas <mihai.carabas@oracle.com>
Cc: Shile Zhang <shile.zhang@linux.alibaba.com>
Cc: Wang ShaoBo <bobo.shaobowang@huawei.com>
Cc: zhenwei pi <pizhenwei@bytedance.com>
Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
Link: https://lore.kernel.org/r/20220427224924.592546-6-gpiccoli@igalia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-06-14 18:41:16 +02:00
arch MIPS: IP30: Remove incorrect `cpu_has_fpu' override 2022-06-09 10:26:31 +02:00
block block: fix bio_clone_blkg_association() to associate with proper blkcg_gq 2022-06-09 10:26:32 +02:00
certs certs: Fix build error when CONFIG_MODULE_SIG_KEY is empty 2022-01-23 00:08:44 +09:00
crypto crypto: cryptd - Protect per-CPU resource by disabling BH. 2022-06-09 10:26:07 +02:00
Documentation dt-bindings: gpio: altera: correct interrupt-cells 2022-06-09 10:26:30 +02:00
drivers misc/pvpanic: Convert regular spinlock into trylock on panic path 2022-06-14 18:41:16 +02:00
fs fs/ntfs3: Fix invalid free in log_replay 2022-06-09 10:26:32 +02:00
include fs: add two trivial lookup helpers 2022-06-09 10:26:32 +02:00
init Kconfig: Add option for asm goto w/ tied outputs to workaround clang-13 bug 2022-06-09 10:26:25 +02:00
ipc ipc/mqueue: use get_tree_nodev() in mqueue_get_tree() 2022-06-09 10:26:06 +02:00
kernel ftrace: Clean up hash direct_functions on register failures 2022-06-09 10:26:27 +02:00
lib list: test: Add a test for list_is_head() 2022-06-09 10:26:31 +02:00
LICENSES LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers 2021-12-16 14:33:10 +01:00
mm mm/memremap: fix missing call to untrack_pfn() in pagemap_range() 2022-06-09 10:26:28 +02:00
net mac80211: upgrade passive scan to active scan on DFS channels after beacon rx 2022-06-09 10:26:26 +02:00
samples samples/landlock: Format with clang-format 2022-06-09 10:26:22 +02:00
scripts scripts/get_abi: Fix wrong script file name in the help message 2022-06-14 18:41:14 +02:00
security ima: remove the IMA_TEMPLATE Kconfig option 2022-06-09 10:26:25 +02:00
sound ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control 2022-06-09 10:26:28 +02:00
tools perf evlist: Extend arch_evsel__must_be_in_group to support hybrid systems 2022-06-09 10:26:31 +02:00
usr kbuild: remove include/linux/cyclades.h from header file check 2022-01-27 08:51:08 +01:00
virt KVM: Free new dirty bitmap if creating a new memslot fails 2022-05-25 09:59:03 +02:00
.clang-format genirq/msi: Make interrupt allocation less convoluted 2021-12-16 22:22:20 +01:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore .gitignore: ignore only top-level modules.builtin 2021-05-02 00:43:35 +09:00
.mailmap MAINTAINERS: Update Jisheng's email address 2022-03-08 17:30:32 +01:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: replace a Microchip AT91 maintainer 2022-02-09 11:30:01 +01:00
Kbuild
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS net: dsa: realtek-smi: move to subdirectory 2022-04-08 13:58:12 +02:00
Makefile Linux 5.17.14 2022-06-09 10:26:33 +02:00
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.