Ubuntu-focal-kernel/lib
Matthew Wilcox (Oracle) 61689bfe57 ida: Fix crash in ida_free when the bitmap is empty
The IDA usually detects double-frees, but that detection failed to
consider the case when there are no nearby IDs allocated and so we have a
NULL bitmap rather than simply having a clear bit.  Add some tests to the
test-suite to be sure we don't inadvertently reintroduce this problem.
Unfortunately they're quite noisy so include a message to disregard
the warnings.

Reported-by: Zhenghan Wang <wzhmmmmm@gmail.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit af73483f4e8b6f5c68c9aa63257bdd929a9c194a)
CVE-2023-6915
Signed-off-by: Bethany Jamison <bethany.jamison@canonical.com>
Acked-by: Manuel Diewald <manuel.diewald@canonical.com>
Acked-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
Signed-off-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
2024-02-02 14:13:22 +01:00
..
842
crypto lib/crypto: blake2s: move hmac construction into wireguard 2022-08-26 11:09:35 +02:00
dim linux/dim: Do nothing if no time delta between samples 2023-08-09 12:25:27 +02:00
fonts lib/fonts: fix undefined behavior in bit shift for get_default_font 2023-02-01 15:22:13 +01:00
livepatch
lz4 lz4: fix LZ4_decompress_safe_partial read out of bound 2022-05-20 15:20:00 +02:00
lzo lib/lzo: fix ambiguous encoding bug in lzo-rle 2020-08-08 01:53:12 -04:00
math
mpi crypto: lib/mpi - avoid null pointer deref in mpi_cmp_ui() 2023-10-30 11:42:22 +01:00
raid6 lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3 2022-05-20 15:19:19 +02:00
reed_solomon
vdso lib/vdso: use "grep -E" instead of "egrep" 2023-02-01 15:21:25 +01:00
xz lib/xz: Validate the value before assigning it to an enum variable 2022-01-13 18:42:11 +01:00
zlib_deflate lib/zlib: add zlib_deflate_dfltcc_enabled() function 2020-03-07 08:42:39 -06:00
zlib_dfltcc lib/zlib: add zlib_deflate_dfltcc_enabled() function 2020-03-07 08:42:39 -06:00
zlib_inflate lib/zlib: remove outdated and incorrect pre-increment optimization 2020-08-08 01:53:12 -04:00
zstd
.gitignore
Kconfig ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE 2022-05-20 15:17:55 +02:00
Kconfig.debug Kconfig.debug: provide a little extra FRAME_WARN leeway when KASAN is enabled 2023-02-01 15:21:47 +01:00
Kconfig.kasan
Kconfig.kgdb
Kconfig.ubsan
Makefile avoid __memcat_p link failure 2021-05-19 10:53:23 +02:00
argv_split.c
ashldi3.c
ashrdi3.c
asn1_decoder.c
assoc_array.c assoc_array: Fix BUG_ON during garbage collect 2022-08-26 11:07:00 +02:00
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-26 15:39:19 +02:00
build_OID_registry
bust_spinlocks.c
chacha.c
check_signature.c
checksum.c
clz_ctz.c lib/clz_ctz.c: Fix __clzdi2() and __ctzdi2() for 32-bit kernels 2023-10-30 11:42:02 +01:00
clz_tab.c
cmdline.c
cmpdi2.c
compat_audit.c
cpu_rmap.c lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release() 2023-09-01 14:48:41 +02:00
cpumask.c
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c crc-t10dif: Fix potential crypto notify dead-lock 2020-09-04 16:28:56 -03:00
crc4.c
crc7.c
crc8.c
crc16.c
crc32.c lib/crc32.c: fix trivial typo in preprocessor condition 2020-11-09 14:49:00 +01:00
crc32defs.h
crc32test.c lib/crc32test: remove extra local_irq_disable/enable 2020-12-10 12:05:50 +01:00
crc64.c
ctype.c
debug_info.c
debug_locks.c
debugobjects.c debugobjects: Recheck debug_objects_enabled before reporting 2023-10-02 12:12:15 +02:00
dec_and_lock.c
decompress.c
decompress_bunzip2.c
decompress_inflate.c lib/zlib: add s390 hardware support for kernel zlib_inflate 2020-03-07 08:42:30 -06:00
decompress_unlz4.c UBUNTU: SAUCE: lib/decompress_unlz4.c: correctly handle zero-padding around initrds. 2021-01-18 17:26:31 +01:00
decompress_unlzma.c
decompress_unlzo.c
decompress_unxz.c lib/xz: Avoid overlapping memcpy() with invalid input with in-place decompression 2022-01-13 18:42:11 +01:00
devres.c devres: keep both device name and resource name in pretty name 2020-09-04 16:30:00 -03:00
digsig.c
dump_stack.c dump_stack: avoid the livelock of the dump_lock 2019-11-06 08:47:50 -08:00
dynamic_debug.c lib/dynamic_debug.c: use address-of operator on section symbols 2023-08-09 12:25:41 +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 uapi: rename ext2_swab() to swab() and share globally in swab.h 2020-05-05 12:32:22 +02:00
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-02-19 16:43:37 +01:00
generic-radix-tree.c
glob.c
globtest.c
hexdump.c hex2bin: fix access beyond string end 2022-06-22 14:51:05 +02:00
hweight.c
idr.c ida: Fix crash in ida_free when the bitmap is empty 2024-02-02 14:13:22 +01:00
inflate.c
interval_tree.c
interval_tree_test.c
iomap.c
iomap_copy.c
iommu-helper.c
ioremap.c
iov_iter.c mm/highmem: Lift memcpy_[to|from]_page to core 2023-02-01 15:23:36 +01:00
irq_poll.c
irq_regs.c
is_single_threaded.c
kasprintf.c
kfifo.c
klist.c
kobject.c kobject: Fix slab-out-of-bounds in fill_kobj_path() 2024-01-05 14:29:59 +01:00
kobject_uevent.c kobject_uevent: remove warning in init_uevent_argv() 2021-06-18 15:02:22 +02:00
kstrtox.c lib: vsprintf: Fix handling of number field widths in vsscanf 2021-08-13 09:45:14 +02:00
kstrtox.h lib: vsprintf: Fix handling of number field widths in vsscanf 2021-08-13 09:45:14 +02:00
libcrc32c.c
list_debug.c lib/list_debug.c: Detect uninitialized lists 2022-10-17 15:02:00 +02:00
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 lockref: stop doing cpu_relax in the cmpxchg loop 2023-03-21 10:08:59 +01:00
logic_pio.c PCI: Fix pci_register_io_range() memory leak 2021-04-14 18:31:56 +02:00
lru_cache.c
lshrdi3.c
memcat_p.c
memory-notifier-error-inject.c
memweight.c
muldi3.c
net_utils.c
netdev-notifier-error-inject.c
nlattr.c netlink: limit recursion depth in policy validation 2023-07-10 17:22:01 +02:00
nmi_backtrace.c
nodemask.c nodemask: Fix return values to be unsigned 2022-08-26 11:09:27 +02:00
notifier-error-inject.c lib/notifier-error-inject: fix error when writing -errno to debugfs file 2023-02-01 15:22:16 +01:00
notifier-error-inject.h
objagg.c
of-reconfig-notifier-error-inject.c
oid_registry.c
once.c once: add DO_ONCE_SLOW() for sleepable contexts 2023-01-06 08:43:56 -08:00
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 radix tree: remove unused variable 2023-10-30 11:42:02 +01:00
random32.c random32: add noise from network and scheduling activity 2023-10-02 12:11:55 +02:00
ratelimit.c ratelimit: Fix data-races in ___ratelimit(). 2022-10-17 15:02:14 +02:00
rbtree.c
rbtree_test.c
refcount.c locking/refcount: Consolidate implementations of refcount_t 2022-09-16 10:59:59 +02:00
rhashtable.c
sbitmap.c sbitmap: only queue kyber's wait callback if not already active 2020-01-30 16:23:16 +01:00
scatterlist.c sgl_alloc_order: fix memory leak 2020-12-10 12:03:00 +01:00
seq_buf.c seq_buf: Fix overflow in seq_buf_putmem_hex() 2021-08-13 09:46:59 +02:00
sg_pool.c
sg_split.c
sha1.c lib/crypto: sha1: re-roll loops to reduce code size 2022-08-26 11:09:35 +02:00
show_mem.c
siphash.c siphash: use one source of truth for siphash permutations 2022-08-26 11:10:29 +02:00
smp_processor_id.c
sort.c
stackdepot.c lib: stackdepot: turn depot_lock spinlock to raw_spinlock 2021-06-18 15:02:25 +02:00
stmp_device.c
string.c lib/string.c: implement stpcpy 2020-11-09 14:48:03 +01:00
string_helpers.c
strncpy_from_user.c lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() 2020-01-30 16:28:22 +01:00
strnlen_user.c lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() 2020-01-30 16:28:22 +01:00
syscall.c lib/syscall: fix syscall registers retrieval on 32-bit platforms 2021-01-20 14:25:04 +01:00
test-kstrtox.c
test-string_helpers.c
test_bitfield.c
test_bitmap.c
test_blackhole_dev.c
test_bpf.c bpf/tests: Do not PASS tests without actually testing the result 2021-10-12 16:31:30 -06:00
test_debug_virtual.c
test_firmware.c test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation 2023-10-30 11:41:50 +01:00
test_hash.c
test_hexdump.c
test_ida.c ida: Fix crash in ida_free when the bitmap is empty 2024-02-02 14:13:22 +01:00
test_kasan.c kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE 2020-08-08 01:53:12 -04:00
test_kmod.c lib/test: use after free in register_test_dev_kmod() 2022-05-20 15:19:16 +02:00
test_list_sort.c
test_memcat_p.c
test_meminit.c lib/test_meminit: fix off-by-one error in test_pages() 2024-01-05 14:29:53 +01:00
test_module.c
test_objagg.c test_objagg: Fix potential memory leak in error handling 2020-08-08 01:53:12 -04:00
test_overflow.c
test_parman.c
test_printf.c vsprintf: don't obfuscate NULL and error pointers 2020-06-22 17:22:42 -03:00
test_rhashtable.c
test_siphash.c
test_sort.c
test_stackinit.c lib/test_stackinit: Fix static initializer test 2021-10-12 16:31:40 -06:00
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_create_range() when multi-order entry present 2022-05-20 15:19:33 +02:00
textsearch.c
timerqueue.c
ts_bm.c lib/ts_bm: reset initial match offset for every block of text 2023-10-02 12:12:03 +02:00
ts_fsm.c
ts_kmp.c
ubsan.c lib/ubsan: don't serialize UBSAN report 2020-01-30 16:22:24 +01:00
ubsan.h
ucmpdi2.c
ucs2_string.c
usercopy.c uaccess: Add speculation barrier to copy_from_user() 2023-04-18 17:21:05 +02:00
uuid.c
vsprintf.c random: replace custom notifier chain with standard one 2022-08-26 11:10:14 +02:00
win_minmax.c
xarray.c XArray: Update the LRU list in xas_split() 2022-05-20 15:19:34 +02:00
xxhash.c