linux/lib
Dave Chinner 70c435ca8d stackdepot: use gfp_nested_mask() instead of open coded masking
The stackdepot code is used by KASAN and lockdep for recoding stack
traces.  Both of these track allocation context information, and so their
internal allocations must obey the caller allocation contexts to avoid
generating their own false positive warnings that have nothing to do with
the code they are instrumenting/tracking.

We also don't want recording stack traces to deplete emergency memory
reserves - debug code is useless if it creates new issues that can't be
replicated when the debug code is disabled.

Switch the stackdepot allocation masking to use gfp_nested_mask() to
address these issues.  gfp_nested_mask() also strips GFP_ZONEMASK
naturally, so that greatly simplifies this code.

Link: https://lkml.kernel.org/r/20240430054604.4169568-3-david@fromorbit.com
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Marco Elver <elver@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
Cc: Andrey Konovalov <andreyknvl@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2024-05-19 14:40:44 -07:00
..
842
crypto crypto: lib - implement library version of AES in CFB mode 2024-05-09 22:30:51 +03:00
dim lib: Allow for the DIM library to be modular 2024-05-07 16:42:45 -07:00
fonts fbdev fixes and cleanups for 6.9-rc1: 2024-03-22 10:09:08 -07:00
kunit kunit: bail out early in __kunit_test_suites_init() if there are no suites to test 2024-05-06 14:22:02 -06:00
lz4
lzo
math bitmap: introduce generic optimized bitmap_size() 2024-04-01 10:49:28 +01:00
pldmfw
raid6 kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
reed_solomon
test_fortify string: Remove strlcpy() 2024-01-19 11:59:11 -08:00
vdso vdso: Fix powerpc build U64_MAX undeclared error 2024-04-09 12:35:19 +02:00
xz
zlib_deflate
zlib_dfltcc
zlib_inflate
zstd zstd: Fix array-index-out-of-bounds UBSAN warning 2023-11-14 17:12:52 -08:00
.gitignore
alloc_tag.c alloc_tag: Tighten file permissions on /proc/allocinfo 2024-04-25 20:55:59 -07:00
argv_split.c
ashldi3.c
ashrdi3.c
asn1_decoder.c
asn1_encoder.c
assoc_array.c assoc_array: fix the return value in assoc_array_insert_mid_shortcut() 2024-03-12 13:09:23 -07:00
atomic64.c
atomic64_test.c
audit.c
base64.c
bcd.c
bch.c
bitfield_kunit.c
bitmap-str.c
bitmap.c cpumask: add cpumask_weight_andnot() 2024-02-01 13:06:40 +01:00
bitrev.c
bootconfig-data.S
bootconfig.c bootconfig: Fix the kerneldoc of _xbc_exit() 2024-04-18 05:01:32 +09:00
bsearch.c
btree.c
bucket_locks.c
bug.c
build_OID_registry lib/build_OID_registry: don't mention the full path of the script in output 2024-04-25 21:07:01 -07:00
buildid.c vmlinux: Avoid weak reference to notes section 2024-05-02 19:48:26 +09:00
bust_spinlocks.c
check_signature.c
checksum.c
checksum_kunit.c lib: checksum: hide unused expected_csum_ipv6_magic[] 2024-04-08 11:03:05 +01:00
closure.c closures: closure_sync_timeout() 2024-05-08 17:29:22 -04:00
clz_ctz.c
clz_tab.c
cmdline.c
cmdline_kunit.c lib/cmdline: Fix an invalid format specifier in an assertion msg 2024-02-27 15:25:56 -07:00
cmpdi2.c
cmpxchg-emu.c lib: Add one-byte emulation function 2024-04-09 22:06:00 -07:00
codetag.c lib: add memory allocations report in show_mem() 2024-04-25 20:55:57 -07:00
compat_audit.c
cpu_rmap.c
cpumask.c bitmap patches for v6.7 2023-11-03 07:08:36 -10:00
cpumask_kunit.c
crc-ccitt.c lib: crc_ccitt_false() is identical to crc_itu_t() 2023-12-29 12:22:26 -08:00
crc-itu-t.c
crc-t10dif.c
crc4.c
crc7.c
crc8.c
crc16.c
crc32.c
crc32defs.h
crc32test.c
crc64-rocksoft.c
crc64.c
ctype.c
debug_info.c
debug_locks.c
debugobjects.c debugobjects: Stop accessing objects after releasing hash bucket lock 2023-11-22 10:41:46 +01:00
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 devres: don't use "proxy" headers 2024-04-25 21:07:06 -07:00
dhry.h
dhry_1.c lib: dhry: use ktime_ms_delta() helper 2024-02-22 15:38:52 -08:00
dhry_2.c
dhry_run.c lib: dhry: remove unneeded <linux/mutex.h> 2024-02-22 15:38:52 -08:00
digsig.c
dump_stack.c dump_stack: Do not get cpu_sync for panic CPU 2024-02-07 17:23:19 +01:00
dynamic_debug.c dyndbg: fix old BUG_ON in >control parser 2024-04-30 09:20:48 +02:00
dynamic_queue_limits.c net: dqs: make struct dql more cache efficient 2024-04-15 11:19:53 -07:00
earlycpio.c
errname.c parisc: Drop the HP-UX ENOSYM and EREMOTERELEASE error codes 2023-11-25 09:43:18 +01:00
error-inject.c
errseq.c
extable.c
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 cpumask: Introduce cpumask_first_and_and() 2024-04-24 21:23:49 +02:00
find_bit_benchmark.c
flex_proportions.c flex_proportions: remove unused fprop_local_single 2024-02-22 15:38:52 -08:00
fortify_kunit.c string: Add additional __realloc_size() annotations for "dup" helpers 2024-05-02 07:52:41 -07:00
fw_table.c lib/firmware_table: Provide buffer length argument to cdat_table_parse() 2024-03-13 00:03:21 -07:00
gen_crc32table.c
gen_crc64table.c
genalloc.c
generic-radix-tree.c lib/generic-radix-tree.c: Make nodes more reasonably sized 2024-03-13 21:22:26 -04:00
glob.c
globtest.c
group_cpus.c lib/group_cpus.c: avoid acquiring cpu hotplug lock in group_cpus_evenly 2023-12-06 16:12:46 -08:00
hashtable_test.c
hexdump.c
hweight.c
idr.c ida: Fix crash in ida_free when the bitmap is empty 2023-12-21 10:02:28 -08:00
inflate.c
interval_tree.c
interval_tree_test.c
iomap.c
iomap_copy.c s390: Stop using weak symbols for __iowrite64_copy() 2024-04-22 17:11:20 -03:00
iommu-helper.c
iov_iter.c vfs-6.9.misc 2024-03-11 09:38:17 -07:00
irq_poll.c
irq_regs.c
is_signed_type_kunit.c
is_single_threaded.c
kasprintf.c
Kconfig lib: Allow for the DIM library to be modular 2024-05-07 16:42:45 -07:00
Kconfig.debug The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
Kconfig.kasan treewide: update LLVM Bugzilla links 2024-02-22 15:38:51 -08:00
Kconfig.kcsan
Kconfig.kfence mm/slab: remove CONFIG_SLAB from all Kconfig and Makefile 2023-12-05 11:14:40 +01:00
Kconfig.kgdb kgdb: add HAS_IOPORT dependency 2024-04-25 21:07:05 -07:00
Kconfig.kmsan mm/slab: remove CONFIG_SLAB from all Kconfig and Makefile 2023-12-05 11:14:40 +01:00
Kconfig.ubsan ubsan: Disable signed integer overflow sanitizer on GCC < 8 2024-03-18 11:24:14 -07:00
kfifo.c kfifo: don't use "proxy" headers 2024-05-08 08:41:27 -07:00
klist.c
kobject.c Revert "kobject: Remove redundant checks for whether ktype is NULL" 2024-02-08 16:39:25 +00:00
kobject_uevent.c kobject: reduce uevent_sock_mutex scope 2024-02-17 16:20:41 +01:00
kstrtox.c
kstrtox.h
kunit_iov_iter.c kunit: Fix KUNIT_SUCCESS() calls in iov_iter tests 2024-05-06 14:22:02 -06:00
libcrc32c.c
linear_ranges.c
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
lockref.c
logic_iomem.c
logic_pio.c
lru_cache.c
lshrdi3.c
lwq.c
Makefile The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
maple_tree.c maple_tree: fix mas_empty_area_rev() null pointer dereference 2024-05-05 17:28:05 -07:00
memcat_p.c
memcpy_kunit.c string_kunit: Move strtomem KUnit test to string_kunit.c 2024-04-24 09:02:34 -07:00
memory-notifier-error-inject.c
memregion.c
memweight.c
muldi3.c
net_utils.c
netdev-notifier-error-inject.c
nlattr.c netlink: add nla be16/32 types to minlen array 2024-02-22 19:01:55 -08:00
nmi_backtrace.c
notifier-error-inject.c
notifier-error-inject.h
objagg.c
objpool.c objpool: cache nr_possible_cpus() and avoid caching nr_cpu_ids 2024-05-01 23:18:48 +09:00
of-reconfig-notifier-error-inject.c
oid_registry.c
once.c
overflow_kunit.c overflow: Change DEFINE_FLEX to take __counted_by member 2024-03-22 16:25:31 -07:00
packing.c
parman.c
parser.c
percpu-refcount.c
percpu_counter.c
percpu_test.c
plist.c
pm-notifier-error-inject.c
polynomial.c
radix-tree.c
radix-tree.h
random32.c
ratelimit.c
rbtree.c
rbtree_test.c
rcuref.c
ref_tracker.c
refcount.c
rhashtable.c rhashtable: plumb through alloc tag 2024-04-25 20:55:57 -07:00
sbitmap.c sbitmap: use READ_ONCE to access map->word 2024-04-26 07:40:28 -06:00
scatterlist.c Fix a potential infinite loop in extract_user_to_sg() 2024-04-26 12:35:57 -07:00
seq_buf.c seq_buf: Fix kernel documentation 2024-02-15 12:17:28 -05:00
sg_pool.c
sg_split.c
siphash.c
siphash_kunit.c
slub_kunit.c mm/slub, kunit: Use inverted data to corrupt kmem cache 2024-04-04 16:08:10 +02:00
smp_processor_id.c
sort.c lib/sort: optimize heapsort with double-pop variation 2024-02-22 15:38:52 -08:00
stackdepot.c stackdepot: use gfp_nested_mask() instead of open coded masking 2024-05-19 14:40:44 -07:00
stackinit_kunit.c - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min 2024-03-14 18:03:09 -07:00
stmp_device.c
string.c string: Allow 2-argument strscpy() 2024-02-20 20:47:32 -08:00
string_helpers.c lib/string_helpers: Add flags param to string_get_size() 2024-02-29 22:34:42 -08:00
string_helpers_kunit.c string: Convert helpers selftest to KUnit 2024-03-05 01:55:28 -08:00
string_kunit.c string_kunit: Move strtomem KUnit test to string_kunit.c 2024-04-24 09:02:34 -07:00
strncpy_from_user.c
strnlen_user.c
syscall.c
test-kstrtox.c
test_bitmap.c lib/bitmap: add compile-time test for __assign_bit() optimization 2024-04-01 10:49:28 +01:00
test_bitops.c
test_bits.c
test_blackhole_dev.c net: blackhole_dev: fix build warning for ethh set but not used 2024-02-05 12:30:54 +00:00
test_bpf.c bpf, tests: Fix typos in comments 2024-04-16 17:22:18 +02:00
test_debug_virtual.c
test_dynamic_debug.c
test_firmware.c firmware_loader: Expand Firmware upload error codes with firmware invalid error 2023-11-24 18:09:19 -08:00
test_fprobe.c
test_fpu.c
test_free_pages.c
test_hash.c
test_hexdump.c test_hexdump: avoid string truncation warning 2024-04-25 21:07:07 -07:00
test_hmm.c lib/test_hmm.c: handle src_pfns and dst_pfns allocation failure 2024-04-25 20:55:48 -07:00
test_hmm_uapi.h
test_ida.c Quite a lot of kexec work this time around. Many singleton patches in 2024-01-09 11:46:20 -08:00
test_kmod.c lib/test_kmod: fix kernel-doc warnings 2024-02-02 10:21:26 -08:00
test_kprobes.c
test_linear_ranges.c
test_list_sort.c
test_lockup.c
test_maple_tree.c test_maple_tree: testing the cyclic allocation 2024-02-21 09:34:26 +01:00
test_memcat_p.c
test_meminit.c mm, treewide: introduce NR_PAGE_ORDERS 2024-01-08 15:27:15 -08:00
test_min_heap.c
test_module.c
test_objagg.c
test_objpool.c lib: test_objpool: make global variables static 2023-11-10 19:59:04 +09:00
test_parman.c
test_printf.c
test_ref_tracker.c
test_rhashtable.c Kill sched.h dependency on rcupdate.h 2023-12-27 11:50:20 -05:00
test_scanf.c
test_sort.c
test_static_key_base.c
test_static_keys.c
test_sysctl.c sysctl: Remove the now superfluous sentinel elements from ctl_table array 2023-12-28 04:57:57 -08:00
test_ubsan.c ubsan: fix unused variable warning in test module 2024-04-03 14:35:57 -07:00
test_user_copy.c
test_uuid.c
test_vmalloc.c lib/test_vmalloc.c: use unsigned long constant 2024-03-04 17:01:22 -08:00
test_xarray.c The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
textsearch.c
timerqueue.c
trace_readwrite.c lib/trace_readwrite.c:: replace asm-generic/io with linux/io 2023-12-29 12:22:29 -08:00
ts_bm.c
ts_fsm.c
ts_kmp.c
ubsan.c ubsan: Add awareness of signed integer overflow traps 2024-04-15 17:42:43 -07:00
ubsan.h ubsan: Avoid i386 UBSAN handler crashes with Clang 2024-04-24 15:45:38 -07:00
ucmpdi2.c
ucs2_string.c
usercopy.c
uuid.c
vsprintf.c lib/vsprintf: Fix %pfwf when current node refcount == 0 2023-12-06 11:06:59 +01:00
win_minmax.c
xarray.c The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
xxhash.c