lkml.org 
[lkml]   [2017]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH 4/5 v3] ftrace/x86_32: Clean up ftrace_regs_caller
On Thu, Mar 16, 2017 at 11:09 AM, Steven Rostedt <rostedt@goodmis.org> wrote:
> +
> + /* Since we don't care about cs, move flags there to simplify return */
> + movl 14*4(%esp), %eax
> + movl %eax, 13*4(%esp)
> +
> + /* Move return ip back to its original location */
> + movl 12*4(%esp), %eax
> + movl %eax, 14*4(%esp)

Could this perhaps be removed entirely?

The return code could instead do:

... restore all the normal registers ..

# Now restore flags that is under the return address and our
fake __KERNEL_CS
pushl 8(%esp)
popfl

# and then return, skipping __KERNEL_CS and %flasg
ret $8

which is smaller and simpler than (again) playing games with stack entries.

Linus

\
 
 \ /
  Last update: 2017-03-16 19:22    [W:1.540 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site