Re: [PATCH] x86: General protection fault after STR (32 bit systems only)

From: Denys Vlasenko
Date: Fri Jun 12 2015 - 18:45:56 EST


On Fri, Jun 12, 2015 at 5:48 PM, Brian Gerst <brgerst@xxxxxxxxx> 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?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/