tracing: Initialize upper and lower vars in pid_list_refill_irq()
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 7 Oct 2021 13:53:53 +0000 (09:53 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 7 Oct 2021 13:56:38 +0000 (09:56 -0400)
The upper and lower variables are set as link lists to add into the sparse
array. If they are NULL, after the needed allocations are done, then there
is nothing to add. But they need to be initialized to NULL for this to
work.

Link: https://lore.kernel.org/all/221bc7ba-a475-1cb9-1bbe-730bb9c2d448@canonical.com/
Fixes: 8d6e90983ade ("tracing: Create a sparse bitmask for pid filtering")
Reported-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/pid_list.c

index cbf8031b2b992e3b2d423facc125072a73dec0ac..a2ef1d18126aa83a6864066bde25a7b8311ecc31 100644 (file)
@@ -333,8 +333,8 @@ static void pid_list_refill_irq(struct irq_work *iwork)
 {
        struct trace_pid_list *pid_list = container_of(iwork, struct trace_pid_list,
                                                       refill_irqwork);
-       union upper_chunk *upper;
-       union lower_chunk *lower;
+       union upper_chunk *upper = NULL;
+       union lower_chunk *lower = NULL;
        union upper_chunk **upper_next = &upper;
        union lower_chunk **lower_next = &lower;
        int upper_count;