Re: crashme fault

From: Randy Dunlap
Date: Sat Sep 15 2007 - 19:50:26 EST


Linus Torvalds wrote:

On Sat, 15 Sep 2007, Linus Torvalds wrote:
So regardless of whether we want to trust "user_mode(regs)" more than "error_code & PF_USER", it would definitely be very interesting if you can give a good "this is where it started happening".

Also, can you point to good crashme sources, and give the arguments you used to run it when it crashed?

I use http://people.delphiforums.com/gjc/crashme.tgz from
http://people.delphiforums.com/gjc/crashme.html, plus one small patch:

--- gjc-crashme.orig/crashme.c
+++ gjc-crashme/crashme.c
@@ -260,7 +260,8 @@ void my_signal(sig, func)
#else
struct sigaction act;
act.sa_handler = func;
- act.sa_mask = 0;
+ //act.sa_mask = 0;
+ sigemptyset(&act.sa_mask);
#ifdef linux
act.sa_restorer = 0;
#endif /* linux */


Command: ./crashme +2000 666 1000 1:00:00 1

The original gjc crashme doesn't even do a "mprotect(PROT_EXEC)" by default (nor does it even compile on a modern unix), so it's not going to do anything. I hacked it up, and it appears to work ok for me, but I'm not at all confident that I'm even close to recreating what you are doing.

So I'm missing some mprotect() call also?
Oops.

(It probably goes without saying that I've not reproduced the oops on my Core 2 Duo. Lots of #GP and #PF errors, but nothing interesting.

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/