[CRIU] [PATCHv2 0/9] x86/ptrace: Workaround Skylake bug
Dmitry Safonov
dima at arista.com
Wed Feb 7 15:48:45 MSK 2018
Changes for v2:
o Fix align gcc8.1 error *for real*
o Adress comments by Andrew, such as:
- use in kdat test clone() instead of fork() (lighter)
- use CLONE_UNTRACED to make kdat work under strace (tested)
- Assume that criu doesn't set SIG_IGN to SIGCHLD and
simplify error-checking
Origin description:
A nasty kernel(older v4.14) bug, resulted in incorrect C/R of fpu state.
Tested on Skylake Amazon VM with zdtm's fpu tests and fpu02..
Shlomi, will you be able by any chance to test this with your python
project and older kernel (ubuntu v4.13)?
Cc: Cyrill Gorcunov <gorcunov at gmail.com>
Cc: Andrei Vagin <avagin at virtuozzo.com>
Cc: Shlomi Matichin <shlomi at binaris.com>
Dmitry Safonov (9):
x86/crtools: Add fork() err-path handle
x86/kerndat: Add a check for ptrace() bug on Skylake
compel/infect: Unite save_regs_t with save_regs() declaration
compel: Add ctx flags to get_task_regs()
compel/x86: Separate functions used to get fpu state
compel/x86: Add workaround on ptrace() bug on Skylake
compel: Cleanup INFECT_* definitions
zdtm/x86: Add a mxcsr preserving fpu test
compel: Explicitely align all containers of i387_fxsave_struct
compel/arch/aarch64/src/lib/infect.c | 3 +-
compel/arch/arm/src/lib/infect.c | 3 +-
compel/arch/ppc64/src/lib/infect.c | 3 +-
compel/arch/s390/src/lib/infect.c | 2 +-
compel/arch/x86/src/lib/include/uapi/asm/fpu.h | 9 +--
compel/arch/x86/src/lib/infect.c | 57 ++++++++++++-----
compel/include/infect-priv.h | 3 +-
compel/include/uapi/infect.h | 21 ++++--
compel/src/lib/infect.c | 5 +-
criu/arch/x86/crtools.c | 84 +++++++++++++++++++++++-
criu/arch/x86/include/asm/restorer.h | 2 +
criu/include/kerndat.h | 1 +
criu/kerndat.c | 18 ++++++
criu/parasite-syscall.c | 2 +
test/zdtm/static/Makefile | 1 +
test/zdtm/static/fpu02.c | 88 ++++++++++++++++++++++++++
16 files changed, 268 insertions(+), 34 deletions(-)
create mode 100644 test/zdtm/static/fpu02.c
--
2.13.6
More information about the CRIU
mailing list