s390: Handle KCOV __init vs inline mismatches
authorKees Cook <kees@kernel.org>
Thu, 17 Jul 2025 23:25:12 +0000 (16:25 -0700)
committerKees Cook <kees@kernel.org>
Tue, 22 Jul 2025 04:44:01 +0000 (21:44 -0700)
commitc64d6be1a6f8c93274bb861ec75c59453508093a
tree125b12eff6d396d5b33ffbaa2336c7b3567f9ac4
parent2424fe1cac4fc8ea0520ba22ede7544c3ddc8dd1
s390: Handle KCOV __init vs inline mismatches

When KCOV is enabled all functions get instrumented, unless
the __no_sanitize_coverage attribute is used. To prepare for
__no_sanitize_coverage being applied to __init functions, we have to
handle differences in how GCC's inline optimizations get resolved. For
s390 this exposed a place where the __init annotation was missing but
ended up being "accidentally correct". Fix this cases and force a couple
functions to be inline with __always_inline.

Acked-by: Heiko Carstens <hca@linux.ibm.com>
Link: https://lore.kernel.org/r/20250717232519.2984886-7-kees@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
arch/s390/hypfs/hypfs.h
arch/s390/hypfs/hypfs_diag.h
arch/s390/mm/init.c