tracing: Tag trace_percpu_buffer as a percpu pointer
authorNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Thu, 23 Dec 2021 10:34:39 +0000 (16:04 +0530)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 5 Jan 2022 23:53:49 +0000 (18:53 -0500)
Tag trace_percpu_buffer as a percpu pointer to resolve warnings
reported by sparse:
  /linux/kernel/trace/trace.c:3218:46: warning: incorrect type in initializer (different address spaces)
  /linux/kernel/trace/trace.c:3218:46:    expected void const [noderef] __percpu *__vpp_verify
  /linux/kernel/trace/trace.c:3218:46:    got struct trace_buffer_struct *
  /linux/kernel/trace/trace.c:3234:9: warning: incorrect type in initializer (different address spaces)
  /linux/kernel/trace/trace.c:3234:9:    expected void const [noderef] __percpu *__vpp_verify
  /linux/kernel/trace/trace.c:3234:9:    got int *

Link: https://lkml.kernel.org/r/ebabd3f23101d89cb75671b68b6f819f5edc830b.1640255304.git.naveen.n.rao@linux.vnet.ibm.com
Cc: stable@vger.kernel.org
Reported-by: kernel test robot <lkp@intel.com>
Fixes: 07d777fe8c398 ("tracing: Add percpu buffers for trace_printk()")
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/trace.c

index e1f55851e53faa06611e15572029fba8498a3cd2..78ea542ce3bc2e6aac21b0a078a19d4e99babde4 100644 (file)
@@ -3207,7 +3207,7 @@ struct trace_buffer_struct {
        char buffer[4][TRACE_BUF_SIZE];
 };
 
-static struct trace_buffer_struct *trace_percpu_buffer;
+static struct trace_buffer_struct __percpu *trace_percpu_buffer;
 
 /*
  * This allows for lockless recording.  If we're nested too deeply, then
@@ -3236,7 +3236,7 @@ static void put_trace_buf(void)
 
 static int alloc_percpu_trace_buffer(void)
 {
-       struct trace_buffer_struct *buffers;
+       struct trace_buffer_struct __percpu *buffers;
 
        if (trace_percpu_buffer)
                return 0;