lkml.org 
[lkml]   [2008]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] ftrace: Make ftrace_test_p6nop disassembler-friendly
    Commit 4c3dc21b136f8cb4b72afee16c3ba7e961656c0b in tip introduced the
    5-byte NOP ftrace_test_p6nop:
    jmp . + 5
    .byte 0x00, 0x00, 0x00
    This is not friendly to disassemblers because an odd number of 0x00s
    ends in the middle of an instruction boundary. This changes the 0x00s
    to 1-byte NOPs (0x90).

    Signed-off-by: Anders Kaseorg <andersk@mit.edu>

    diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
    index 222507e..d073d98 100644
    --- a/arch/x86/kernel/ftrace.c
    +++ b/arch/x86/kernel/ftrace.c
    @@ -132,7 +132,9 @@ int __init ftrace_dyn_arch_init(void *data)
    ".section .text, \"ax\"\n"
    "ftrace_test_jmp:"
    "jmp ftrace_test_p6nop\n"
    - ".byte 0x00,0x00,0x00\n" /* 2 byte jmp + 3 bytes */
    + "nop\n"
    + "nop\n"
    + "nop\n" /* 2 byte jmp + 3 bytes */
    "ftrace_test_p6nop:"
    P6_NOP5
    "jmp 1f\n"
    @@ -161,7 +163,7 @@ int __init ftrace_dyn_arch_init(void *data)
    ftrace_nop = (unsigned long *)ftrace_test_nop5;
    break;
    case 2:
    - pr_info("ftrace: converting mcount calls to jmp 1f\n");
    + pr_info("ftrace: converting mcount calls to jmp . + 5\n");
    ftrace_nop = (unsigned long *)ftrace_test_jmp;
    break;
    }

    \
     
     \ /
      Last update: 2008-10-10 04:23    [W:3.121 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site