]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
slab: Decouple slab_debug and no_hash_pointers
authorKees Cook <kees@kernel.org>
Tue, 15 Apr 2025 17:02:33 +0000 (10:02 -0700)
committerPetr Mladek <pmladek@suse.com>
Mon, 9 Jun 2025 14:26:10 +0000 (16:26 +0200)
commitde1c831a7898f164c1c2703c6b2b9e4fb4bebefc
tree328b778c5c29a723285143ab7fe1cadf6c9ab5c3
parentaf54a3a151691a969b04396cff15afe70d4da824
slab: Decouple slab_debug and no_hash_pointers

Some system owners use slab_debug=FPZ (or similar) as a hardening option,
but do not want to be forced into having kernel addresses exposed due
to the implicit "no_hash_pointers" boot param setting.[1]

Introduce the "hash_pointers" boot param, which defaults to "auto"
(the current behavior), but also includes "always" (forcing on hashing
even when "slab_debug=..." is defined), and "never". The existing
"no_hash_pointers" boot param becomes an alias for "hash_pointers=never".

This makes it possible to boot with "slab_debug=FPZ hash_pointers=always".

Link: https://github.com/KSPP/linux/issues/368
Fixes: 792702911f58 ("slub: force on no_hash_pointers when slub_debug is enabled")
Co-developed-by: Sergio Perez Gonzalez <sperezglz@gmail.com>
Signed-off-by: Sergio Perez Gonzalez <sperezglz@gmail.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: David Rientjes <rientjes@google.com>
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Kees Cook <kees@kernel.org>
Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
Acked-by: Rafael Aquini <raquini@redhat.com>
Tested-by: Petr Mladek <pmladek@suse.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Link: https://patch.msgid.link/20250415170232.it.467-kees@kernel.org
[kees@kernel.org: Add note about hash_pointers into slab_debug kernel parameter documentation.]
Signed-off-by: Petr Mladek <pmladek@suse.com>
Documentation/admin-guide/kernel-parameters.txt
include/linux/sprintf.h
lib/vsprintf.c
mm/slub.c