Web lists-archives.com

Re: [PATCH 4/5 v3] ftrace/x86_32: Clean up ftrace_regs_caller




On Thu, 16 Mar 2017 15:19:32 -0400
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> 
> 
> The thing is we don't return, we jump to the location that may be
> modified to run the function graph tracer.

That said, maybe the below is better?

	/* restore flags */
	pushl	14*4(%esp)
	popf

	/* Move return ip back to its original location */
	movl	12*4(%esp), %eax
	movl	%eax, 14*4(%esp)

	popl	%ebx
	popl	%ecx
	popl	%edx
	popl	%esi
	popl	%edi
	popl	%ebp
	popl	%eax
	popl	%ds
	popl	%es
	popl	%fs
	popl	%gs

	/* use lea to not affect flags */
	lea	(3*4)%esp, %esp			/* Skip orig_ax, ip and flags */

	jmp	.Lftrace_ret

-- Steve