From: Mathieu Desnoyers Date: Thu, 20 Feb 2020 14:58:42 +0000 (-0500) Subject: Fix: statedump: check task_active_pid_ns return value for NULL X-Git-Tag: v2.12.0-rc2~15 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=51831abd72db5af5c3c0f903e874860d4d95cae3;p=lttng-modules.git Fix: statedump: check task_active_pid_ns return value for NULL The lttng-statedump checks the return value of task_active_pid_ns() before each use within lttng_statedump_process_pid_ns(), but misses the NULL check before dereferencing pid_ns->parent. This race happens if a task exists in "dead" state while the statedump iterates on that task. Reported-by: Li Zhou Signed-off-by: Mathieu Desnoyers --- diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c index 066b9612..043bbaa1 100644 --- a/lttng-statedump-impl.c +++ b/lttng-statedump-impl.c @@ -426,7 +426,7 @@ void lttng_statedump_process_ns(struct lttng_session *session, pid_ns = task_active_pid_ns(p); do { trace_lttng_statedump_process_pid_ns(session, p, pid_ns); - pid_ns = pid_ns->parent; + pid_ns = pid_ns ? pid_ns->parent : NULL; } while (pid_ns);