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.11.2~13 X-Git-Url: http://git.lttng.org/?p=lttng-modules.git;a=commitdiff_plain;h=d16203a5ed1ae740b5a0fcc681b58c315227fbb3 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 trace_lttng_statedump_process_state(), 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 ecec4f0b..baa5a1ef 100644 --- a/lttng-statedump-impl.c +++ b/lttng-statedump-impl.c @@ -384,7 +384,7 @@ void lttng_statedump_process_ns(struct lttng_session *session, do { trace_lttng_statedump_process_state(session, p, type, mode, submode, status, pid_ns); - pid_ns = pid_ns->parent; + pid_ns = pid_ns ? pid_ns->parent : NULL; } while (pid_ns); }