From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Zqiang <qiang.zhang@windriver.com>,
Andrew Halaney <ahalaney@redhat.com>,
Alexander Potapenko <glider@google.com>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
Vijayanand Jitta <vjitta@codeaurora.org>,
Vinayak Menon <vinmenon@codeaurora.org>,
Yogesh Lal <ylal@codeaurora.org>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 29/37] lib: stackdepot: turn depot_lock spinlock to raw_spinlock
Date: Thu, 20 May 2021 11:22:50 +0200 [thread overview]
Message-ID: <20210520092053.234381620@linuxfoundation.org> (raw)
In-Reply-To: <20210520092052.265851579@linuxfoundation.org>
From: Zqiang <qiang.zhang@windriver.com>
[ Upstream commit 78564b9434878d686c5f88c4488b20cccbcc42bc ]
In RT system, the spin_lock will be replaced by sleepable rt_mutex lock,
in __call_rcu(), disable interrupts before calling
kasan_record_aux_stack(), will trigger this calltrace:
BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:951
in_atomic(): 0, irqs_disabled(): 1, non_block: 0, pid: 19, name: pgdatinit0
Call Trace:
___might_sleep.cold+0x1b2/0x1f1
rt_spin_lock+0x3b/0xb0
stack_depot_save+0x1b9/0x440
kasan_save_stack+0x32/0x40
kasan_record_aux_stack+0xa5/0xb0
__call_rcu+0x117/0x880
__exit_signal+0xafb/0x1180
release_task+0x1d6/0x480
exit_notify+0x303/0x750
do_exit+0x678/0xcf0
kthread+0x364/0x4f0
ret_from_fork+0x22/0x30
Replace spinlock with raw_spinlock.
Link: https://lkml.kernel.org/r/20210329084009.27013-1-qiang.zhang@windriver.com
Signed-off-by: Zqiang <qiang.zhang@windriver.com>
Reported-by: Andrew Halaney <ahalaney@redhat.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: Vijayanand Jitta <vjitta@codeaurora.org>
Cc: Vinayak Menon <vinmenon@codeaurora.org>
Cc: Yogesh Lal <ylal@codeaurora.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
lib/stackdepot.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/stackdepot.c b/lib/stackdepot.c
index 81c69c08d1d1..468626b8eb1b 100644
--- a/lib/stackdepot.c
+++ b/lib/stackdepot.c
@@ -69,7 +69,7 @@ static void *stack_slabs[STACK_ALLOC_MAX_SLABS];
static int depot_index;
static int next_slab_inited;
static size_t depot_offset;
-static DEFINE_SPINLOCK(depot_lock);
+static DEFINE_RAW_SPINLOCK(depot_lock);
static bool init_stack_slab(void **prealloc)
{
@@ -269,7 +269,7 @@ depot_stack_handle_t stack_depot_save(unsigned long *entries,
prealloc = page_address(page);
}
- spin_lock_irqsave(&depot_lock, flags);
+ raw_spin_lock_irqsave(&depot_lock, flags);
found = find_stack(*bucket, entries, nr_entries, hash);
if (!found) {
@@ -293,7 +293,7 @@ depot_stack_handle_t stack_depot_save(unsigned long *entries,
WARN_ON(!init_stack_slab(&prealloc));
}
- spin_unlock_irqrestore(&depot_lock, flags);
+ raw_spin_unlock_irqrestore(&depot_lock, flags);
exit:
if (prealloc) {
/* Nobody used this memory, ok to free it. */
--
2.30.2
next prev parent reply other threads:[~2021-05-20 9:34 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-20 9:22 [PATCH 5.4 00/37] 5.4.121-rc1 review Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 01/37] x86/msr: Fix wr/rdmsr_safe_regs_on_cpu() prototypes Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 02/37] kgdb: fix gcc-11 warning on indentation Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 03/37] usb: sl811-hcd: improve misleading indentation Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 04/37] cxgb4: Fix the -Wmisleading-indentation warning Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 05/37] isdn: capi: fix mismatched prototypes Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 06/37] pinctrl: ingenic: Improve unreachable code generation Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 07/37] xsk: Simplify detection of empty and full rings Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 08/37] virtio_net: Do not pull payload in skb->head Greg Kroah-Hartman
2021-05-20 9:22 ` Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 09/37] ARM: 9058/1: cache-v7: refactor v7_invalidate_l1 to avoid clobbering r5/r6 Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 10/37] PCI: thunder: Fix compile testing Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 11/37] dmaengine: dw-edma: Fix crash on loading/unloading driver Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 12/37] ARM: 9066/1: ftrace: pause/unpause function graph tracer in cpu_suspend() Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 13/37] ACPI / hotplug / PCI: Fix reference count leak in enable_slot() Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 14/37] Input: elants_i2c - do not bind to i2c-hid compatible ACPI instantiated devices Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 15/37] Input: silead - add workaround for x86 BIOS-es which bring the chip up in a stuck state Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 16/37] um: Mark all kernel symbols as local Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 17/37] um: Disable CONFIG_GCOV with MODULES Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 18/37] ARM: 9075/1: kernel: Fix interrupted SMC calls Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 19/37] scripts/recordmcount.pl: Fix RISC-V regex for clang Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 20/37] riscv: Workaround mcount name prior to clang-13 Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 21/37] scsi: lpfc: Fix illegal memory access on Abort IOCBs Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 22/37] ceph: fix fscache invalidation Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 23/37] scsi: target: tcmu: Return from tcmu_handle_completions() if cmd_id not found Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 24/37] bridge: Fix possible races between assigning rx_handler_data and setting IFF_BRIDGE_PORT bit Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 25/37] drm/amd/display: Fix two cursor duplication when using overlay Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 26/37] gpiolib: acpi: Add quirk to ignore EC wakeups on Dell Venue 10 Pro 5055 Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 27/37] ALSA: hda: generic: change the DAC ctl name for LO+SPK or LO+HP Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 28/37] block: reexpand iov_iter after read/write Greg Kroah-Hartman
2021-05-20 9:22 ` Greg Kroah-Hartman [this message]
2021-05-20 9:22 ` [PATCH 5.4 30/37] net: stmmac: Do not enable RX FIFO overflow interrupts Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 31/37] ip6_gre: proper dev_{hold|put} in ndo_[un]init methods Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 32/37] sit: " Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 33/37] ip6_tunnel: " Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 34/37] ipv6: remove extra dev_hold() for fallback tunnels Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 35/37] KVM: arm64: Initialize VCPU mdcr_el2 before loading it Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 36/37] tweewide: Fix most Shebang lines Greg Kroah-Hartman
2021-05-20 9:22 ` [PATCH 5.4 37/37] scripts: switch explicitly to Python 3 Greg Kroah-Hartman
2021-05-20 15:24 ` [PATCH 5.4 00/37] 5.4.121-rc1 review Jon Hunter
2021-05-20 21:44 ` Shuah Khan
2021-05-20 22:53 ` Guenter Roeck
2021-05-21 4:39 ` Florian Fainelli
2021-05-22 9:39 ` Greg Kroah-Hartman
2021-05-21 5:23 ` Naresh Kamboju
2021-05-21 18:21 ` Sudip Mukherjee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210520092053.234381620@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=ahalaney@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=glider@google.com \
--cc=gustavoars@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=qiang.zhang@windriver.com \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=vinmenon@codeaurora.org \
--cc=vjitta@codeaurora.org \
--cc=ylal@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.