linux/lib
Arnd Bergmann 251b5497c5 ubsan: disable unsigned-overflow check for i386
Building ubsan kernels even for compile-testing introduced these
warnings in my randconfig environment:

  crypto/blake2b_generic.c:98:13: error: stack frame size of 9636 bytes in function 'blake2b_compress' [-Werror,-Wframe-larger-than=]
  static void blake2b_compress(struct blake2b_state *S,

  crypto/sha512_generic.c:151:13: error: stack frame size of 1292 bytes in function 'sha512_generic_block_fn' [-Werror,-Wframe-larger-than=]
  static void sha512_generic_block_fn(struct sha512_state *sst, u8 const *src,

  lib/crypto/curve25519-fiat32.c:312:22: error: stack frame size of 2180 bytes in function 'fe_mul_impl' [-Werror,-Wframe-larger-than=]
  static noinline void fe_mul_impl(u32 out[10], const u32 in1[10], const u32 in2[10])

  lib/crypto/curve25519-fiat32.c:444:22: error: stack frame size of 1588 bytes in function 'fe_sqr_impl' [-Werror,-Wframe-larger-than=]
  static noinline void fe_sqr_impl(u32 out[10], const u32 in1[10])

Further testing showed that this is caused by
-fsanitize=unsigned-integer-overflow, but is isolated to the 32-bit x86
architecture.

The one in blake2b immediately overflows the 8KB stack area
architectures, so better ensure this never happens by disabling the
option for 32-bit x86.

Link: https://lkml.kernel.org/r/20210112202922.2454435-1-arnd@kernel.org
Link: https://lore.kernel.org/lkml/20201230154749.746641-1-arnd@kernel.org/
Fixes: d0a3ac549f ("ubsan: enable for all*config builds")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Marco Elver <elver@google.com>
Cc: George Popescu <georgepope@android.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-01-24 10:34:52 -08:00
..
842 kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
crypto crypto: lib/blake2s - Move selftest prototype into header file 2020-12-04 18:13:14 +11:00
dim Revert "lib: Revert use of fallthrough pseudo-keyword in lib/" 2020-11-18 14:15:17 -06:00
fonts Fonts: font_ter16x32: Update font with new upstream Terminus release 2021-01-07 21:06:25 +01:00
kunit kunit: Support for Parameterized Testing 2020-12-02 16:06:49 -07:00
livepatch Kbuild updates for v5.9 2020-08-09 14:10:26 -07:00
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 lib/mpi: Remove unused scalar_copied 2020-10-30 17:34:45 +11:00
pldmfw Add pldmfw library for PLDM firmware update 2020-07-28 17:07:06 -07:00
raid6 lib/raid6: Let $(UNROLL) rules work with macOS userland 2021-01-04 10:38:11 +09:00
reed_solomon kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
vdso vdso/treewide: Add vdso_data pointer argument to __arch_get_hw_counter() 2020-08-06 10:57:30 +02:00
xz Revert "lib: Revert use of fallthrough pseudo-keyword in lib/" 2020-11-18 14:15:17 -06:00
zlib_deflate kbuild: trace functions in subdirectories of lib/ 2020-08-10 01:32:59 +09:00
zlib_dfltcc zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c 2020-12-29 15:36:49 -08:00
zlib_inflate lib: Fix fall-through warnings for Clang 2020-11-19 07:23:47 -06:00
zstd lib: Fix fall-through warnings for Clang 2020-11-19 07:23:47 -06:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
argv_split.c
ashldi3.c
ashrdi3.c
asn1_decoder.c Revert "lib: Revert use of fallthrough pseudo-keyword in lib/" 2020-11-18 14:15:17 -06:00
assoc_array.c Revert "lib: Revert use of fallthrough pseudo-keyword in lib/" 2020-11-18 14:15:17 -06:00
atomic64_test.c
atomic64.c
audit.c
bcd.c
bch.c lib/bch: Allow easy bit swapping 2020-05-24 20:48:11 +02:00
bitfield_kunit.c lib: kunit: Fix compilation test when using TEST_BIT_FIELD_COMPILE 2020-10-16 13:25:14 -06:00
bitmap.c lib: bitmap: delete duplicated words 2020-10-16 11:11:19 -07:00
bitrev.c
bootconfig.c Revert "lib: Revert use of fallthrough pseudo-keyword in lib/" 2020-11-18 14:15:17 -06:00
bsearch.c lib/bsearch: Provide __always_inline variant 2020-06-11 15:14:53 +02:00
btree.c
bucket_locks.c
bug.c ftrace,bug: Improve traceoff_on_warn 2020-06-01 08:23:42 -04:00
build_OID_registry
bust_spinlocks.c
check_signature.c
checksum.c unify generic instances of csum_partial_copy_nocheck() 2020-08-20 15:45:14 -04:00
clz_ctz.c
clz_tab.c
cmdline_kunit.c lib/cmdline_kunit: add a new test suite for cmdline API 2020-12-15 22:46:16 -08:00
cmdline.c fallthrough fixes for Clang for 5.11-rc1 2020-12-16 00:24:16 -08:00
cmpdi2.c
compat_audit.c
cpu_rmap.c
cpumask.c sched,rt: Use cpumask_any*_distribute() 2020-11-10 18:39:00 +01:00
crc4.c
crc7.c
crc8.c
crc16.c
crc32.c lib/crc32.c: fix trivial typo in preprocessor condition 2020-10-16 11:11:20 -07:00
crc32defs.h
crc32test.c lib/crc32test: remove extra local_irq_disable/enable 2020-11-02 12:14:19 -08:00
crc64.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c crc-t10dif: clean up some more things 2020-06-18 17:26:43 +10:00
ctype.c
debug_info.c
debug_locks.c lockdep: Prepare for noinstr sections 2020-05-19 15:47:21 +02:00
debugobjects.c debugobjects: Free per CPU pool after CPU unplug 2020-10-01 16:13:54 +02:00
dec_and_lock.c
decompress_bunzip2.c lib: decompress_bunzip2: delete duplicated words 2020-10-16 11:11:19 -07:00
decompress_inflate.c lib/zlib: add s390 hardware support for kernel zlib_inflate 2020-01-31 10:30:40 -08:00
decompress_unlz4.c
decompress_unlzma.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
decompress_unlzo.c
decompress_unxz.c
decompress_unzstd.c lib: decompress_unzstd: Limit output size 2020-09-03 10:13:09 +02:00
decompress.c lib: Add zstd support to decompress 2020-07-31 11:49:08 +02:00
devmem_is_allowed.c lib: Add a generic version of devmem_is_allowed() 2020-12-11 12:28:08 -08:00
devres.c driver core: platform: Document return type of more functions 2020-09-10 18:30:01 +02:00
digsig.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
dump_stack.c stop_machine: Add function and caller debug info 2020-11-10 18:38:57 +01:00
dynamic_debug.c dyndbg: fix use before null check 2020-12-09 20:10:12 +01:00
dynamic_queue_limits.c lib: dynamic_queue_limits: delete duplicated words + fix typo 2020-10-16 11:11:20 -07:00
earlycpio.c lib: earlycpio: delete duplicated words 2020-10-16 11:11:20 -07:00
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
fault-inject-usercopy.c lib, include/linux: add usercopy failure capability 2020-10-16 11:11:22 -07:00
fault-inject.c fault_inject: Don't rely on "return value" from WRITE_ONCE() 2020-04-15 21:36:41 +01:00
fdt_addresses.c libfdt: include fdt_addresses.c 2020-01-08 16:59:19 +00:00
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
fdt.c
find_bit_benchmark.c
find_bit.c kernel.h: split out mathematical helpers 2020-12-15 22:46:15 -08:00
flex_proportions.c lib/flex_proportions.c: cleanup __fprop_inc_percpu_max 2020-06-04 19:06:25 -07:00
gen_crc32table.c
gen_crc64table.c
genalloc.c lib/genalloc: fix the overflow when size is too big 2020-12-29 15:36:49 -08:00
generic-radix-tree.c
glob.c Revert "lib: Revert use of fallthrough pseudo-keyword in lib/" 2020-11-18 14:15:17 -06:00
globtest.c
hexdump.c kernel.h: split out min()/max() et al. helpers 2020-10-16 11:11:19 -07:00
hweight.c
idr.c XArray updates for 5.9 2020-10-20 14:39:37 -07:00
inflate.c
interval_tree_test.c
interval_tree.c
iomap_copy.c
iomap.c iomap: constify ioreadX() iomem argument (as in generic implementation) 2020-08-14 19:56:57 -07:00
iommu-helper.c
iov_iter.c iov_iter: fix the uaccess area in copy_compat_iovec_from_user 2021-01-15 22:51:42 -05:00
irq_poll.c
irq_regs.c
is_single_threaded.c
kasprintf.c
Kconfig Add and use a generic version of devmem_is_allowed() 2020-12-11 12:30:26 -08:00
Kconfig.debug An addition to compiler_attributes.h thanks to: 2021-01-04 10:47:38 -08:00
Kconfig.kasan kasan: introduce CONFIG_KASAN_HW_TAGS 2020-12-22 12:55:07 -08:00
Kconfig.kcsan kcsan: Test support for compound instrumentation 2020-08-24 15:09:58 -07:00
Kconfig.kgdb kgdb: Honour the kprobe blocklist when setting breakpoints 2020-09-28 12:14:08 +01:00
Kconfig.ubsan ubsan: disable unsigned-overflow check for i386 2021-01-24 10:34:52 -08:00
kfifo.c
klist.c
kobject_uevent.c
kobject.c kobject: Drop unneeded conditional in __kobject_del() 2020-09-07 11:24:17 +02:00
kstrtox.c lib: Fix fall-through warnings for Clang 2020-11-19 07:23:47 -06:00
kstrtox.h
libcrc32c.c lib: libcrc32c: delete duplicated words 2020-10-16 11:11:19 -07:00
linear_ranges.c lib: linear_ranges: Add missing MODULE_LICENSE() 2020-05-11 11:55:28 +01:00
list_debug.c
list_sort.c
list-test.c Fix linked-list KUnit test when run multiple times 2020-03-25 16:38:39 -06:00
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 Merge branch 'akpm' (patches from Andrew) 2020-12-15 12:53:37 -08:00
lockref.c
logic_pio.c logic_pio: Use _inX() and _outX() 2020-05-07 14:54:26 +08:00
lru_cache.c
lshrdi3.c
Makefile RISC-V Patches for the 5.11 Merge Window, Part 1 2020-12-18 10:43:07 -08:00
memcat_p.c
memory-notifier-error-inject.c
memregion.c lib/memregion.c: include memregion.h 2020-09-26 10:33:57 -07:00
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 lib: Add backtrace_idle parameter to force backtrace of idle CPUs 2020-08-24 14:24:25 -07:00
nodemask.c
notifier-error-inject.c
notifier-error-inject.h
objagg.c lib: objagg: Replace zero-length arrays with flexible-array member 2020-02-16 18:33:00 -08:00
of-reconfig-notifier-error-inject.c
oid_registry.c
once.c
packing.c lib: packing: add documentation for pbuflen argument 2020-06-28 20:45:27 -07:00
parman.c
parser.c
pci_iomap.c
percpu_counter.c lib/percpu_counter.c: use helper macro abs() 2020-10-16 11:11:20 -07:00
percpu_test.c
percpu-refcount.c percpu_ref: don't refer to ref->data if it isn't allocated 2020-10-09 12:32:06 -06:00
plist.c
pm-notifier-error-inject.c
radix-tree.c XArray updates for 5.9 2020-10-20 14:39:37 -07:00
random32.c random32: add a selftest for the prandom32 code 2020-10-24 20:21:57 +02:00
ratelimit.c
rbtree_test.c
rbtree.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
refcount.c
rhashtable.c rhashtable: Restore RCU marking on rhash_lock_head 2020-07-28 17:09:49 -07:00
sbitmap.c sbitmap: simplify wrap check 2020-12-07 17:12:49 -07:00
scatterlist.c lib/scatterlist: use consistent sg_copy_buffer() return type 2020-10-29 08:55:45 -06:00
seq_buf.c seq_buf: Export seq_buf_printf 2020-06-15 18:22:43 -07:00
sg_pool.c
sg_split.c
sha1.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
show_mem.c
siphash.c Revert "lib: Revert use of fallthrough pseudo-keyword in lib/" 2020-11-18 14:15:17 -06:00
smp_processor_id.c sched: Make migrate_disable/enable() independent of RT 2020-11-24 11:25:44 +01:00
sort.c
stackdepot.c lib/stackdepot.c: use array_size() helper in jhash2() 2020-12-15 22:46:16 -08:00
stmp_device.c
string_helpers.c lib: string_helpers: provide kfree_strarray() 2020-09-30 10:50:30 +02:00
string.c lib/string: remove unnecessary #undefs 2020-12-15 22:46:16 -08:00
strncpy_from_user.c lib/strncpy_from_user.c: Mask out bytes after NUL terminator. 2020-11-19 11:56:16 -08:00
strnlen_user.c uaccess: Selectively open read or write user access 2020-05-01 12:35:21 +10:00
syscall.c lib/syscall: fix syscall registers retrieval on 32-bit platforms 2020-12-03 09:52:44 -08:00
test_bitmap.c test_bitmap: remove user bitmap tests 2020-09-08 22:21:33 -04:00
test_bitops.c lib/test_bitops: do the full test during module init 2020-08-12 10:57:59 -07:00
test_bits.c lib/test_bits.c: add tests of GENMASK 2020-08-12 10:58:00 -07:00
test_blackhole_dev.c
test_bpf.c bpf: revert "test_bpf: Flag tests that cannot be jited on s390" 2020-07-16 20:52:43 +02: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: Add an FPU selftest 2020-06-29 10:02:23 +02: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_uapi.h mm/hmm: add tests for hmm_pfn_to_map_order() 2020-07-10 16:24:28 -03:00
test_hmm.c lib/test_hmm.c: fix an error code in dmirror_allocate_chunk() 2020-10-16 11:11:20 -07:00
test_ida.c
test_kasan_module.c kasan: rename KASAN_SHADOW_* to KASAN_GRANULE_* 2020-12-22 12:55:06 -08:00
test_kasan.c kasan: rename KASAN_SHADOW_* to KASAN_GRANULE_* 2020-12-22 12:55:06 -08:00
test_kmod.c lib: cleanup kstrto*() usage 2020-12-15 22:46:16 -08:00
test_linear_ranges.c lib/test_linear_ranges: add a test for the 'linear_ranges' 2020-05-08 18:18:12 +01:00
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 lib/test_meminit.c: add bulk alloc/free tests 2019-12-04 19:44:13 -08:00
test_min_heap.c lib: Introduce generic min-heap 2020-03-06 11:56:59 +01:00
test_module.c
test_objagg.c test_objagg: Fix potential memory leak in error handling 2020-06-15 13:32:11 -07:00
test_overflow.c
test_parman.c
test_printf.c Driver core patches for 5.8-rc1 2020-06-07 10:53:36 -07:00
test_rhashtable.c rhashtable: fix indentation of a continue statement 2020-09-20 14:10:06 -07:00
test_siphash.c
test_sort.c
test_stackinit.c lib: test_stackinit.c: XFAIL switch variable init tests 2020-04-07 10:43:43 -07:00
test_static_key_base.c
test_static_keys.c
test_string.c
test_strscpy.c
test_sysctl.c lib: test_sysctl: delete duplicated words 2020-10-16 11:11:20 -07:00
test_ubsan.c ubsan: expand tests and reporting 2020-12-15 22:46:19 -08:00
test_user_copy.c
test_uuid.c
test_vmalloc.c lib/test_vmalloc.c: Add test cases for kvfree_rcu() 2020-06-29 11:59:26 -07:00
test_xarray.c XArray updates for 5.9 2020-10-20 14:39:37 -07:00
test-kstrtox.c
test-string_helpers.c lib/test-string_helpers.c: Add string_upper() and string_lower() tests 2020-07-15 12:45:06 +03:00
textsearch.c
timerqueue.c
ts_bm.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00
ts_fsm.c Revert "lib: Revert use of fallthrough pseudo-keyword in lib/" 2020-11-18 14:15:17 -06:00
ts_kmp.c lib/ts_kmp.c: replace zero-length array with flexible-array member 2020-04-07 10:43:43 -07:00
ubsan.c lib/ubsan.c: mark type_check_kinds with static keyword 2020-12-15 22:46:19 -08:00
ubsan.h
ucmpdi2.c
ucs2_string.c
usercopy.c lib, uaccess: add failure injection to usercopy functions 2020-10-16 11:11:22 -07:00
uuid.c uuid: Provide a GUID generator for raw buffer 2020-03-23 17:01:47 +01:00
vsprintf.c lib: Fix fall-through warnings for Clang 2020-11-19 07:23:47 -06:00
win_minmax.c
xarray.c XArray updates for 5.9 2020-10-20 14:39:37 -07:00
xxhash.c lib/: replace HTTP links with HTTPS ones 2020-08-12 10:58:00 -07:00