diff options
author | Sami Tolvanen <samitolvanen@google.com> | 2018-05-10 14:56:41 -0700 |
---|---|---|
committer | Sami Tolvanen <samitolvanen@google.com> | 2018-08-02 08:40:03 -0700 |
commit | 03002d0374dd37a1969c6c3aa5e16ffe9844af24 (patch) | |
tree | 5707e2bebf3c201466e756e1a520b7d445b7701f /include/linux/ftrace.h | |
parent | 1981ee0dc8fb42892bdee077d895421bf1d93a99 (diff) |
ANDROID: ftrace: fix function type mismatches
This change fixes indirect call mismatches with function and function
graph tracing, which trip Control-Flow Integrity (CFI) checking.
Bug: 79510107
Bug: 67506682
Change-Id: I5de08c113fb970ffefedce93c58e0161f22c7ca2
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Diffstat (limited to 'include/linux/ftrace.h')
-rw-r--r-- | include/linux/ftrace.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index 07edd89dca53..ff3e5b109f9c 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -254,8 +254,16 @@ static inline int ftrace_function_local_disabled(struct ftrace_ops *ops) return *this_cpu_ptr(ops->disabled); } +#ifdef CONFIG_CFI_CLANG +/* Use a C stub with the correct type for CFI */ +static inline void ftrace_stub(unsigned long a0, unsigned long a1, + struct ftrace_ops *op, struct pt_regs *regs) +{ +} +#else extern void ftrace_stub(unsigned long a0, unsigned long a1, struct ftrace_ops *op, struct pt_regs *regs); +#endif #else /* !CONFIG_FUNCTION_TRACER */ /* |