Commit 58b0ef65 authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Pavel Emelyanov

restore: Add test for optional PB fields in core_entry

Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
parent 5421e44b
...@@ -391,7 +391,7 @@ static int restore_one_zombie(int pid, int exit_code) ...@@ -391,7 +391,7 @@ static int restore_one_zombie(int pid, int exit_code)
return -1; return -1;
} }
static int check_core_header(int pid, CoreEntry *core) static int check_core(int pid, CoreEntry *core)
{ {
int fd = -1, ret = -1; int fd = -1, ret = -1;
...@@ -403,6 +403,17 @@ static int check_core_header(int pid, CoreEntry *core) ...@@ -403,6 +403,17 @@ static int check_core_header(int pid, CoreEntry *core)
pr_err("Core march mismatch %d\n", (int)core->mtype); pr_err("Core march mismatch %d\n", (int)core->mtype);
goto out; goto out;
} }
if (!core->tc) {
pr_err("Core task state data missed\n");
goto out;
}
if (!core->ids && core->tc->task_state != TASK_DEAD) {
pr_err("Core IDS data missed for non-zombie\n");
goto out;
}
ret = 0; ret = 0;
out: out:
close_safe(&fd); close_safe(&fd);
...@@ -427,7 +438,7 @@ static int restore_one_task(int pid) ...@@ -427,7 +438,7 @@ static int restore_one_task(int pid)
if (ret < 0) if (ret < 0)
return -1; return -1;
if (check_core_header(pid, core)) { if (check_core(pid, core)) {
ret = -1; ret = -1;
goto out; goto out;
} }
......
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