criu/compel
Dmitry Safonov 3e9dc1c7f5 compel/x86: Don't use pushq for a label
`pushq` sign-extends the value. Which is a bummer as the label's address
may be higher that 2Gb, which means that the sign-bit will be set.

As it long-jumps with ia32 selector, %r11 can be scratched.
Use %r11 register as a temporary to push the 32-bit address.

Complements: a9a760278c ("arch/x86: push correct eip on the stack
before lretq")
Cc: Cyrill Gorcunov <gorcunov@gmail.com>
Reported-by: Andrei Vagin <avagin@gmail.com>
Signed-off-by: Dmitry Safonov <dima@arista.com>
Signed-off-by: Andrei Vagin <avagin@gmail.com>
2020-02-04 12:37:37 -08:00
..
arch compel/x86: Don't use pushq for a label 2020-02-04 12:37:37 -08:00
include Convert spaces to tabs 2019-09-07 14:16:36 +03:00
plugins inotify: cleanup auxiliary events from queue 2019-09-07 15:59:56 +03:00
src compel: fix clang 'value stored is never read' 2019-09-07 15:59:50 +03:00
test compel/test: fix "infect" test compilation errors 2017-09-21 01:00:23 +03:00
.gitignore compel: adapt .gitgnore for aarch64 and ppc64le 2017-08-09 18:51:42 +03:00
compel-host compel cli: show includes 2017-03-15 00:09:55 +03:00
Makefile compel: Don't use CFLAGS_PIE for libcompel.so 2019-09-07 15:59:50 +03:00