criu/arch/x86
Oleg Nesterov dd71cca58a dump/x86: sanitize the ERESTART_RESTARTBLOCK -> EINTR transition
1. The -ERESTART_RESTARTBLOCK case in get_task_regs() depends on kernel
   internals too much, and for no reason. We shouldn't rely on fact that
   a) we are going to do sigreturn() and b) restore_sigcontext() always
   sets restart_block->fn = do_no_restart_syscall which returns -EINTR.

   Just change this code to enforce -EINTR after restore, this is what
   we actually want until we teach criu to handle ERESTART_RESTARTBLOCK.

2. Add pr_warn() to make the potential bug-reports more understandable,
   a sane application should handle -EINTR correctly but this is not
   always the case.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Andrew Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-03-26 14:10:32 +03:00
..
include/asm restore/x86: restore_gpregs() needs to initialize ->ss as well 2015-03-20 16:29:59 +03:00
cpu.c img: Remove O_OPT and COLLECT_OPTIONAL 2015-03-13 14:42:01 +03:00
crtools.c dump/x86: sanitize the ERESTART_RESTARTBLOCK -> EINTR transition 2015-03-26 14:10:32 +03:00
Makefile x86: Implement prlimit proxy 2013-05-23 15:12:58 +04:00
parasite-head.S parasite: allocate stack for each thread 2013-05-24 18:53:33 +04:00
prlimit.c x86: Implement prlimit proxy 2013-05-23 15:12:58 +04:00
restorer.c headers: Move prctl constants to prctl.h 2013-11-14 22:19:43 +04:00
syscall-common-x86-64.S restore: set up correct sa_restorer for SIGCHLD handler (v3) 2013-03-25 23:43:40 +04:00
syscall-x86-64.def x86: Add io syscalls 2014-12-26 18:13:33 +03:00
syscalls-x86-64.sh make: arch -- Switch to a new build scheme 2013-02-18 18:10:43 +04:00
vdso-pie.c vdso: x86 -- Fix missing ability to remap vDSO if only one zone present 2014-08-06 09:40:39 +04:00
vdso.c proc: Use fopen_proc instead of fopen("/proc...") 2014-09-18 20:26:20 +04:00