Re: [patch 1/3] x86_64: Add a notify_die() call to the "no context" part of do_page_fault()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tom Rini wrote:
On Tue, Aug 30, 2005 at 12:33:25AM -0700, George Anzinger wrote:

Tom Rini wrote:

CC: Andi Kleen <[email protected]>
This adds a call to notify_die() in the "no context" portion of
do_page_fault() as someone on the chain might care and want to do a fixup.

---

linux-2.6.13-trini/arch/x86_64/mm/fault.c |    4 ++++
1 files changed, 4 insertions(+)

diff -puN arch/x86_64/mm/fault.c~x86_64-no_context_hook arch/x86_64/mm/fault.c --- linux-2.6.13/arch/x86_64/mm/fault.c~x86_64-no_context_hook 2005-08-29 11:09:13.000000000 -0700 +++ linux-2.6.13-trini/arch/x86_64/mm/fault.c 2005-08-29 11:09:13.000000000 -0700
@@ -514,6 +514,10 @@ no_context:
	if (is_errata93(regs, address))
return;
+	if (notify_die(DIE_PAGE_FAULT, "no context", regs, error_code, 14,
+				SIGSEGV) == NOTIFY_STOP)
+		return;
+
/*
* Oops. The kernel tried to access some bad page. We'll have to
* terminate things with extreme prejudice.

Please use a more descriptive text than "no context". This bit of info SHOULD be available to the gdb/kgdb user and should indicate why kgdb was entered. It thus should be something like "bad kernel address" or "illegal kernel address".


"no context" is the label we're in, in the code.  What it's actually
used for is "hey, we (== kgdb) tried to read/write a very very bogus
addr, time to longjmp".  If it's not true that kgdb is at fault then we
drop to the debugger anyhow, and the user can see where they came from.

No. What the user sees is the offending code (i.e. prior to the trap to page_fault), NOT how kgdb happend to be called. The "no_context" is IN the _context_ of page_fault, but that is lost by the time you get to kgdb and ask to see _why_ (via, hint, hint: "p kgdb_info").

--
George Anzinger   [email protected]
HRT (High-res-timers):  http://sourceforge.net/projects/high-res-timers/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux