linux/scripts
Linus Torvalds 76d9b92e68 slab updates for 6.11
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEe7vIQRWZI0iWSE3xu+CwddJFiJoFAmaXl0kACgkQu+CwddJF
 iJrOlgf+N/G7BmgoW2CBF7mKsvCYs+pX3xeBuxPtsuq4FD386nsPFMN8gWAYLG3q
 ZU1z1S+0M8LhTg6/G9jMYLHt2Y7WhYbhFTjTHmULJkuhMDTUP9CRYy4XZ+hdPtHF
 30ezSdJQF9x/XxCSaaRVK1s+SMVHFg5xAOHKpfkNSamcMz9g+ZkYyPBr10/VoKd0
 JqwhW7r6hrlvWAiqY3QKCOvohIWglgvBUnNjUGMh1cUkOE2aYLYHklhRwICKgA6z
 p/2BUXiAEWUtgBkUrizwm/pdhJXLs0pOeYarVZP1v83tQMxyrc6XLNnqhvxP3DPW
 31thF5Rf9I8WaWTczXhxsAwFjqO3KQ==
 =4uf9
 -----END PGP SIGNATURE-----

Merge tag 'slab-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab

Pull slab updates from Vlastimil Babka:
 "The most prominent change this time is the kmem_buckets based
  hardening of kmalloc() allocations from Kees Cook.

  We have also extended the kmalloc() alignment guarantees for
  non-power-of-two sizes in a way that benefits rust.

  The rest are various cleanups and non-critical fixups.

   - Dedicated bucket allocator (Kees Cook)

     This series [1] enhances the probabilistic defense against heap
     spraying/grooming of CONFIG_RANDOM_KMALLOC_CACHES from last year.

     kmalloc() users that are known to be useful for exploits can get
     completely separate set of kmalloc caches that can't be shared with
     other users. The first converted users are alloc_msg() and
     memdup_user().

     The hardening is enabled by CONFIG_SLAB_BUCKETS.

   - Extended kmalloc() alignment guarantees (Vlastimil Babka)

     For years now we have guaranteed natural alignment for power-of-two
     allocations, but nothing was defined for other sizes (in practice,
     we have two such buckets, kmalloc-96 and kmalloc-192).

     To avoid unnecessary padding in the rust layer due to its alignment
     rules, extend the guarantee so that the alignment is at least the
     largest power-of-two divisor of the requested size.

     This fits what rust needs, is a superset of the existing
     power-of-two guarantee, and does not in practice change the layout
     (and thus does not add overhead due to padding) of the kmalloc-96
     and kmalloc-192 caches, unless slab debugging is enabled for them.

   - Cleanups and non-critical fixups (Chengming Zhou, Suren
     Baghdasaryan, Matthew Willcox, Alex Shi, and Vlastimil Babka)

     Various tweaks related to the new alloc profiling code, folio
     conversion, debugging and more leftovers after SLAB"

Link: https://lore.kernel.org/all/20240701190152.it.631-kees@kernel.org/ [1]

* tag 'slab-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
  mm/memcg: alignment memcg_data define condition
  mm, slab: move prepare_slab_obj_exts_hook under CONFIG_MEM_ALLOC_PROFILING
  mm, slab: move allocation tagging code in the alloc path into a hook
  mm/util: Use dedicated slab buckets for memdup_user()
  ipc, msg: Use dedicated slab buckets for alloc_msg()
  mm/slab: Introduce kmem_buckets_create() and family
  mm/slab: Introduce kvmalloc_buckets_node() that can take kmem_buckets argument
  mm/slab: Plumb kmem_buckets into __do_kmalloc_node()
  mm/slab: Introduce kmem_buckets typedef
  slab, rust: extend kmalloc() alignment guarantees to remove Rust padding
  slab: delete useless RED_INACTIVE and RED_ACTIVE
  slab: don't put freepointer outside of object if only orig_size
  slab: make check_object() more consistent
  mm: Reduce the number of slab->folio casts
  mm, slab: don't wrap internal functions with alloc_hooks()
