Messages in this thread | | | Date | Sun, 23 Nov 2008 20:04:44 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] x86: remove the confusing entry in call trace |
| |
* Alexander van Heukelum <heukelum@mailshack.com> wrote:
> On Sun, Nov 23, 2008 at 10:47:10PM +0800, jia zhang wrote: > > > > avoid the confusion in call trace because of the lack of padding at the tail of > > function. > > > > Signed-off-by: jia zhang <jia.zhang2008@gmail.com> --- When do_exit get call, > > the return address behind call instruction is pushed into stack. If something > > get wrong in do_exit, for x86_64, the entry "kernel_execve +0x00/0xXX" rather > > than "child_rip +0xYY/0xZZ" is remained in call trace. It looks confused. > > It's valuable to know from where do_exit is called, so that's the > only reason why using "call" is important. Otherwise it could just > be changed to a jmp as do_exit does not return. It's maybe a bit > ugly to add the padding, but it does give better traces. Maybe > a 'ret', 'int3', or 'ud2' would be slightly less offensive? > > Anyhow, I don't have a problem with the added padding, so: > > Acked-by: Alexander van Heukelum <heukelum@fastmail.fm>
applied to tip/x86/debug, thanks guys!
i changed it to u2d based on your suggestion - that makes it not only easier to understand, but also more robust, should do_exit() return. (which it should never in practice)
Ingo
| |