diff options
author | Dmitry Safonov <dsafonov@virtuozzo.com> | 2016-06-28 22:24:21 +0300 |
---|---|---|
committer | Andrei Vagin <avagin@virtuozzo.com> | 2017-03-14 23:58:06 +0300 |
commit | 3f1ac58c334208e868c519171393f785066a67cb (patch) | |
tree | 83ba25529e3846eb520865f7a0881637f0530de5 /images/sa.proto | |
parent | 19e4ab4f5a14e36ad53f767ae5e4bd41ccffa521 (diff) |
restore/x86: call int80 for compat sigaction restore
The kernel patch "x86/signal: add SA_{X32,IA32}_ABI sa_flags" makes
signal's ABI the same as sigaction's syscall ABI instead of per-thread's
TIF_IA32 flag.
So for delivering signals with compatible ABI, we need to call
sigaction through raw int80 exception.
This patch restores signals with int80: cr-restore part and PIE restorer's
part lay in sigaction_compat.c, which compiled for criu binary and for
restorer PIE.
The PIE's part is needed strictly for setting SIGCHLD handler, other
signal handlers are set in cr-restore (as it was before).
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
Diffstat (limited to 'images/sa.proto')
-rw-r--r-- | images/sa.proto | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/images/sa.proto b/images/sa.proto index d4c590a13..3bce0c4ff 100644 --- a/images/sa.proto +++ b/images/sa.proto @@ -7,4 +7,5 @@ message sa_entry { required uint64 flags = 2 [(criu).hex = true]; required uint64 restorer = 3 [(criu).hex = true]; required uint64 mask = 4 [(criu).hex = true]; + optional bool compat_sigaction = 5; } |