Messages in this thread | | | From | Denys Vlasenko <> | Date | Sat, 13 Jun 2015 00:45:29 +0200 | Subject | Re: [PATCH] x86: General protection fault after STR (32 bit systems only) |
| |
On Fri, Jun 12, 2015 at 5:48 PM, Brian Gerst <brgerst@gmail.com> wrote: > If you follow the convoluted flow of the calls in this file, > ...
Speaking of which. It is indeed quite bad.
For one, saved_eip is only ever set to point to ret_point:
ENTRY(saved_eip) .long 0 ...
movl $ret_point, saved_eip
and it has just a single user, where an indirect jump through it is performed:
# jump to place where we left off movl saved_eip, %eax jmp *%eax
No comments why it is so.
All this seems to be equivalent to trivial
# jump to place where we left off jmp ret_point
Am I missing something?
| |