Messages in this thread Patch in this message | | | Subject | [PATCH] x86: kprobes remove fix_riprel #ifdef | From | Harvey Harrison <> | Date | Sun, 23 Dec 2007 19:28:37 -0800 |
| |
Move #ifdef around function definiton into the function and unconditionally return on X86_32. Saves an ifdef from the one callsite.
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> --- Ingo, Masami, final leftovers from some unsent kprobes unification work.
Net reduction of one #ifdef section.
arch/x86/kernel/kprobes.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c index b1804e4..1ac532e 100644 --- a/arch/x86/kernel/kprobes.c +++ b/arch/x86/kernel/kprobes.c @@ -263,15 +263,16 @@ static int __kprobes is_IF_modifier(kprobe_opcode_t *insn) return 0; } -#ifdef CONFIG_X86_64 /* * Adjust the displacement if the instruction uses the %rip-relative * addressing mode. * If it does, Return the address of the 32-bit displacement word. * If not, return null. + * Only applicable to X86_64 */ static void __kprobes fix_riprel(struct kprobe *p) { +#ifdef CONFIG_X86_64 u8 *insn = p->ainsn.insn; s64 disp; int need_modrm; @@ -335,15 +336,17 @@ static void __kprobes fix_riprel(struct kprobe *p) *(s32 *)insn = (s32) disp; } } -} +#else + return; #endif +} static void __kprobes arch_copy_kprobe(struct kprobe *p) { memcpy(p->ainsn.insn, p->addr, MAX_INSN_SIZE * sizeof(kprobe_opcode_t)); -#ifdef CONFIG_X86_64 + fix_riprel(p); -#endif + if (can_boost(p->addr)) p->ainsn.boostable = 0; else -- 1.5.4.rc0.1143.g1a8a
| |