lkdtm: Disable CFI checking for perms functions
authorKees Cook <keescook@chromium.org>
Tue, 30 Apr 2024 23:49:57 +0000 (16:49 -0700)
committerKees Cook <keescook@chromium.org>
Wed, 1 May 2024 19:37:42 +0000 (12:37 -0700)
commitfb28a8862dc4b5bf8e44578338f35d9c6c68339d
treec14dcf94d4f8a3ff624f74c13369ad0c347ca0dd
parent26f812ba75890c48644a31e3cfe3dd9762138968
lkdtm: Disable CFI checking for perms functions

The EXEC_RODATA test plays a lot of tricks to live in the .rodata section,
and once again ran into objtool's (completely reasonable) assumptions
that executable code should live in an executable section. However, this
manifested only under CONFIG_CFI_CLANG=y, as one of the .cfi_sites was
pointing into the .rodata section.

Since we're testing non-CFI execution properties in perms.c (and
rodata.c), we can disable CFI for the involved functions, and remove the
CFI arguments from rodata.c entirely.

Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202308301532.d7acf63e-oliver.sang@intel.com
Fixes: 6342a20efbd8 ("objtool: Add elf_create_section_pair()")
Link: https://lore.kernel.org/r/20240430234953.work.760-kees@kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
drivers/misc/lkdtm/Makefile
drivers/misc/lkdtm/perms.c