[CRIU] [PATCH 0/8] x86/ptrace: Workaround Skylake bug

Dmitry Safonov dima at arista.com
Wed Jan 31 19:58:07 MSK 2018


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..
Travis: https://travis-ci.org/0x7f454c46/criu/builds/335709842
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 (8):
  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/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/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              | 80 +++++++++++++++++++++++++++++++-
 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 ++++++++++++++++++++++++++++++++++++
 15 files changed, 259 insertions(+), 30 deletions(-)
 create mode 100644 test/zdtm/static/fpu02.c

-- 
2.13.6



More information about the CRIU mailing list