]> git.hungrycats.org Git - linux/commit
lkdtm: Disable CFI checking for perms functions
authorKees Cook <keescook@chromium.org>
Tue, 30 Apr 2024 23:49:57 +0000 (16:49 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 May 2024 07:49:02 +0000 (09:49 +0200)
commit233ed7ca8ab41e8c7669a06671605124c367a644
treed4deea3933001b6b9319a2bd2a24b28b06a947e4
parent8d62ab7d89a4906385ea8c11a4b2475578bec0f0
lkdtm: Disable CFI checking for perms functions

[ Upstream commit fb28a8862dc4b5bf8e44578338f35d9c6c68339d ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/misc/lkdtm/Makefile
drivers/misc/lkdtm/perms.c