Zqiang
94600a8300
lib: stackdepot: turn depot_lock spinlock to raw_spinlock
[ 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>
|
2021-05-22 11:38:30 +02:00 |
| .. |
|
842
|
|
|
|
crypto
|
|
|
|
dim
|
|
|
|
fonts
|
Fonts: Replace discarded const qualifier
|
2020-11-10 12:37:26 +01:00 |
|
livepatch
|
|
|
|
lz4
|
|
|
|
lzo
|
lib/lzo: fix ambiguous encoding bug in lzo-rle
|
2020-06-17 16:40:28 +02:00 |
|
math
|
|
|
|
mpi
|
lib/mpi: Fix 64-bit MIPS build with Clang
|
2020-06-22 09:31:00 +02:00 |
|
raid6
|
lib/raid6: Let $(UNROLL) rules work with macOS userland
|
2021-01-19 18:26:15 +01:00 |
|
reed_solomon
|
|
|
|
vdso
|
|
|
|
xz
|
|
|
|
zlib_deflate
|
|
|
|
zlib_inflate
|
lib/zlib: remove outdated and incorrect pre-increment optimization
|
2020-06-24 17:50:39 +02:00 |
|
zstd
|
|
|
|
.gitignore
|
|
|
|
argv_split.c
|
|
|
|
ashldi3.c
|
|
|
|
ashrdi3.c
|
|
|
|
asn1_decoder.c
|
|
|
|
assoc_array.c
|
|
|
|
atomic64.c
|
|
|
|
atomic64_test.c
|
|
|
|
audit.c
|
|
|
|
bcd.c
|
|
|
|
bch.c
|
|
|
|
bitmap.c
|
|
|
|
bitrev.c
|
|
|
|
bsearch.c
|
|
|
|
btree.c
|
|
|
|
bucket_locks.c
|
|
|
|
bug.c
|
bug: Remove redundant condition check in report_bug
|
2021-05-14 09:44:27 +02:00 |
|
build_OID_registry
|
|
|
|
bust_spinlocks.c
|
|
|
|
chacha.c
|
|
|
|
check_signature.c
|
|
|
|
checksum.c
|
|
|
|
clz_ctz.c
|
|
|
|
clz_tab.c
|
|
|
|
cmdline.c
|
|
|
|
cmpdi2.c
|
|
|
|
compat_audit.c
|
|
|
|
cpu_rmap.c
|
|
|
|
cpumask.c
|
|
|
|
crc-ccitt.c
|
|
|
|
crc-itu-t.c
|
|
|
|
crc-t10dif.c
|
crc-t10dif: Fix potential crypto notify dead-lock
|
2020-08-19 08:15:54 +02:00 |
|
crc4.c
|
|
|
|
crc7.c
|
|
|
|
crc8.c
|
|
|
|
crc16.c
|
|
|
|
crc32.c
|
lib/crc32.c: fix trivial typo in preprocessor condition
|
2020-10-29 09:57:52 +01:00 |
|
crc32defs.h
|
|
|
|
crc32test.c
|
lib/crc32test: remove extra local_irq_disable/enable
|
2020-11-10 12:37:27 +01:00 |
|
crc64.c
|
|
|
|
ctype.c
|
|
|
|
debug_info.c
|
|
|
|
debug_locks.c
|
|
|
|
debugobjects.c
|
|
|
|
dec_and_lock.c
|
|
|
|
decompress.c
|
|
|
|
decompress_bunzip2.c
|
|
|
|
decompress_inflate.c
|
|
|
|
decompress_unlz4.c
|
|
|
|
decompress_unlzma.c
|
|
|
|
decompress_unlzo.c
|
|
|
|
decompress_unxz.c
|
|
|
|
devres.c
|
devres: keep both device name and resource name in pretty name
|
2020-08-21 13:05:32 +02:00 |
|
digsig.c
|
|
|
|
dump_stack.c
|
|
|
|
dynamic_debug.c
|
dyndbg: fix a BUG_ON in ddebug_describe_flags
|
2020-08-19 08:16:04 +02:00 |
|
dynamic_queue_limits.c
|
|
|
|
earlycpio.c
|
|
|
|
error-inject.c
|
|
|
|
errseq.c
|
|
|
|
extable.c
|
|
|
|
fault-inject.c
|
|
|
|
fdt.c
|
|
|
|
fdt_empty_tree.c
|
|
|
|
fdt_ro.c
|
|
|
|
fdt_rw.c
|
|
|
|
fdt_strerror.c
|
|
|
|
fdt_sw.c
|
|
|
|
fdt_wip.c
|
|
|
|
find_bit.c
|
|
|
|
find_bit_benchmark.c
|
|
|
|
flex_proportions.c
|
|
|
|
gen_crc32table.c
|
|
|
|
gen_crc64table.c
|
|
|
|
genalloc.c
|
lib/genalloc: fix the overflow when size is too big
|
2021-01-12 20:16:10 +01:00 |
|
generic-radix-tree.c
|
|
|
|
glob.c
|
|
|
|
globtest.c
|
|
|
|
hexdump.c
|
|
|
|
hweight.c
|
|
|
|
idr.c
|
ida: Free allocated bitmap in error path
|
2020-10-29 09:57:47 +01:00 |
|
inflate.c
|
|
|
|
interval_tree.c
|
|
|
|
interval_tree_test.c
|
|
|
|
iomap.c
|
|
|
|
iomap_copy.c
|
|
|
|
iommu-helper.c
|
|
|
|
ioremap.c
|
|
|
|
iov_iter.c
|
udp: fix skb_copy_and_csum_datagram with odd segment sizes
|
2021-02-17 10:35:19 +01:00 |
|
irq_poll.c
|
|
|
|
irq_regs.c
|
|
|
|
is_single_threaded.c
|
|
|
|
kasprintf.c
|
|
|
|
Kconfig
|
|
|
|
Kconfig.debug
|
kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec()
|
2020-10-01 13:17:10 +02:00 |
|
Kconfig.kasan
|
|
|
|
Kconfig.kgdb
|
|
|
|
Kconfig.ubsan
|
|
|
|
kfifo.c
|
|
|
|
klist.c
|
|
|
|
kobject.c
|
kobject: Restore old behaviour of kobject_del(NULL)
|
2020-09-17 13:47:52 +02:00 |
|
kobject_uevent.c
|
kobject_uevent: remove warning in init_uevent_argv()
|
2021-05-19 10:08:33 +02:00 |
|
kstrtox.c
|
|
|
|
kstrtox.h
|
|
|
|
libcrc32c.c
|
|
|
|
list_debug.c
|
|
|
|
list_sort.c
|
|
|
|
llist.c
|
|
|
|
locking-selftest-hardirq.h
|
|
|
|
locking-selftest-mutex.h
|
|
|
|
locking-selftest-rlock-hardirq.h
|
|
|
|
locking-selftest-rlock-softirq.h
|
|
|
|
locking-selftest-rlock.h
|
|
|
|
locking-selftest-rsem.h
|
|
|
|
locking-selftest-rtmutex.h
|
|
|
|
locking-selftest-softirq.h
|
|
|
|
locking-selftest-spin-hardirq.h
|
|
|
|
locking-selftest-spin-softirq.h
|
|
|
|
locking-selftest-spin.h
|
|
|
|
locking-selftest-wlock-hardirq.h
|
|
|
|
locking-selftest-wlock-softirq.h
|
|
|
|
locking-selftest-wlock.h
|
|
|
|
locking-selftest-wsem.h
|
|
|
|
locking-selftest.c
|
|
|
|
lockref.c
|
|
|
|
logic_pio.c
|
PCI: Fix pci_register_io_range() memory leak
|
2021-03-17 17:03:44 +01:00 |
|
lru_cache.c
|
|
|
|
lshrdi3.c
|
|
|
|
Makefile
|
avoid __memcat_p link failure
|
2021-05-07 10:51:37 +02:00 |
|
memcat_p.c
|
|
|
|
memory-notifier-error-inject.c
|
|
|
|
memweight.c
|
|
|
|
muldi3.c
|
|
|
|
net_utils.c
|
|
|
|
netdev-notifier-error-inject.c
|
|
|
|
nlattr.c
|
net: fix nla_strcmp to handle more then one trailing null character
|
2021-05-19 10:08:27 +02:00 |
|
nmi_backtrace.c
|
|
|
|
nodemask.c
|
|
|
|
notifier-error-inject.c
|
|
|
|
notifier-error-inject.h
|
|
|
|
objagg.c
|
|
|
|
of-reconfig-notifier-error-inject.c
|
|
|
|
oid_registry.c
|
|
|
|
once.c
|
|
|
|
packing.c
|
|
|
|
parman.c
|
|
|
|
parser.c
|
|
|
|
pci_iomap.c
|
|
|
|
percpu-refcount.c
|
|
|
|
percpu_counter.c
|
|
|
|
percpu_test.c
|
|
|
|
plist.c
|
|
|
|
pm-notifier-error-inject.c
|
|
|
|
radix-tree.c
|
|
|
|
random32.c
|
random32: make prandom_u32() output unpredictable
|
2020-11-18 19:20:20 +01:00 |
|
ratelimit.c
|
|
|
|
rbtree.c
|
|
|
|
rbtree_test.c
|
|
|
|
refcount.c
|
|
|
|
rhashtable.c
|
|
|
|
sbitmap.c
|
|
|
|
scatterlist.c
|
sgl_alloc_order: fix memory leak
|
2020-11-05 11:43:22 +01:00 |
|
seq_buf.c
|
|
|
|
sg_pool.c
|
|
|
|
sg_split.c
|
|
|
|
sha1.c
|
|
|
|
show_mem.c
|
|
|
|
siphash.c
|
|
|
|
smp_processor_id.c
|
|
|
|
sort.c
|
|
|
|
stackdepot.c
|
lib: stackdepot: turn depot_lock spinlock to raw_spinlock
|
2021-05-22 11:38:30 +02:00 |
|
stmp_device.c
|
|
|
|
string.c
|
lib/string.c: implement stpcpy
|
2020-10-01 13:18:23 +02:00 |
|
string_helpers.c
|
|
|
|
strncpy_from_user.c
|
|
|
|
strnlen_user.c
|
|
|
|
syscall.c
|
lib/syscall: fix syscall registers retrieval on 32-bit platforms
|
2020-12-11 13:23:32 +01:00 |
|
test-kstrtox.c
|
|
|
|
test-string_helpers.c
|
|
|
|
test_bitfield.c
|
|
|
|
test_bitmap.c
|
|
|
|
test_blackhole_dev.c
|
|
|
|
test_bpf.c
|
|
|
|
test_debug_virtual.c
|
|
|
|
test_firmware.c
|
|
|
|
test_hash.c
|
|
|
|
test_hexdump.c
|
|
|
|
test_ida.c
|
|
|
|
test_kasan.c
|
kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE
|
2020-06-22 09:31:12 +02:00 |
|
test_kmod.c
|
test_kmod: avoid potential double free in trigger_config_run_type()
|
2020-08-21 13:05:37 +02:00 |
|
test_list_sort.c
|
|
|
|
test_memcat_p.c
|
|
|
|
test_meminit.c
|
|
|
|
test_module.c
|
|
|
|
test_objagg.c
|
test_objagg: Fix potential memory leak in error handling
|
2020-06-30 15:37:04 -04:00 |
|
test_overflow.c
|
|
|
|
test_parman.c
|
|
|
|
test_printf.c
|
vsprintf: don't obfuscate NULL and error pointers
|
2020-05-27 17:46:43 +02:00 |
|
test_rhashtable.c
|
|
|
|
test_siphash.c
|
|
|
|
test_sort.c
|
|
|
|
test_stackinit.c
|
|
|
|
test_static_key_base.c
|
|
|
|
test_static_keys.c
|
|
|
|
test_string.c
|
|
|
|
test_strscpy.c
|
|
|
|
test_sysctl.c
|
|
|
|
test_ubsan.c
|
|
|
|
test_user_copy.c
|
|
|
|
test_uuid.c
|
|
|
|
test_vmalloc.c
|
|
|
|
test_xarray.c
|
XArray: Fix xas_pause for large multi-index entries
|
2020-04-17 10:50:18 +02:00 |
|
textsearch.c
|
|
|
|
timerqueue.c
|
|
|
|
ts_bm.c
|
|
|
|
ts_fsm.c
|
|
|
|
ts_kmp.c
|
|
|
|
ubsan.c
|
|
|
|
ubsan.h
|
|
|
|
ucmpdi2.c
|
|
|
|
ucs2_string.c
|
|
|
|
usercopy.c
|
|
|
|
uuid.c
|
|
|
|
vsprintf.c
|
vsprintf: don't obfuscate NULL and error pointers
|
2020-05-27 17:46:43 +02:00 |
|
win_minmax.c
|
|
|
|
xarray.c
|
xarray: Fix early termination of xas_for_each_marked
|
2020-04-17 10:50:18 +02:00 |
|
xxhash.c
|
|
|