Commit b5cc5fc3 authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by Cyrill Gorcunov

crtools: Sanitize parasite_ctl pass to parasite_cure_seized

Remove excessive checks and keep it a pointer.
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
parent a49e3072
......@@ -1130,7 +1130,7 @@ static int dump_one_task(pid_t pid, struct cr_fdset *cr_fdset)
goto err;
}
ret = parasite_cure_seized(&parasite_ctl, &vma_area_list);
ret = parasite_cure_seized(parasite_ctl, &vma_area_list);
if (ret) {
pr_err("Can't cure (pid: %d) from parasite\n", pid);
goto err;
......
......@@ -41,6 +41,6 @@ extern int parasite_dump_pages_seized(struct parasite_ctl *ctl, struct list_head
extern int parasite_dump_sigacts_seized(struct parasite_ctl *ctl, struct cr_fdset *cr_fdset);
extern struct parasite_ctl *parasite_infect_seized(pid_t pid, struct list_head *vma_area_list);
extern int parasite_cure_seized(struct parasite_ctl **p_ctrl, struct list_head *vma_area_list);
extern int parasite_cure_seized(struct parasite_ctl *ctl, struct list_head *vma_area_list);
#endif /* PARASITE_SYSCALL_H_ */
......@@ -501,19 +501,12 @@ out:
return ret;
}
int parasite_cure_seized(struct parasite_ctl **p_ctl,
struct list_head *vma_area_list)
int parasite_cure_seized(struct parasite_ctl *ctl, struct list_head *vma_area_list)
{
user_regs_struct_t regs, regs_orig;
struct parasite_ctl *ctl;
struct vma_area *vma_area;
int ret = -1;
if (!p_ctl || !*p_ctl)
return 0;
ctl = *p_ctl;
jerr(ptrace(PTRACE_GETREGS, ctl->pid, NULL, &regs), err);
regs_orig = regs;
......@@ -537,7 +530,7 @@ int parasite_cure_seized(struct parasite_ctl **p_ctl,
pr_panic("PTRACE_SETREGS failed (pid: %d)\n", ctl->pid);
}
free(*p_ctl), *p_ctl = NULL;
free(ctl);
err:
return ret;
}
......
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