public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Prasanna S Panchamukhi <prasanna@in.ibm.com>
To: Andi Kleen <ak@suse.de>, akpm@osdl.org
Cc: Chuck Ebbert <76306.1226@compuserve.com>,
	Jesper Juhl <juhl-lkml@dif.dk>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: x86_64 GPF handler (was: [PATCH] remove errornous semicolon)
Date: Wed, 24 Nov 2004 17:15:23 +0530	[thread overview]
Message-ID: <20041124114523.GA2336@in.ibm.com> (raw)
In-Reply-To: <20041124104338.GC10495@wotan.suse.de>

> > x86_64 never checks the result of notify_die() and unconditionally does a die().
> > I don't know if this is a bug or not...
> > 
> > Andi, if this is not a bug could you explain why not?
> 
> It depends on what the debugger (or kprobes) wants. These checks
> are added based on their needs. Perhaps he didn't consider it 
> necessary on x86-64. But why don't you ask Prasanna directly?  (cc'ed)
> 

I agree with Andi that it depends on the specific debugger. On handling
the general protection fault notification, kprobe handler returns NOTIFY_STOP.
This check missed out in x86_64 kprobes patch. Below patch should fix this,
please let me know if you have any issues.

Thanks
Prasanna


This patch adds the return value check for the exception notifiers at
do_general_protection as pointed out by Chuck Ebbert.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>


---

 linux-2.6.10-rc2-prasanna/arch/x86_64/kernel/traps.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff -puN arch/x86_64/kernel/traps.c~notifier-fix arch/x86_64/kernel/traps.c
--- linux-2.6.10-rc2/arch/x86_64/kernel/traps.c~notifier-fix	2004-11-24 17:06:41.000000000 +0530
+++ linux-2.6.10-rc2-prasanna/arch/x86_64/kernel/traps.c	2004-11-24 17:08:18.000000000 +0530
@@ -556,8 +556,9 @@ asmlinkage void do_general_protection(st
 			regs->rip = fixup->fixup;
 			return;
 		}
-		notify_die(DIE_GPF, "general protection fault", regs, error_code,
-			   13, SIGSEGV); 
+		if (notify_die(DIE_GPF, "general protection fault", regs,
+					error_code, 13, SIGSEGV) == NOTIFY_STOP)
+			return;
 		die("general protection fault", regs, error_code);
 	}
 }

_
-- 

Prasanna S Panchamukhi
Linux Technology Center
India Software Labs, IBM Bangalore
Ph: 91-80-25044636
<prasanna@in.ibm.com>

      reply	other threads:[~2004-11-24 11:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-24  5:23 x86_64 GPF handler (was: [PATCH] remove errornous semicolon) Chuck Ebbert
2004-11-24 10:43 ` Andi Kleen
2004-11-24 11:45   ` Prasanna S Panchamukhi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20041124114523.GA2336@in.ibm.com \
    --to=prasanna@in.ibm.com \
    --cc=76306.1226@compuserve.com \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=juhl-lkml@dif.dk \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox