Commit 721e7fa5 authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by Andrei Vagin

infect x86: Remove kdat

The kdat is used to check whether we have compat sigreturn
in the kernel. Compel can check it himself, but criu already
knows this.
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
parent 5e48c690
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
#include <compel/asm/fpu.h> #include <compel/asm/fpu.h>
#include "asm/cpu.h" #include "asm/cpu.h"
#include "kerndat.h"
#include <compel/asm/processor-flags.h> #include <compel/asm/processor-flags.h>
#include <compel/cpu.h> #include <compel/cpu.h>
...@@ -236,7 +235,7 @@ bool arch_can_dump_task(struct parasite_ctl *ctl) ...@@ -236,7 +235,7 @@ bool arch_can_dump_task(struct parasite_ctl *ctl)
if (ret < 0) if (ret < 0)
return false; return false;
if (ret && !kdat.has_compat_sigreturn) { if (ret && !(ctl->ictx.flags & INFECT_HAS_COMPAT_SIGRETURN)) {
pr_err("Can't dump task %d running in 32-bit mode\n", pid); pr_err("Can't dump task %d running in 32-bit mode\n", pid);
return false; return false;
} }
......
...@@ -115,6 +115,7 @@ extern struct infect_ctx *compel_infect_ctx(struct parasite_ctl *); ...@@ -115,6 +115,7 @@ extern struct infect_ctx *compel_infect_ctx(struct parasite_ctl *);
#define INFECT_NO_MEMFD 0x1 /* don't use memfd() */ #define INFECT_NO_MEMFD 0x1 /* don't use memfd() */
#define INFECT_FAIL_CONNECT 0x2 /* make parasite connect() fail */ #define INFECT_FAIL_CONNECT 0x2 /* make parasite connect() fail */
#define INFECT_NO_BREAKPOINTS 0x4 /* no breakpoints in pie tracking */ #define INFECT_NO_BREAKPOINTS 0x4 /* no breakpoints in pie tracking */
#define INFECT_HAS_COMPAT_SIGRETURN 0x8
typedef int (*save_regs_t)(void *, user_regs_struct_t *, user_fpregs_struct_t *); typedef int (*save_regs_t)(void *, user_regs_struct_t *, user_fpregs_struct_t *);
extern int compel_get_task_regs(pid_t pid, user_regs_struct_t regs, save_regs_t, void *); extern int compel_get_task_regs(pid_t pid, user_regs_struct_t regs, save_regs_t, void *);
......
...@@ -558,6 +558,8 @@ struct parasite_ctl *parasite_infect_seized(pid_t pid, struct pstree_item *item, ...@@ -558,6 +558,8 @@ struct parasite_ctl *parasite_infect_seized(pid_t pid, struct pstree_item *item,
ictx->flags |= INFECT_FAIL_CONNECT; ictx->flags |= INFECT_FAIL_CONNECT;
if (fault_injected(FI_NO_BREAKPOINTS)) if (fault_injected(FI_NO_BREAKPOINTS))
ictx->flags |= INFECT_NO_BREAKPOINTS; ictx->flags |= INFECT_NO_BREAKPOINTS;
if (kdat.has_compat_sigreturn)
ictx->flags |= INFECT_HAS_COMPAT_SIGRETURN;
parasite_ensure_args_size(dump_pages_args_size(vma_area_list)); parasite_ensure_args_size(dump_pages_args_size(vma_area_list));
parasite_ensure_args_size(aio_rings_args_size(vma_area_list)); parasite_ensure_args_size(aio_rings_args_size(vma_area_list));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment