Commit 5336bc13 authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

dump: dump tid_addr_clear for thread leaders

Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 20b7dafa
......@@ -666,6 +666,7 @@ static int dump_task_core_all(struct parasite_ctl *ctl,
goto err;
core_put_tls(core, misc->tls);
CORE_THREAD_ARCH_INFO(core)->clear_tid_addr = encode_pointer(misc->tid_addr);
ret = pb_write_one(fd_core, core, PB_CORE);
if (ret < 0)
......
......@@ -144,6 +144,7 @@ static inline int posix_timers_dump_size(int timer_n)
struct parasite_dump_misc {
unsigned long brk;
unsigned int *tid_addr;
u32 pid;
u32 sid;
......
......@@ -138,6 +138,8 @@ static int dump_posix_timers(struct parasite_dump_posix_timers_args *args)
static int dump_misc(struct parasite_dump_misc *args)
{
int ret;
args->brk = sys_brk(0);
args->pid = sys_getpid();
......@@ -147,7 +149,9 @@ static int dump_misc(struct parasite_dump_misc *args)
args->umask = sys_umask(0);
sys_umask(args->umask); /* never fails */
return 0;
ret = sys_prctl(PR_GET_TID_ADDRESS, (unsigned long) &args->tid_addr, 0, 0, 0);
return ret;
}
static int dump_creds(struct parasite_dump_creds *args)
......
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