Commit ffe90e0b authored by Dmitry Safonov's avatar Dmitry Safonov Committed by Pavel Emelyanov

parasite: convert sigframe to u64

Sigframe pointer should be fixed size.
Convert members of rt_sigframe_ia32 to fixed-size.
After this patch dumping of compatible tasks works.

Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: 's avatarDmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent ccc44564
......@@ -93,10 +93,10 @@ typedef struct {
union {
struct xsave_struct xsave;
unsigned char __pad[sizeof(struct xsave_struct) + FP_XSTATE_MAGIC2_SIZE];
u8 __pad[sizeof(struct xsave_struct) + FP_XSTATE_MAGIC2_SIZE];
};
bool has_fpu;
u8 has_fpu;
} fpu_state_t;
#endif /* __CR_ASM_FPU_H__ */
......@@ -71,7 +71,7 @@ struct parasite_init_args {
int log_level;
struct rt_sigframe *sigframe;
u64 sigframe; /* pointer to sigframe */
void *sigreturn_addr;
futex_t daemon_connected;
......
......@@ -504,7 +504,7 @@ static int parasite_init_daemon(struct parasite_ctl *ctl, struct ns_id *net)
args = parasite_args(ctl, struct parasite_init_args);
args->sigframe = ctl->rsigframe;
args->sigframe = (uintptr_t)ctl->rsigframe;
args->log_level = log_get_loglevel();
futex_set(&args->daemon_connected, 0);
......
......@@ -792,7 +792,7 @@ static noinline __used int parasite_init_daemon(void *data)
int ret;
args->sigreturn_addr = fini_sigreturn;
sigframe = args->sigframe;
sigframe = (void*)(uintptr_t)args->sigframe;
ret = tsock = sys_socket(PF_UNIX, SOCK_SEQPACKET, 0);
if (tsock < 0) {
......
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