WSL2-Linux-Kernel/lib
Andrey Konovalov d9b571c885 kasan: fix KASAN_STACK dependency for HW_TAGS
There's a runtime failure when running HW_TAGS-enabled kernel built with
GCC on hardware that doesn't support MTE.  GCC-built kernels always have
CONFIG_KASAN_STACK enabled, even though stack instrumentation isn't
supported by HW_TAGS.  Having that config enabled causes KASAN to issue
MTE-only instructions to unpoison kernel stacks, which causes the failure.

Fix the issue by disallowing CONFIG_KASAN_STACK when HW_TAGS is used.

(The commit that introduced CONFIG_KASAN_HW_TAGS specified proper
 dependency for CONFIG_KASAN_STACK_ENABLE but not for CONFIG_KASAN_STACK.)

Link: https://lkml.kernel.org/r/59e75426241dbb5611277758c8d4d6f5f9298dac.1615215441.git.andreyknvl@google.com
Fixes: 6a63a63ff1 ("kasan: introduce CONFIG_KASAN_HW_TAGS")
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Reported-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: <stable@vger.kernel.org>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Marco Elver <elver@google.com>
Cc: Peter Collingbourne <pcc@google.com>
Cc: Evgenii Stepanov <eugenis@google.com>
Cc: Branislav Rankov <Branislav.Rankov@arm.com>
Cc: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-03-13 11:27:31 -08:00
..
842
crypto crypto: lib/chacha20poly1305 - define empty module exit function 2021-01-22 14:58:03 +11:00
dim
fonts Fonts: font_ter16x32: Update font with new upstream Terminus release 2021-01-07 21:06:25 +01:00
kunit kunit: add kunit.filter_glob cmdline option to filter suites 2021-02-08 16:09:27 -07:00
livepatch
lz4 lib/lz4: explicitly support in-place decompression 2020-12-15 22:46:16 -08:00
lzo lib/lzo/lzo1x_compress.c: make lzogeneric1x_1_compress() static 2020-12-15 22:46:19 -08:00
math kernel.h: split out mathematical helpers 2020-12-15 22:46:15 -08:00
mpi
pldmfw
raid6 lib/raid6: Let $(UNROLL) rules work with macOS userland 2021-01-04 10:38:11 +09:00
reed_solomon
vdso
xz
zlib_deflate
zlib_dfltcc zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c 2020-12-29 15:36:49 -08:00
zlib_inflate
zstd
.gitignore
Kconfig lib: stackdepot: add support to configure STACK_HASH_SIZE 2021-02-26 09:41:04 -08:00
Kconfig.debug mm: add Kernel Electric-Fence infrastructure 2021-02-26 09:41:02 -08:00
Kconfig.kasan kasan: fix KASAN_STACK dependency for HW_TAGS 2021-03-13 11:27:31 -08:00
Kconfig.kcsan
Kconfig.kfence kfence: add test suite 2021-02-26 09:41:02 -08:00
Kconfig.kgdb
Kconfig.ubsan ubsan: remove overflow checks 2021-02-26 09:41:05 -08:00
Makefile kasan: rename CONFIG_TEST_KASAN_MODULE 2021-02-24 13:38:31 -08:00
argv_split.c
ashldi3.c
ashrdi3.c
asn1_decoder.c
assoc_array.c
atomic64.c
atomic64_test.c
audit.c
bcd.c
bch.c
bitfield_kunit.c
bitmap.c
bitrev.c
bootconfig.c
bsearch.c
btree.c
bucket_locks.c
bug.c module: mark module_mutex static 2021-02-08 12:24:26 +01:00
build_OID_registry
buildid.c bpf: Add size arg to build_id_parse function 2021-01-14 19:29:58 -08:00
bust_spinlocks.c
check_signature.c
checksum.c
clz_ctz.c
clz_tab.c
cmdline.c lib/cmdline: remove an unneeded local variable in next_arg() 2021-02-26 09:41:04 -08:00
cmdline_kunit.c lib/cmdline: Allow get_options() to take 0 to validate the input 2021-02-15 11:43:31 +01:00
cmpdi2.c
compat_audit.c
cpu_rmap.c
cpumask.c Revert "lib: Restrict cpumask_local_spread to houskeeping CPUs" 2021-02-05 23:28:29 +01:00
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
crc4.c
crc7.c lib/crc7: fix a kernel-doc markup 2021-01-21 14:06:00 -07:00
crc8.c
crc16.c
crc32.c
crc32defs.h
crc32test.c
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
decompress_unzstd.c
devmem_is_allowed.c
devres.c
digsig.c
dump_stack.c
dynamic_debug.c
dynamic_queue_limits.c
earlycpio.c
errname.c kernel.h: split out mathematical helpers 2020-12-15 22:46:15 -08:00
error-inject.c fault-injection: handle EI_ETYPE_TRUE 2020-12-15 22:46:19 -08:00
errseq.c kernel.h: split out mathematical helpers 2020-12-15 22:46:15 -08:00
extable.c sparc32: switch to generic extables 2021-01-03 20:05:18 -05:00
fault-inject-usercopy.c
fault-inject.c
fdt.c
fdt_addresses.c
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
find_bit.c kernel.h: split out mathematical helpers 2020-12-15 22:46:15 -08:00
find_bit_benchmark.c
flex_proportions.c
gen_crc32table.c
gen_crc64table.c
genalloc.c lib/genalloc.c: change return type to unsigned long for bitmap_set_ll 2021-02-26 09:41:04 -08:00
generic-radix-tree.c
glob.c
globtest.c
hexdump.c
hweight.c
idr.c
inflate.c
interval_tree.c
interval_tree_test.c
iomap.c
iomap_copy.c
iommu-helper.c
iov_iter.c Merge branch 'kmap-conversion-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux 2021-03-01 11:24:18 -08:00
irq_poll.c
irq_regs.c
is_single_threaded.c
kasprintf.c
kfifo.c
klist.c
kobject.c
kobject_uevent.c
kstrtox.c
kstrtox.h
libcrc32c.c
linear_ranges.c lib/linear_ranges: fix repeated words & one typo 2020-12-28 12:24:47 +00:00
list-test.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 locking/selftests: Add local_lock inversion tests 2021-01-14 11:20:18 +01:00
lockref.c
logic_pio.c PCI: Fix pci_register_io_range() memory leak 2021-02-17 17:31:06 -06:00
lru_cache.c
lshrdi3.c
memcat_p.c
memory-notifier-error-inject.c
memregion.c
memweight.c
muldi3.c
net_utils.c
netdev-notifier-error-inject.c
nlattr.c fallthrough fixes for Clang for 5.11-rc1 2020-12-16 00:24:16 -08: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 lib/parman: Delete newline 2021-02-15 15:31:52 -08:00
parser.c parser: Fix kernel-doc markups 2021-02-03 19:10:42 +01:00
pci_iomap.c
percpu-refcount.c percpu_ref: Dump mem_dump_obj() info upon reference-count underflow 2021-01-22 15:24:23 -08:00
percpu_counter.c
percpu_test.c
plist.c
pm-notifier-error-inject.c
radix-tree.c
random32.c
ratelimit.c
rbtree.c
rbtree_test.c
refcount.c
rhashtable.c
sbitmap.c
scatterlist.c
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: fix ignoring return value warning 2021-02-26 09:41:04 -08:00
stmp_device.c
string.c lib/string: remove unnecessary #undefs 2020-12-15 22:46:16 -08:00
string_helpers.c
strncpy_from_user.c
strnlen_user.c
syscall.c
test-kstrtox.c
test-string_helpers.c
test_bitmap.c lib: use KSTM_MODULE_GLOBALS macro in kselftest drivers 2021-02-15 11:01:42 +01:00
test_bitops.c
test_bits.c
test_blackhole_dev.c
test_bpf.c test_bpf: Remove EXPECTED_FAIL flag from bpf_fill_maxinsns11 2021-01-20 14:13:48 -08:00
test_debug_virtual.c
test_firmware.c lib: cleanup kstrto*() usage 2020-12-15 22:46:16 -08:00
test_fpu.c selftests/fpu: Fix debugfs_simple_attr.cocci warning 2021-01-18 11:03:26 +01:00
test_free_pages.c lib/test_free_pages.c: add basic progress indicators 2020-12-15 22:46:16 -08:00
test_hash.c
test_hexdump.c
test_hmm.c
test_hmm_uapi.h
test_ida.c
test_kasan.c kasan, mm: fail krealloc on freed objects 2021-02-26 09:41:03 -08:00
test_kasan_module.c kasan: clean up comments in tests 2021-02-24 13:38:30 -08:00
test_kmod.c lib: cleanup kstrto*() usage 2020-12-15 22:46:16 -08:00
test_linear_ranges.c
test_list_sort.c
test_lockup.c lib/test_lockup.c: minimum fix to get it compiled on PREEMPT_RT 2020-12-15 22:46:16 -08:00
test_memcat_p.c
test_meminit.c
test_min_heap.c
test_module.c
test_objagg.c
test_overflow.c
test_parman.c
test_printf.c printk changes for 5.12 2021-02-22 11:04:36 -08: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 ubsan: remove overflow checks 2021-02-26 09:41:05 -08:00
test_user_copy.c
test_uuid.c
test_vmalloc.c
test_xarray.c
textsearch.c
timerqueue.c rbtree, timerqueue: Use rb_add_cached() 2021-02-17 14:08:01 +01:00
ts_bm.c
ts_fsm.c
ts_kmp.c
ubsan.c ubsan: remove overflow checks 2021-02-26 09:41:05 -08:00
ubsan.h ubsan: implement __ubsan_handle_alignment_assumption 2021-02-05 11:03:47 -08:00
ucmpdi2.c
ucs2_string.c
usercopy.c
uuid.c
vsprintf.c lib/vsprintf: no_hash_pointers prints all addresses as unhashed 2021-02-15 11:08:32 +01:00
win_minmax.c
xarray.c
xxhash.c