2024-07-18 15:08:12 -07:00
..
atomic locking/atomic: scripts: fix ${atomic}_sub_and_test() kerneldoc 2024-06-05 15:52:34 +02:00
basic kbuild: implement CONFIG_TRIM_UNUSED_KSYMS without recursion 2023-06-22 21:21:06 +09:00
clang-tools gen_compile_commands: fix invalid escape sequence warning 2024-02-15 06:57:19 +09:00
coccinelle Coccinelle: pm_runtime: Fix grammar in comment 2024-05-20 21:31:33 +02:00
dtc Devicetree updates for v6.11: 2024-07-17 18:07:31 -07:00
dummy-tools kbuild: dummy-tools: pretend we understand -fpatchable-function-entry 2023-11-01 23:24:56 +09:00
gcc-plugins gcc-plugins: Remove duplicate included header file stringpool.h 2024-07-08 12:20:32 -07:00
gdb kbuild: scripts/gdb: bring the "abspath" back 2024-06-27 04:20:32 +09:00
genksyms kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
kconfig kconfig: remove wrong expr_trans_bool() 2024-06-06 20:09:10 +09:00
ksymoops
mod modpost: do not warn about missing MODULE_DESCRIPTION() for vmlinux.o 2024-06-07 08:42:31 +09:00
package kbuild: rpm-pkg: avoid the warnings with dtb's listed twice 2024-07-15 03:13:32 +09:00
selinux
tracing
.gitignore rust: support running Rust documentation tests as KUnit ones 2023-07-19 09:32:53 -06:00
as-version.sh
asn1_compiler.c
bloat-o-meter scripts/bloat-o-meter: count weak symbol sizes 2023-08-21 13:46:25 -07:00
bootgraph.pl
bpf_doc.py scripts/bpf_doc: Use silent mode when exec make cmd 2024-03-15 14:46:31 +01:00
cc-can-link.sh
cc-version.sh
check-git
check-sysctl-docs scripts: check-sysctl-docs: handle per-namespace sysctls 2024-02-23 12:13:09 +01:00
check-uapi.sh check-uapi: Introduce check-uapi.sh 2023-12-29 22:25:20 +09:00
check-variable-fonts.sh docs: scripts/check-variable-fonts.sh: Improve commands for detection 2024-05-02 10:14:52 -06:00
check_extable.sh
checkdeclares.pl
checkincludes.pl
checkkconfigsymbols.py
checkpatch.pl scripts: checkpatch: check unused parameters for function-like macro 2024-05-11 15:51:44 -07:00
checkstack.pl scripts/checkstack.pl: fix no space expression between sp and offset 2023-12-29 12:22:28 -08:00
checksyscalls.sh
checkversion.pl
cleanfile
cleanpatch
coccicheck
config
const_structs.checkpatch regmap-irq: handle const struct regmap_irq_sub_irq_map 2024-07-08 12:50:16 +01:00
decode_stacktrace.sh scripts/decode_stacktrace.sh: optionally use LLVM utilities 2024-01-12 15:20:46 -08:00
decodecode scripts/decodecode: add support for LoongArch 2023-12-29 12:22:25 -08:00
depmod.sh kbuild: move depmod rule to scripts/Makefile.modinst 2023-08-29 22:38:23 +09:00
dev-needs.sh
diffconfig
documentation-file-ref-check
export_report.pl
extract-ikconfig
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux
extract_xc3028.pl
faddr2line scripts/faddr2line: Check only two symbols when calculating symbol size 2024-07-02 23:38:37 -07:00
file-size.sh
find-unused-docs.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen-randstruct-seed.sh
generate_initcall_order.pl
generate_rust_analyzer.py kbuild: use the upstream alloc crate 2024-04-16 22:03:14 +02:00
generate_rust_target.rs RISC-V Patches for the 6.10 Merge Window, Part 1 2024-05-22 09:56:00 -07:00
get_abi.pl scripts/get_abi.pl: ignore some temp files 2024-01-03 14:02:17 -07:00
get_dvb_firmware
get_feat.pl
get_maintainer.pl get_maintainer: remove stray punctuation when cleaning file emails 2023-12-31 10:57:42 -08:00
gfp-translate scripts: fix the gfp flags header path in gfp-translate 2023-06-19 13:19:32 -07:00
git.orderFile scripts: Introduce a default git.orderFile 2023-12-29 22:25:20 +09:00
head-object-list.txt scripts: clean up IA-64 code 2023-12-03 18:51:48 +09:00
headerdep.pl
headers_install.sh m68k: Avoid CONFIG_COLDFIRE switch in uapi header 2024-05-07 08:55:23 +10:00
insert-sys-cert.c
install.sh
jobserver-exec
kallsyms.c scripts/kallysms: always include __start and __stop symbols 2024-04-25 20:55:50 -07:00
Kbuild.include kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
Kconfig.include x86/kconfig: Add as-instr64 macro to properly evaluate AS_WRUSS 2024-06-20 19:48:18 +02:00
kernel-doc mm/slab: Plumb kmem_buckets into __do_kmalloc_node() 2024-07-03 12:24:19 +02:00
ld-version.sh kbuild: Make ld-version.sh more robust against version string changes 2024-07-15 03:13:32 +09:00
leaking_addresses.pl leaking_addresses: Provide mechanism to scan binary files 2024-02-29 13:38:03 -08:00
Lindent
link-vmlinux.sh kbuild: explicitly run mksysmap as sed script from link-vmlinux.sh 2024-06-07 08:42:14 +09:00
make_fit.py scripts/make_fit: Drop fdt image entry compatible string 2024-05-29 16:41:21 +09:00
Makefile LoongArch: rust: Switch to use built-in rustc target 2024-05-14 12:24:18 +08:00
Makefile.asm-headers kbuild: fix rebuild of generic syscall headers 2024-07-18 10:01:55 -07:00
Makefile.btf kbuild,bpf: Add module-specific pahole flags for distilled base BTF 2024-06-21 14:45:07 -07:00
Makefile.build Kbuild updates for v6.10 2024-05-18 12:39:20 -07:00
Makefile.clang Kbuild updates for v6.5 2023-07-01 09:24:31 -07:00
Makefile.clean kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
Makefile.compiler kbuild: Add -Wa,--fatal-warnings to as-instr invocation 2024-02-16 16:07:07 -08:00
Makefile.debug kbuild: rust: use -Zdebuginfo-compression 2024-04-02 17:41:22 +02:00
Makefile.defconf kbuild: defconf: use SRCARCH to find merged configs 2024-01-28 01:13:37 +09:00
Makefile.dtbinst kbuild: Install dtb files as 0644 in Makefile.dtbinst 2024-06-26 00:18:57 +09:00
Makefile.extrawarn kbuild: enable -Wcast-function-type-strict unconditionally 2024-05-19 14:36:16 -07:00
Makefile.gcc-plugins
Makefile.headersinst
Makefile.host kbuild: Use $(obj)/%.cc to fix host C++ module builds 2024-06-26 00:18:57 +09:00
Makefile.kasan
Makefile.kcov
Makefile.kcsan
Makefile.kmsan
Makefile.lib kbuild: verify dtoverlay files against schema 2024-07-09 07:40:16 -06:00
Makefile.modfinal kbuild,bpf: Add module-specific pahole flags for distilled base BTF 2024-06-21 14:45:07 -07:00
Makefile.modinst kbuild: Use CRC32 and a 1MiB dictionary for XZ compressed modules 2023-09-25 16:01:05 +09:00
Makefile.modpost Kbuild updates for v6.10 2024-05-18 12:39:20 -07:00
Makefile.package kbuild: Fix build target deb-pkg: ln: failed to create hard link 2024-06-26 00:18:57 +09:00
Makefile.randstruct
Makefile.ubsan ubsan: Reintroduce signed overflow sanitizer 2024-02-20 20:44:49 -08:00
Makefile.userprogs kbuild: support 'userldlibs' syntax 2023-11-01 23:26:01 +09:00
Makefile.vdsoinst more s390 updates for 6.10 merge window 2024-05-21 12:09:36 -07:00
Makefile.vmlinux Makefile: remove redundant tool coverage variables 2024-05-14 23:35:48 +09:00
Makefile.vmlinux_o x86/bugs: Rename CONFIG_CPU_SRSO => CONFIG_MITIGATION_SRSO 2024-01-10 10:52:29 +01:00
makelst
markup_oops.pl
min-tool-version.sh rust: upgrade to Rust 1.78.0 2024-05-05 20:17:25 +02:00
misc-check
mkcompile_h
mksysmap kbuild: change scripts/mksysmap into sed script 2024-05-29 16:40:03 +09:00
mkuboot.sh
module.lds.S The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
modules-check.sh
nsdeps
objdiff
objdump-func
orc_hash.sh x86/unwind/orc: Add ELF section with ORC version identifier 2023-06-16 17:17:42 +02:00
pahole-version.sh
parse-maintainers.pl
patch-kernel
profile2linkerlist.pl
prune-kernel
recordmcount.c scripts: clean up IA-64 code 2023-12-03 18:51:48 +09:00
recordmcount.h
recordmcount.pl riscv: remove MCOUNT_NAME workaround 2024-02-22 15:38:54 -08:00
relocs_check.sh
remove-stale-files kbuild: rpm-pkg: generate kernel.spec in rpmbuild/SPECS/ 2023-10-03 20:49:09 +09:00
rust_is_available.sh kbuild: rust_is_available: check that output looks as expected 2023-08-10 01:18:34 +02:00
rust_is_available_bindgen_libclang.h
rust_is_available_test.py kbuild: rust_is_available: add test suite 2023-08-10 01:18:34 +02:00
rustdoc_test_builder.rs rust: support running Rust documentation tests as KUnit ones 2023-07-19 09:32:53 -06:00
rustdoc_test_gen.rs rust: support running Rust documentation tests as KUnit ones 2023-07-19 09:32:53 -06:00
setlocalversion scripts/setlocalversion: also consider annotated tags of the form vx.y.z-${file_localversion} 2023-08-08 01:08:54 +09:00
show_delta scripts/show_delta: add __main__ judgement before main code 2023-10-18 14:43:23 -07:00
sign-file.c sign-file: Fix incorrect return values check 2023-12-13 12:55:11 -08:00
sorttable.c
sorttable.h
spdxcheck-test.sh
spdxcheck.py scripts/spdxcheck: Add count of missing files to stats output 2024-05-04 19:00:54 +02:00
spdxexclude
spelling.txt scripts/spelling.txt: add more spellings to spelling.txt 2023-12-10 17:21:33 -08:00
sphinx-pre-install scripts: sphinx-pre-install: Add pyyaml hint to other distros 2024-04-02 10:07:51 -06:00
split-man.pl
stackdelta
stackusage
subarch.include
syscall.tbl riscv: convert to generic syscall table 2024-07-10 14:23:38 +02:00
syscallhdr.sh
syscallnr.sh
syscalltbl.sh x86/syscall: Mark exit[_group] syscall handlers __noreturn 2024-06-28 15:23:38 +02:00
tags.sh scripts/tags.sh: remove find_sources 2024-01-04 17:01:15 +01:00
test_fortify.sh
tools-support-relr.sh
unifdef.c scripts/unifdef: avoid constexpr keyword 2024-04-23 00:09:41 +09:00
ver_linux
xen-hypercalls.sh
xz_wrap.sh scripts: clean up IA-64 code 2023-12-03 18:51:48 +09:00