On Thu, 2 May 2019 18:52:25 -0400 Steven Rostedt rostedt@goodmis.org wrote:
On Thu, 2 May 2019 22:21:46 +0200 Peter Zijlstra peterz@infradead.org wrote:
On Thu, May 02, 2019 at 11:43:37AM -0700, Linus Torvalds wrote:
What would it look like with the "int3-from-kernel is special" modification?
Something like so; it boots; but I could've made some horrible mistake (again).
diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S index 7b23431be5cb..4de51cff5b8a 100644 --- a/arch/x86/entry/entry_32.S +++ b/arch/x86/entry/entry_32.S
Oh, and so close!
I was running this on my i386 tests and for test 8 of 9 (passed 1-7) I hit this:
Digging a little further, I pinpointed it out to being kretprobes. The problem I believe is the use of kernel_stack_pointer() which does some magic on x86_32. kretprobes uses this to hijack the return address of the function (much like the function graph tracer does). I do have code that would allow kretprobes to use the function graph tracer instead, but that's still in progress (almost done!). But still, we should not have this break the use of kernel_stack_pointer() either.
Adding some printks in that code, it looks to be returning "®s->sp" which I think we changed.
-- Steve