lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 31 Oct 2008 09:36:38 -0400 (EDT) From: Steven Rostedt <rostedt@...dmis.org> To: Ingo Molnar <mingo@...e.hu> cc: Andrew Morton <akpm@...ux-foundation.org>, linux-kernel@...r.kernel.org, tglx@...utronix.de, peterz@...radead.org, torvalds@...ux-foundation.org, srostedt@...hat.com Subject: [PATCH] ftrace: fix hardirq header for non ftrace archs Not all archs implement ftrace, and therefore do not have an asm/ftrace.h. This patch corrects the problem. The ftrace_nmi_enter/exit now must be defined for all archs that implement dynamic ftrace. Currently, only x86 does. Signed-off-by: Steven Rostedt <srostedt@...hat.com> --- arch/arm/include/asm/ftrace.h | 5 ----- arch/powerpc/include/asm/ftrace.h | 5 ----- arch/sh/include/asm/ftrace.h | 5 ----- arch/sparc/include/asm/ftrace.h | 5 ----- arch/x86/include/asm/ftrace.h | 16 ---------------- include/linux/ftrace.h | 5 ++++- include/linux/hardirq.h | 2 +- 7 files changed, 5 insertions(+), 38 deletions(-) Index: linux-tip.git/arch/arm/include/asm/ftrace.h =================================================================== --- linux-tip.git.orig/arch/arm/include/asm/ftrace.h 2008-10-30 23:24:18.000000000 -0400 +++ linux-tip.git/arch/arm/include/asm/ftrace.h 2008-10-31 08:48:47.000000000 -0400 @@ -1,11 +1,6 @@ #ifndef _ASM_ARM_FTRACE #define _ASM_ARM_FTRACE -#ifndef __ASSEMBLY__ -static inline void ftrace_nmi_enter(void) { } -static inline void ftrace_nmi_exit(void) { } -#endif - #ifdef CONFIG_FUNCTION_TRACER #define MCOUNT_ADDR ((long)(mcount)) #define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ Index: linux-tip.git/arch/powerpc/include/asm/ftrace.h =================================================================== --- linux-tip.git.orig/arch/powerpc/include/asm/ftrace.h 2008-10-30 23:24:30.000000000 -0400 +++ linux-tip.git/arch/powerpc/include/asm/ftrace.h 2008-10-31 08:48:52.000000000 -0400 @@ -1,11 +1,6 @@ #ifndef _ASM_POWERPC_FTRACE #define _ASM_POWERPC_FTRACE -#ifndef __ASSEMBLY__ -static inline void ftrace_nmi_enter(void) { } -static inline void ftrace_nmi_exit(void) { } -#endif - #ifdef CONFIG_FUNCTION_TRACER #define MCOUNT_ADDR ((long)(_mcount)) #define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ Index: linux-tip.git/arch/sh/include/asm/ftrace.h =================================================================== --- linux-tip.git.orig/arch/sh/include/asm/ftrace.h 2008-10-30 23:24:43.000000000 -0400 +++ linux-tip.git/arch/sh/include/asm/ftrace.h 2008-10-31 08:48:58.000000000 -0400 @@ -2,11 +2,6 @@ #define __ASM_SH_FTRACE_H #ifndef __ASSEMBLY__ -static inline void ftrace_nmi_enter(void) { } -static inline void ftrace_nmi_exit(void) { } -#endif - -#ifndef __ASSEMBLY__ extern void mcount(void); #endif Index: linux-tip.git/arch/sparc/include/asm/ftrace.h =================================================================== --- linux-tip.git.orig/arch/sparc/include/asm/ftrace.h 2008-10-30 23:24:50.000000000 -0400 +++ linux-tip.git/arch/sparc/include/asm/ftrace.h 2008-10-31 08:49:01.000000000 -0400 @@ -1,11 +1,6 @@ #ifndef _ASM_SPARC64_FTRACE #define _ASM_SPARC64_FTRACE -#ifndef __ASSEMBLY__ -static inline void ftrace_nmi_enter(void) { } -static inline void ftrace_nmi_exit(void) { } -#endif - #ifdef CONFIG_MCOUNT #define MCOUNT_ADDR ((long)(_mcount)) #define MCOUNT_INSN_SIZE 4 /* sizeof mcount call */ Index: linux-tip.git/arch/x86/include/asm/ftrace.h =================================================================== --- linux-tip.git.orig/arch/x86/include/asm/ftrace.h 2008-10-30 23:25:26.000000000 -0400 +++ linux-tip.git/arch/x86/include/asm/ftrace.h 2008-10-31 08:52:44.000000000 -0400 @@ -17,23 +17,7 @@ static inline unsigned long ftrace_call_ */ return addr - 1; } - -#ifdef CONFIG_DYNAMIC_FTRACE -extern void ftrace_nmi_enter(void); -extern void ftrace_nmi_exit(void); -#else -static inline void ftrace_nmi_enter(void) { } -static inline void ftrace_nmi_exit(void) { } -#endif #endif /* __ASSEMBLY__ */ - -#else /* CONFIG_FUNCTION_TRACER */ - -#ifndef __ASSEMBLY__ -static inline void ftrace_nmi_enter(void) { } -static inline void ftrace_nmi_exit(void) { } -#endif - #endif /* CONFIG_FUNCTION_TRACER */ #endif /* _ASM_X86_FTRACE_H */ Index: linux-tip.git/include/linux/ftrace.h =================================================================== --- linux-tip.git.orig/include/linux/ftrace.h 2008-10-30 23:31:33.000000000 -0400 +++ linux-tip.git/include/linux/ftrace.h 2008-10-31 08:52:29.000000000 -0400 @@ -44,7 +44,6 @@ static inline void ftrace_kill(void) { } #endif /* CONFIG_FUNCTION_TRACER */ #ifdef CONFIG_DYNAMIC_FTRACE - enum { FTRACE_FL_FREE = (1 << 0), FTRACE_FL_FAILED = (1 << 1), @@ -105,6 +104,8 @@ extern void ftrace_release(void *start, extern void ftrace_disable_daemon(void); extern void ftrace_enable_daemon(void); +extern void ftrace_nmi_enter(void); +extern void ftrace_nmi_exit(void); #else # define skip_trace(ip) ({ 0; }) @@ -113,6 +114,8 @@ extern void ftrace_enable_daemon(void); # define ftrace_disable_daemon() do { } while (0) # define ftrace_enable_daemon() do { } while (0) static inline void ftrace_release(void *start, unsigned long size) { } +static inline void ftrace_nmi_enter(void) { } +static inline void ftrace_nmi_exit(void) { } #endif /* CONFIG_DYNAMIC_FTRACE */ /* totally disable ftrace - can not re-enable after this */ Index: linux-tip.git/include/linux/hardirq.h =================================================================== --- linux-tip.git.orig/include/linux/hardirq.h 2008-10-31 00:07:46.000000000 -0400 +++ linux-tip.git/include/linux/hardirq.h 2008-10-31 08:53:01.000000000 -0400 @@ -4,8 +4,8 @@ #include <linux/preempt.h> #include <linux/smp_lock.h> #include <linux/lockdep.h> +#include <linux/ftrace.h> #include <asm/hardirq.h> -#include <asm/ftrace.h> #include <asm/system.h> /* -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists