lkml.org 
[lkml]   [2008]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 3/7] x86: traps_xx: modify __die
    if (cond) block -> if (!cond) goto end_of_block

    Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
    ---
    arch/x86/kernel/traps_32.c | 32 ++++++++++++++------------------
    arch/x86/kernel/traps_64.c | 4 ++--
    2 files changed, 16 insertions(+), 20 deletions(-)

    diff --git a/arch/x86/kernel/traps_32.c b/arch/x86/kernel/traps_32.c
    index 7e88fa3..9ed060e 100644
    --- a/arch/x86/kernel/traps_32.c
    +++ b/arch/x86/kernel/traps_32.c
    @@ -400,26 +400,22 @@ int __kprobes __die(const char *str, struct pt_regs *regs, long err)
    printk("DEBUG_PAGEALLOC");
    #endif
    printk("\n");
    -
    if (notify_die(DIE_OOPS, str, regs, err,
    - current->thread.trap_no, SIGSEGV) != NOTIFY_STOP) {
    -
    - show_registers(regs);
    - /* Executive summary in case the oops scrolled away */
    - sp = (unsigned long) (&regs->sp);
    - savesegment(ss, ss);
    - if (user_mode(regs)) {
    - sp = regs->sp;
    - ss = regs->ss & 0xffff;
    - }
    - printk(KERN_EMERG "EIP: [<%08lx>] ", regs->ip);
    - print_symbol("%s", regs->ip);
    - printk(" SS:ESP %04x:%08lx\n", ss, sp);
    + current->thread.trap_no, SIGSEGV) == NOTIFY_STOP)
    + return 1;

    - return 0;
    + show_registers(regs);
    + /* Executive summary in case the oops scrolled away */
    + sp = (unsigned long) (&regs->sp);
    + savesegment(ss, ss);
    + if (user_mode(regs)) {
    + sp = regs->sp;
    + ss = regs->ss & 0xffff;
    }
    -
    - return 1;
    + printk(KERN_EMERG "EIP: [<%08lx>] ", regs->ip);
    + print_symbol("%s", regs->ip);
    + printk(" SS:ESP %04x:%08lx\n", ss, sp);
    + return 0;
    }

    /*
    diff --git a/arch/x86/kernel/traps_64.c b/arch/x86/kernel/traps_64.c
    index 934bd0f..1ae0d4d 100644
    --- a/arch/x86/kernel/traps_64.c
    +++ b/arch/x86/kernel/traps_64.c
    @@ -562,9 +562,9 @@ void __kprobes oops_end(unsigned long flags, struct pt_regs *regs, int signr)
    do_exit(signr);
    }

    -int __kprobes __die(const char * str, struct pt_regs * regs, long err)
    +int __kprobes __die(const char *str, struct pt_regs *regs, long err)
    {
    - printk(KERN_EMERG "%s: %04lx [%u] ", str, err & 0xffff,++die_counter);
    + printk(KERN_EMERG "%s: %04lx [%u] ", str, err & 0xffff, ++die_counter);
    #ifdef CONFIG_PREEMPT
    printk("PREEMPT ");
    #endif
    --
    1.5.4.3


    \
     
     \ /
      Last update: 2008-07-02 01:35    [W:0.025 / U:183.340 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site