Unverified Commit 5f59c685 authored by Sami Tolvanen's avatar Sami Tolvanen Committed by Palmer Dabbelt
Browse files

riscv: Add types to indirectly called assembly functions



With CONFIG_CFI_CLANG, assembly functions indirectly called
from C code must be annotated with type identifiers to pass CFI
checking. Use the SYM_TYPED_START macro to add types to the
relevant functions.

Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Tested-by: default avatarNathan Chancellor <nathan@kernel.org>
Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
Link: https://lore.kernel.org/r/20230710183544.999540-10-samitolvanen@google.com


Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
parent 08d0ce30
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@

#include <linux/init.h>
#include <linux/linkage.h>
#include <linux/cfi_types.h>
#include <asm/asm.h>
#include <asm/csr.h>
#include <asm/unistd.h>
@@ -47,13 +48,13 @@
	addi	sp, sp, 4*SZREG
	.endm

ENTRY(ftrace_stub)
SYM_TYPED_FUNC_START(ftrace_stub)
#ifdef CONFIG_DYNAMIC_FTRACE
       .global MCOUNT_NAME
       .set    MCOUNT_NAME, ftrace_stub
#endif
	ret
ENDPROC(ftrace_stub)
SYM_FUNC_END(ftrace_stub)

#ifdef CONFIG_FUNCTION_GRAPH_TRACER
ENTRY(return_to_handler)
+3 −2
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@
 */

#include <linux/linkage.h>
#include <linux/cfi_types.h>
#include <asm/asm.h>
#include <asm/asm-offsets.h>
#include <asm/assembler.h>
@@ -58,7 +59,7 @@ ENTRY(__cpu_suspend_enter)
	ret
END(__cpu_suspend_enter)

ENTRY(__cpu_resume_enter)
SYM_TYPED_FUNC_START(__cpu_resume_enter)
	/* Load the global pointer */
	.option push
	.option norelax
@@ -94,4 +95,4 @@ ENTRY(__cpu_resume_enter)

	/* Return to C code */
	ret
END(__cpu_resume_enter)
SYM_FUNC_END(__cpu_resume_enter)