linux/lib
Daniel Wagner b6139a6abf lib/group_cpus: Let group_cpu_evenly() return the number of initialized masks
group_cpu_evenly() might have allocated less groups then requested:

group_cpu_evenly()
  __group_cpus_evenly()
    alloc_nodes_groups()
      # allocated total groups may be less than numgrps when
      # active total CPU number is less then numgrps

In this case, the caller will do an out of bound access because the
caller assumes the masks returned has numgrps.

Return the number of groups created so the caller can limit the access
range accordingly.

Acked-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Daniel Wagner <wagi@kernel.org>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20250617-isolcpus-queue-counters-v1-1-13923686b54b@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-07-01 10:24:11 -06:00
..
842
crypto This push fixes a regression in ahash (broken fallback finup) 2025-06-19 23:15:10 -07:00
dim
fonts
kunit kunit: Fix wrong parameter to kunit_deactivate_static_stub() 2025-05-21 09:51:23 -06:00
lz4
lzo
math
pldmfw pldmfw: Don't require send_package_data or send_component_table to be defined 2025-05-15 12:59:18 +02:00
raid6 raid6: riscv: Fix NULL pointer dereference caused by a missing clobber 2025-06-12 12:21:48 -07:00
reed_solomon
test_fortify kbuild: require gcc-8 and binutils-2.30 2025-04-30 21:53:35 +02:00
tests bitmap-for-6.16 2025-06-03 07:39:23 -07:00
vdso mseal sysmap: generic vdso vvar mapping 2025-04-01 15:17:15 -07:00
xz
zlib_deflate
zlib_dfltcc
zlib_inflate zlib: add module description 2025-04-11 17:32:38 -07:00
zstd
.gitignore
alloc_tag.c mm/alloc_tag: fix the kmemleak false positive issue in the allocation of the percpu variable tag->counters 2025-06-25 15:55:03 -07:00
argv_split.c
ashldi3.c
ashrdi3.c
asn1_decoder.c ASN.1: add module description 2025-04-11 17:32:37 -07:00
asn1_encoder.c
assoc_array.c
atomic64_test.c
atomic64.c
audit.c
base64.c
bcd.c
bch.c
bitmap-str.c
bitmap.c
bitrev.c
bootconfig-data.S
bootconfig.c
bsearch.c
btree.c
bucket_locks.c
bug.c
build_OID_registry
buildid.c
bust_spinlocks.c
check_signature.c
checksum.c
closure.c
clz_ctz.c
clz_tab.c
cmdline.c
cmpdi2.c
cmpxchg-emu.c
codetag.c alloc_tag: handle module codetag load errors as module load failures 2025-06-05 22:02:23 -07:00
compat_audit.c
cpu_rmap.c
cpumask.c
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
crc4.c
crc7.c
crc8.c
crc16.c lib/crc16: unexport crc16_table and crc16_byte() 2025-05-13 20:37:16 -07:00
crc32.c Networking changes for 6.16. 2025-05-28 15:24:36 -07:00
crc64.c
ctype.c
debug_info.c
debug_locks.c
debugobjects.c
dec_and_lock.c
decompress_bunzip2.c
decompress_inflate.c
decompress_unlz4.c
decompress_unlzma.c
decompress_unlzo.c
decompress_unxz.c
decompress_unzstd.c
decompress.c
devmem_is_allowed.c
devres.c devres: Export devm_ioremap_resource_wc() 2025-05-05 16:18:09 -05:00
dhry_1.c
dhry_2.c
dhry_run.c
dhry.h
digsig.c
dump_stack.c
dynamic_debug.c
dynamic_queue_limits.c
earlycpio.c
errname.c
error-inject.c
errseq.c errseq: eliminate special limitation for macro MAX_ERRNO 2025-05-11 17:54:06 -07:00
extable.c
fault-inject-usercopy.c
fault-inject.c
fdt_addresses.c
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 find: Add find_first_andnot_bit() 2025-05-15 20:24:40 +02:00
flex_proportions.c
fw_table.c
gen_crc32table.c
gen_crc64table.c
genalloc.c
generic-radix-tree.c
glob.c
globtest.c
group_cpus.c lib/group_cpus: Let group_cpu_evenly() return the number of initialized masks 2025-07-01 10:24:11 -06:00
hexdump.c
hweight.c
idr.c
inflate.c
interval_tree_test.c
interval_tree.c
iomap_copy.c
iomap.c
iomem_copy.c
iommu-helper.c
iov_iter.c iov_iter: use iov_offset for length calculation in iov_iter_aligned_bvec 2025-06-05 22:02:23 -07:00
irq_poll.c
irq_regs.c
is_single_threaded.c
kasprintf.c
Kconfig pldmfw: Select CRC32 when PLDMFW is selected 2025-06-16 14:12:08 -07:00
Kconfig.debug - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
Kconfig.kasan
Kconfig.kcsan
Kconfig.kfence
Kconfig.kgdb
Kconfig.kmsan
Kconfig.ubsan hardening fixes for v6.16-rc1 (take 2) 2025-06-01 11:37:01 -07:00
kfifo.c
klist.c
kobject_uevent.c
kobject.c
kstrtox.c kstrtox: add support for enabled and disabled in kstrtobool() 2025-05-11 17:54:06 -07:00
kstrtox.h
linear_ranges.c
list_debug.c
list_sort.c
llist.c llist: make llist_add_batch() a static inline 2025-05-27 19:40:34 -07:00
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 kbuild: Switch from -Wvla to -Wvla-larger-than=1 2025-05-08 09:42:06 -07:00
maple_tree.c maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate() 2025-06-19 20:48:04 -07:00
memcat_p.c
memory-notifier-error-inject.c
memregion.c
memweight.c
min_heap.c
muldi3.c
net_utils.c
netdev-notifier-error-inject.c
nlattr.c
nmi_backtrace.c
notifier-error-inject.c
notifier-error-inject.h
objagg.c
objpool.c
of-reconfig-notifier-error-inject.c
oid_registry.c lib/oid_registry.c: remove unused sprint_OID 2025-05-11 17:54:13 -07:00
once.c
packing_test.c
packing.c
parman.c
parser.c
percpu_counter.c
percpu_test.c
percpu-refcount.c
plist.c
pm-notifier-error-inject.c
polynomial.c
radix-tree.c
radix-tree.h
random32.c
ratelimit.c ratelimit: Drop redundant accesses to burst 2025-05-08 16:13:27 -07:00
rbtree_test.c
rbtree.c lib/rbtree.c: fix the example typo 2025-05-11 17:54:04 -07:00
rcuref.c
ref_tracker.c
refcount.c
rhashtable.c
sbitmap.c
scatterlist.c scatterlist: fix extraneous '@'-sign kernel-doc notation 2025-06-11 22:42:35 -07:00
seq_buf.c
sg_pool.c
sg_split.c lib: scatterlist: fix sg_split_phys to preserve original scatterlist offsets 2025-04-01 15:20:46 -07:00
siphash.c
smp_processor_id.c
sort.c lib/sort.c: add _nonatomic() variants with cond_resched() 2025-04-01 15:20:46 -07:00
stackdepot.c
stmp_device.c
string_helpers.c lib/string_helpers: Introduce parse_int_array() 2025-04-07 15:07:56 +01:00
string.c string: Add load_unaligned_zeropad() code path to sized_strscpy() 2025-04-15 13:50:17 -07:00
strncpy_from_user.c
strnlen_user.c
syscall.c
test_bitmap.c
test_bitops.c
test_bpf.c
test_debug_virtual.c
test_dynamic_debug.c
test_firmware.c
test_fpu_glue.c
test_fpu_impl.c
test_fpu.h
test_free_pages.c
test_hexdump.c
test_hmm_uapi.h
test_hmm.c
test_ida.c
test_kmod.c lib/test_kmod: do not hardcode/depend on any filesystem 2025-05-11 17:54:09 -07:00
test_lockup.c
test_maple_tree.c
test_memcat_p.c
test_meminit.c
test_min_heap.c
test_module.c
test_objagg.c
test_objpool.c
test_parman.c
test_ref_tracker.c
test_rhashtable.c
test_static_key_base.c
test_static_keys.c
test_sysctl.c sysctl: Close test ctl_headers with a for loop 2025-04-14 14:13:41 +02:00
test_ubsan.c ubsan: Fix panic from test_ubsan_out_of_bounds 2025-04-15 13:50:17 -07:00
test_uuid.c
test_vmalloc.c lib/test_vmalloc.c: allow built-in execution 2025-05-11 17:48:34 -07:00
test_xarray.c xarray: make xa_alloc_cyclic() return 0 on all success cases 2025-05-11 17:48:19 -07:00
test-kstrtox.c
textsearch.c
timerqueue.c
trace_readwrite.c
ts_bm.c
ts_fsm.c
ts_kmp.c
ubsan.c KVM: arm64: Introduce CONFIG_UBSAN_KVM_EL2 2025-05-07 11:21:35 +01:00
ubsan.h
ucmpdi2.c
ucs2_string.c ucs2_string: add module description 2025-04-11 17:32:38 -07:00
union_find.c
usercopy.c
uuid.c
vsprintf.c drm for 6.16-rc1 2025-05-28 09:46:39 -07:00
win_minmax.c
xarray.c xarray: fix kerneldoc for __xa_cmpxchg 2025-05-12 23:50:49 -07:00
xxhash.c