2022-07-28 14:28:18

by Qing Zhang

[permalink] [raw]
Subject: [PATCH 3/3] LoongArch: Add stacktrace support

Use common arch_stack_walk infrastructure to avoid duplicated code and
avoid taking care of the stack storage and filtering.
Add sra (means __schedule return address) and scfa (means __schedule call
frame address) to thread_info and store it in switch_to().

Now we can print the process stack by cat /proc/*/stack and can better
support ftrace.

Signed-off-by: Qing Zhang <[email protected]>

diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
index b57daee98b89..1bd656285674 100644
--- a/arch/loongarch/Kconfig
+++ b/arch/loongarch/Kconfig
@@ -38,6 +38,7 @@ config LOONGARCH
select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE if !PREEMPTION
select ARCH_MIGHT_HAVE_PC_PARPORT
select ARCH_MIGHT_HAVE_PC_SERIO
+ select ARCH_STACKWALK
select ARCH_SPARSEMEM_ENABLE
select ARCH_SUPPORTS_ACPI
select ARCH_SUPPORTS_ATOMIC_RMW
@@ -141,6 +142,10 @@ config LOCKDEP_SUPPORT
bool
default y

+config STACKTRACE_SUPPORT
+ bool
+ default y
+
# MACH_LOONGSON32 and MACH_LOONGSON64 are delibrately carried over from the
# MIPS Loongson code, to preserve Loongson-specific code paths in drivers that
# are shared between architectures, and specifically expecting the symbols.
diff --git a/arch/loongarch/include/asm/processor.h b/arch/loongarch/include/asm/processor.h
index 57ec45aa078e..1c4b4308378d 100644
--- a/arch/loongarch/include/asm/processor.h
+++ b/arch/loongarch/include/asm/processor.h
@@ -101,6 +101,10 @@ struct thread_struct {
unsigned long reg23, reg24, reg25, reg26; /* s0-s3 */
unsigned long reg27, reg28, reg29, reg30, reg31; /* s4-s8 */

+ /* __schedule() return address / call frame address */
+ unsigned long sched_ra;
+ unsigned long sched_cfa;
+
/* CSR registers */
unsigned long csr_prmd;
unsigned long csr_crmd;
@@ -129,6 +133,9 @@ struct thread_struct {
struct loongarch_fpu fpu FPU_ALIGN;
};

+#define thread_saved_ra(tsk) (tsk->thread.sched_ra)
+#define thread_saved_fp(tsk) (tsk->thread.sched_cfa)
+
#define INIT_THREAD { \
/* \
* Main processor registers \
@@ -145,6 +152,8 @@ struct thread_struct {
.reg29 = 0, \
.reg30 = 0, \
.reg31 = 0, \
+ .sched_ra = 0, \
+ .sched_cfa = 0, \
.csr_crmd = 0, \
.csr_prmd = 0, \
.csr_euen = 0, \
diff --git a/arch/loongarch/include/asm/switch_to.h b/arch/loongarch/include/asm/switch_to.h
index 2a8d04375574..836cfcc19498 100644
--- a/arch/loongarch/include/asm/switch_to.h
+++ b/arch/loongarch/include/asm/switch_to.h
@@ -15,12 +15,15 @@ struct task_struct;
* @prev: The task previously executed.
* @next: The task to begin executing.
* @next_ti: task_thread_info(next).
+ * @sched_ra: __schedule return address.
+ * @sched_cfa: __schedule call frame address.
*
* This function is used whilst scheduling to save the context of prev & load
* the context of next. Returns prev.
*/
extern asmlinkage struct task_struct *__switch_to(struct task_struct *prev,
- struct task_struct *next, struct thread_info *next_ti);
+ struct task_struct *next, struct thread_info *next_ti,
+ void *sched_ra, void *sched_cfa);

/*
* For newly created kernel threads switch_to() will return to
@@ -31,7 +34,8 @@ extern asmlinkage struct task_struct *__switch_to(struct task_struct *prev,
#define switch_to(prev, next, last) \
do { \
lose_fpu_inatomic(1, prev); \
- (last) = __switch_to(prev, next, task_thread_info(next)); \
+ (last) = __switch_to(prev, next, task_thread_info(next), \
+ __builtin_return_address(0), __builtin_frame_address(0)); \
} while (0)

#endif /* _ASM_SWITCH_TO_H */
diff --git a/arch/loongarch/kernel/Makefile b/arch/loongarch/kernel/Makefile
index 918600e7b30f..7449513eb08d 100644
--- a/arch/loongarch/kernel/Makefile
+++ b/arch/loongarch/kernel/Makefile
@@ -15,6 +15,7 @@ obj-$(CONFIG_EFI) += efi.o
obj-$(CONFIG_CPU_HAS_FPU) += fpu.o

obj-$(CONFIG_MODULES) += module.o module-sections.o
+obj-$(CONFIG_STACKTRACE) += stacktrace.o

obj-$(CONFIG_PROC_FS) += proc.o

diff --git a/arch/loongarch/kernel/asm-offsets.c b/arch/loongarch/kernel/asm-offsets.c
index 20cd9e16a95a..eb350f3ffae5 100644
--- a/arch/loongarch/kernel/asm-offsets.c
+++ b/arch/loongarch/kernel/asm-offsets.c
@@ -103,6 +103,8 @@ void output_thread_defines(void)
OFFSET(THREAD_REG29, task_struct, thread.reg29);
OFFSET(THREAD_REG30, task_struct, thread.reg30);
OFFSET(THREAD_REG31, task_struct, thread.reg31);
+ OFFSET(THREAD_SCHED_RA, task_struct, thread.sched_ra);
+ OFFSET(THREAD_SCHED_CFA, task_struct, thread.sched_cfa);
OFFSET(THREAD_CSRCRMD, task_struct,
thread.csr_crmd);
OFFSET(THREAD_CSRPRMD, task_struct,
diff --git a/arch/loongarch/kernel/process.c b/arch/loongarch/kernel/process.c
index 709b7a1664f8..34c3f2148714 100644
--- a/arch/loongarch/kernel/process.c
+++ b/arch/loongarch/kernel/process.c
@@ -135,6 +135,7 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
childregs = (struct pt_regs *) childksp - 1;
/* Put the stack after the struct pt_regs. */
childksp = (unsigned long) childregs;
+ p->thread.sched_cfa = 0;
p->thread.csr_euen = 0;
p->thread.csr_crmd = csr_read32(LOONGARCH_CSR_CRMD);
p->thread.csr_prmd = csr_read32(LOONGARCH_CSR_PRMD);
@@ -145,6 +146,7 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
p->thread.reg23 = (unsigned long)args->fn;
p->thread.reg24 = (unsigned long)args->fn_arg;
p->thread.reg01 = (unsigned long)ret_from_kernel_thread;
+ p->thread.sched_ra = (unsigned long)ret_from_kernel_thread;
memset(childregs, 0, sizeof(struct pt_regs));
childregs->csr_euen = p->thread.csr_euen;
childregs->csr_crmd = p->thread.csr_crmd;
@@ -161,6 +163,7 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)

p->thread.reg03 = (unsigned long) childregs;
p->thread.reg01 = (unsigned long) ret_from_fork;
+ p->thread.sched_ra = (unsigned long) ret_from_fork;

/*
* New tasks lose permission to use the fpu. This accelerates context
diff --git a/arch/loongarch/kernel/stacktrace.c b/arch/loongarch/kernel/stacktrace.c
new file mode 100644
index 000000000000..f4f4b8ad3917
--- /dev/null
+++ b/arch/loongarch/kernel/stacktrace.c
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Stack trace management functions
+ *
+ * Copyright (C) 2022 Loongson Technology Corporation Limited
+ */
+#include <linux/sched.h>
+#include <linux/stacktrace.h>
+
+#include <asm/stacktrace.h>
+#include <asm/unwind.h>
+
+void arch_stack_walk(stack_trace_consume_fn consume_entry, void *cookie,
+ struct task_struct *task, struct pt_regs *regs)
+{
+ struct pt_regs dummyregs;
+ struct unwind_state state;
+ unsigned long addr;
+
+ regs = &dummyregs;
+
+ if (task == current) {
+ regs->csr_era = (unsigned long)__builtin_return_address(0);
+ regs->regs[3] = (unsigned long)__builtin_frame_address(0);
+ } else {
+ regs->csr_era = thread_saved_ra(task);
+ regs->regs[3] = thread_saved_fp(task);
+ }
+
+ regs->regs[1] = 0;
+ for (unwind_start(&state, task, regs);
+ !unwind_done(&state); unwind_next_frame(&state)) {
+ addr = unwind_get_return_address(&state);
+ if (!addr || !consume_entry(cookie, addr))
+ break;
+ }
+}
diff --git a/arch/loongarch/kernel/switch.S b/arch/loongarch/kernel/switch.S
index 53e2fa8e580e..03d8c7add68f 100644
--- a/arch/loongarch/kernel/switch.S
+++ b/arch/loongarch/kernel/switch.S
@@ -21,6 +21,8 @@ SYM_FUNC_START(__switch_to)

cpu_save_nonscratch a0
stptr.d ra, a0, THREAD_REG01
+ stptr.d a3, a0, THREAD_SCHED_RA
+ stptr.d a4, a0, THREAD_SCHED_CFA
move tp, a2
cpu_restore_nonscratch a1

--
2.20.1


2022-07-29 02:30:23

by Youling Tang

[permalink] [raw]
Subject: Re: [PATCH 3/3] LoongArch: Add stacktrace support



On 07/28/2022 10:05 PM, Qing Zhang wrote:
> Use common arch_stack_walk infrastructure to avoid duplicated code and
> avoid taking care of the stack storage and filtering.
> Add sra (means __schedule return address) and scfa (means __schedule call
> frame address) to thread_info and store it in switch_to().
>
> Now we can print the process stack by cat /proc/*/stack and can better
> support ftrace.
>
> Signed-off-by: Qing Zhang <[email protected]>
>
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index b57daee98b89..1bd656285674 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -38,6 +38,7 @@ config LOONGARCH
> select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE if !PREEMPTION
> select ARCH_MIGHT_HAVE_PC_PARPORT
> select ARCH_MIGHT_HAVE_PC_SERIO
> + select ARCH_STACKWALK
> select ARCH_SPARSEMEM_ENABLE
> select ARCH_SUPPORTS_ACPI
> select ARCH_SUPPORTS_ATOMIC_RMW
> @@ -141,6 +142,10 @@ config LOCKDEP_SUPPORT
> bool
> default y
>
> +config STACKTRACE_SUPPORT
> + bool
> + default y
> +
> # MACH_LOONGSON32 and MACH_LOONGSON64 are delibrately carried over from the
> # MIPS Loongson code, to preserve Loongson-specific code paths in drivers that
> # are shared between architectures, and specifically expecting the symbols.
> diff --git a/arch/loongarch/include/asm/processor.h b/arch/loongarch/include/asm/processor.h
> index 57ec45aa078e..1c4b4308378d 100644
> --- a/arch/loongarch/include/asm/processor.h
> +++ b/arch/loongarch/include/asm/processor.h
> @@ -101,6 +101,10 @@ struct thread_struct {
> unsigned long reg23, reg24, reg25, reg26; /* s0-s3 */
> unsigned long reg27, reg28, reg29, reg30, reg31; /* s4-s8 */
>
> + /* __schedule() return address / call frame address */
> + unsigned long sched_ra;
> + unsigned long sched_cfa;
> +
> /* CSR registers */
> unsigned long csr_prmd;
> unsigned long csr_crmd;
> @@ -129,6 +133,9 @@ struct thread_struct {
> struct loongarch_fpu fpu FPU_ALIGN;
> };
>
> +#define thread_saved_ra(tsk) (tsk->thread.sched_ra)
> +#define thread_saved_fp(tsk) (tsk->thread.sched_cfa)
> +
> #define INIT_THREAD { \
> /* \
> * Main processor registers \
> @@ -145,6 +152,8 @@ struct thread_struct {
> .reg29 = 0, \
> .reg30 = 0, \
> .reg31 = 0, \
> + .sched_ra = 0, \
> + .sched_cfa = 0, \
> .csr_crmd = 0, \
> .csr_prmd = 0, \
> .csr_euen = 0, \
> diff --git a/arch/loongarch/include/asm/switch_to.h b/arch/loongarch/include/asm/switch_to.h
> index 2a8d04375574..836cfcc19498 100644
> --- a/arch/loongarch/include/asm/switch_to.h
> +++ b/arch/loongarch/include/asm/switch_to.h
> @@ -15,12 +15,15 @@ struct task_struct;
> * @prev: The task previously executed.
> * @next: The task to begin executing.
> * @next_ti: task_thread_info(next).
> + * @sched_ra: __schedule return address.
> + * @sched_cfa: __schedule call frame address.
> *
> * This function is used whilst scheduling to save the context of prev & load
> * the context of next. Returns prev.
> */
> extern asmlinkage struct task_struct *__switch_to(struct task_struct *prev,
> - struct task_struct *next, struct thread_info *next_ti);
> + struct task_struct *next, struct thread_info *next_ti,
> + void *sched_ra, void *sched_cfa);
>
> /*
> * For newly created kernel threads switch_to() will return to
> @@ -31,7 +34,8 @@ extern asmlinkage struct task_struct *__switch_to(struct task_struct *prev,
> #define switch_to(prev, next, last) \
> do { \
> lose_fpu_inatomic(1, prev); \
> - (last) = __switch_to(prev, next, task_thread_info(next)); \
> + (last) = __switch_to(prev, next, task_thread_info(next), \
> + __builtin_return_address(0), __builtin_frame_address(0)); \
'\' format alignment.

Thanks,
Youling

2022-07-31 12:22:47

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 3/3] LoongArch: Add stacktrace support

Hi Qing,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.19-rc8 next-20220728]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Qing-Zhang/LoongArch-Add-guess-unwinder-support/20220728-220739
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 6e7765cb477a9753670d4351d14de93f1e9dbbd4
config: loongarch-randconfig-s041-20220731 (https://download.01.org/0day-ci/archive/20220731/[email protected]/config)
compiler: loongarch64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/32ef6acf6f5ecfadda21be77cbebb07b1c69e56a
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Qing-Zhang/LoongArch-Add-guess-unwinder-support/20220728-220739
git checkout 32ef6acf6f5ecfadda21be77cbebb07b1c69e56a
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=loongarch SHELL=/bin/bash kernel/entry/ kernel/trace/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

sparse warnings: (new ones prefixed by >>)
>> kernel/entry/common.c:447:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:447:29: sparse: expected void *ptr
kernel/entry/common.c:447:29: sparse: got int [noderef] __percpu *
>> kernel/entry/common.c:447:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:447:29: sparse: expected void *ptr
kernel/entry/common.c:447:29: sparse: got int [noderef] __percpu *
>> kernel/entry/common.c:447:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:447:29: sparse: expected void *ptr
kernel/entry/common.c:447:29: sparse: got int [noderef] __percpu *
>> kernel/entry/common.c:447:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:447:29: sparse: expected void *ptr
kernel/entry/common.c:447:29: sparse: got int [noderef] __percpu *
kernel/entry/common.c: note: in included file:
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
include/linux/context_tracking.h:98:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int enum ctx_state [noderef] __percpu * @@
include/linux/context_tracking.h:98:17: sparse: expected void *ptr
include/linux/context_tracking.h:98:17: sparse: got int enum ctx_state [noderef] __percpu *
--
>> kernel/trace/trace_preemptirq.c:30:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:30:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:30:13: sparse: got int [noderef] __percpu *
>> kernel/trace/trace_preemptirq.c:30:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:30:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:30:13: sparse: got int [noderef] __percpu *
>> kernel/trace/trace_preemptirq.c:30:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:30:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:30:13: sparse: got int [noderef] __percpu *
>> kernel/trace/trace_preemptirq.c:30:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:30:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:30:13: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:34:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:34:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:34:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:34:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:34:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:34:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:34:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:34:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:34:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:34:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:34:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:34:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:42:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:42:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:42:13: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:42:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:42:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:42:13: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:42:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:42:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:42:13: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:42:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:42:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:42:13: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:46:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:46:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:46:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:46:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:46:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:46:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:46:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:46:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:46:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:46:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:46:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:46:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:63:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:63:14: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:63:14: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:63:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:63:14: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:63:14: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:63:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:63:14: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:63:14: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:63:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:63:14: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:63:14: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:64:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:64:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:64:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:64:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:64:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:64:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:64:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:64:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:64:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:64:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:64:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:64:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:78:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:78:14: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:78:14: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:78:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:78:14: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:78:14: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:78:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:78:14: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:78:14: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:78:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:78:14: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:78:14: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:79:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:79:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:79:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:79:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:79:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:79:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:79:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:79:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:79:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:79:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:79:17: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:79:17: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:90:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:90:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:90:13: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:90:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:90:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:90:13: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:90:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:90:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:90:13: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:90:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:90:13: sparse: expected void *ptr
kernel/trace/trace_preemptirq.c:90:13: sparse: got int [noderef] __percpu *
kernel/trace/trace_preemptirq.c:94:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/trace/trace_preemptirq.c:94:17: sparse: expected void *ptr
--
kernel/trace/trace_events_user.c:280:37: sparse: sparse: Using plain integer as NULL pointer
kernel/trace/trace_events_user.c:461:38: sparse: sparse: Using plain integer as NULL pointer
kernel/trace/trace_events_user.c:482:40: sparse: sparse: Using plain integer as NULL pointer
kernel/trace/trace_events_user.c:1181:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/trace/trace_events_user.c:1181:16: sparse: void [noderef] __rcu *
kernel/trace/trace_events_user.c:1181:16: sparse: void *
kernel/trace/trace_events_user.c:1248:13: sparse: sparse: cast removes address space '__user' of expression
kernel/trace/trace_events_user.c:1248:13: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __user *buf @@ got char * @@
kernel/trace/trace_events_user.c:1248:13: sparse: expected void [noderef] __user *buf
kernel/trace/trace_events_user.c:1248:13: sparse: got char *
kernel/trace/trace_events_user.c:1264:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/trace/trace_events_user.c:1264:16: sparse: void [noderef] __rcu *
kernel/trace/trace_events_user.c:1264:16: sparse: void *
kernel/trace/trace_events_user.c:1291:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/trace/trace_events_user.c:1291:9: sparse: void [noderef] __rcu *
kernel/trace/trace_events_user.c:1291:9: sparse: void *
kernel/trace/trace_events_user.c: note: in included file:
>> kernel/trace/trace.h:1338:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got struct ring_buffer_event *[noderef] __percpu * @@
kernel/trace/trace.h:1338:13: sparse: expected void *ptr
kernel/trace/trace.h:1338:13: sparse: got struct ring_buffer_event *[noderef] __percpu *
>> kernel/trace/trace.h:1338:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got struct ring_buffer_event *[noderef] __percpu * @@
kernel/trace/trace.h:1338:13: sparse: expected void *ptr
kernel/trace/trace.h:1338:13: sparse: got struct ring_buffer_event *[noderef] __percpu *
>> kernel/trace/trace.h:1338:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got struct ring_buffer_event *[noderef] __percpu * @@
kernel/trace/trace.h:1338:13: sparse: expected void *ptr
kernel/trace/trace.h:1338:13: sparse: got struct ring_buffer_event *[noderef] __percpu *
>> kernel/trace/trace.h:1338:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got struct ring_buffer_event *[noderef] __percpu * @@
kernel/trace/trace.h:1338:13: sparse: expected void *ptr
kernel/trace/trace.h:1338:13: sparse: got struct ring_buffer_event *[noderef] __percpu *
kernel/trace/trace_events_user.c: note: in included file (through include/linux/uaccess.h, include/linux/sched/task.h, include/linux/sched/signal.h, ...):
arch/loongarch/include/asm/uaccess.h:232:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/loongarch/include/asm/uaccess.h:232:32: sparse: expected void const *from
arch/loongarch/include/asm/uaccess.h:232:32: sparse: got void const [noderef] __user *from
--
>> kernel/trace/trace_events.c:796:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:796:9: sparse: expected void *ptr
kernel/trace/trace_events.c:796:9: sparse: got bool [noderef] __percpu *
>> kernel/trace/trace_events.c:796:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:796:9: sparse: expected void *ptr
kernel/trace/trace_events.c:796:9: sparse: got bool [noderef] __percpu *
>> kernel/trace/trace_events.c:796:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:796:9: sparse: expected void *ptr
kernel/trace/trace_events.c:796:9: sparse: got bool [noderef] __percpu *
>> kernel/trace/trace_events.c:796:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:796:9: sparse: expected void *ptr
kernel/trace/trace_events.c:796:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:814:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:814:9: sparse: expected void *ptr
kernel/trace/trace_events.c:814:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:814:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:814:9: sparse: expected void *ptr
kernel/trace/trace_events.c:814:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:814:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:814:9: sparse: expected void *ptr
kernel/trace/trace_events.c:814:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:814:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:814:9: sparse: expected void *ptr
kernel/trace/trace_events.c:814:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:826:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:826:14: sparse: expected void *ptr
kernel/trace/trace_events.c:826:14: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:826:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:826:14: sparse: expected void *ptr
kernel/trace/trace_events.c:826:14: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:826:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:826:14: sparse: expected void *ptr
kernel/trace/trace_events.c:826:14: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:826:14: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:826:14: sparse: expected void *ptr
kernel/trace/trace_events.c:826:14: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:832:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:832:9: sparse: expected void *ptr
kernel/trace/trace_events.c:832:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:832:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:832:9: sparse: expected void *ptr
kernel/trace/trace_events.c:832:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:832:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:832:9: sparse: expected void *ptr
kernel/trace/trace_events.c:832:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:832:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:832:9: sparse: expected void *ptr
kernel/trace/trace_events.c:832:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:844:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:844:13: sparse: expected void *ptr
kernel/trace/trace_events.c:844:13: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:844:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:844:13: sparse: expected void *ptr
kernel/trace/trace_events.c:844:13: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:844:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:844:13: sparse: expected void *ptr
kernel/trace/trace_events.c:844:13: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:844:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:844:13: sparse: expected void *ptr
kernel/trace/trace_events.c:844:13: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:851:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:851:9: sparse: expected void *ptr
kernel/trace/trace_events.c:851:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:851:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:851:9: sparse: expected void *ptr
kernel/trace/trace_events.c:851:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:851:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:851:9: sparse: expected void *ptr
kernel/trace/trace_events.c:851:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:851:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:851:9: sparse: expected void *ptr
kernel/trace/trace_events.c:851:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:999:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct event_filter *filter @@ got struct event_filter [noderef] __rcu *filter @@
kernel/trace/trace_events.c:999:31: sparse: expected struct event_filter *filter
kernel/trace/trace_events.c:999:31: sparse: got struct event_filter [noderef] __rcu *filter
kernel/trace/trace_events.c:1907:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:1907:9: sparse: expected void *ptr
kernel/trace/trace_events.c:1907:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:1907:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:1907:9: sparse: expected void *ptr
kernel/trace/trace_events.c:1907:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:1907:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:1907:9: sparse: expected void *ptr
kernel/trace/trace_events.c:1907:9: sparse: got bool [noderef] __percpu *
kernel/trace/trace_events.c:1907:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got bool [noderef] __percpu * @@
kernel/trace/trace_events.c:1907:9: sparse: expected void *ptr
kernel/trace/trace_events.c:1907:9: sparse: got bool [noderef] __percpu *
--
kernel/trace/trace.c:406:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct trace_export **list @@ got struct trace_export [noderef] __rcu ** @@
kernel/trace/trace.c:406:28: sparse: expected struct trace_export **list
kernel/trace/trace.c:406:28: sparse: got struct trace_export [noderef] __rcu **
kernel/trace/trace.c:420:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct trace_export **list @@ got struct trace_export [noderef] __rcu ** @@
kernel/trace/trace.c:420:33: sparse: expected struct trace_export **list
kernel/trace/trace.c:420:33: sparse: got struct trace_export [noderef] __rcu **
kernel/trace/trace.c:2864:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct event_filter *filter @@ got struct event_filter [noderef] __rcu *filter @@
kernel/trace/trace.c:2864:38: sparse: expected struct event_filter *filter
kernel/trace/trace.c:2864:38: sparse: got struct event_filter [noderef] __rcu *filter
>> kernel/trace/trace.c:7333:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got struct ring_buffer_event *[noderef] __percpu * @@
kernel/trace/trace.c:7333:20: sparse: expected void *ptr
kernel/trace/trace.c:7333:20: sparse: got struct ring_buffer_event *[noderef] __percpu *
>> kernel/trace/trace.c:7333:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got struct ring_buffer_event *[noderef] __percpu * @@
kernel/trace/trace.c:7333:20: sparse: expected void *ptr
kernel/trace/trace.c:7333:20: sparse: got struct ring_buffer_event *[noderef] __percpu *
>> kernel/trace/trace.c:7333:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got struct ring_buffer_event *[noderef] __percpu * @@
kernel/trace/trace.c:7333:20: sparse: expected void *ptr
kernel/trace/trace.c:7333:20: sparse: got struct ring_buffer_event *[noderef] __percpu *
>> kernel/trace/trace.c:7333:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got struct ring_buffer_event *[noderef] __percpu * @@
kernel/trace/trace.c:7333:20: sparse: expected void *ptr
kernel/trace/trace.c:7333:20: sparse: got struct ring_buffer_event *[noderef] __percpu *
kernel/trace/trace.c:360:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/trace/trace.c:360:9: sparse: struct trace_export [noderef] __rcu *
kernel/trace/trace.c:360:9: sparse: struct trace_export *
kernel/trace/trace.c:375:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/trace/trace.c:375:9: sparse: struct trace_export [noderef] __rcu *
kernel/trace/trace.c:375:9: sparse: struct trace_export *

vim +447 kernel/entry/common.c

b6be002bcd1dd1 Thomas Gleixner 2020-11-02 442
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 443 irqentry_state_t noinstr irqentry_nmi_enter(struct pt_regs *regs)
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 444 {
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 445 irqentry_state_t irq_state;
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 446
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 @447 irq_state.lockdep = lockdep_hardirqs_enabled();
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 448
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 449 __nmi_enter();
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 450 lockdep_hardirqs_off(CALLER_ADDR0);
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 451 lockdep_hardirq_enter();
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 452 rcu_nmi_enter();
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 453
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 454 instrumentation_begin();
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 455 trace_hardirqs_off_finish();
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 456 ftrace_nmi_enter();
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 457 instrumentation_end();
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 458
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 459 return irq_state;
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 460 }
b6be002bcd1dd1 Thomas Gleixner 2020-11-02 461

--
0-DAY CI Kernel Test Service
https://01.org/lkp

2022-08-02 19:23:53

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 3/3] LoongArch: Add stacktrace support

Hi Qing,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.19 next-20220728]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Qing-Zhang/LoongArch-Add-guess-unwinder-support/20220728-220739
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 6e7765cb477a9753670d4351d14de93f1e9dbbd4
config: loongarch-randconfig-s043-20220801 (https://download.01.org/0day-ci/archive/20220803/[email protected]/config)
compiler: loongarch64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/32ef6acf6f5ecfadda21be77cbebb07b1c69e56a
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Qing-Zhang/LoongArch-Add-guess-unwinder-support/20220728-220739
git checkout 32ef6acf6f5ecfadda21be77cbebb07b1c69e56a
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=loongarch SHELL=/bin/bash kernel/locking/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

sparse warnings: (new ones prefixed by >>)
kernel/locking/lockdep.c:110:1: sparse: sparse: symbol '__pcpu_scope_lockdep_recursion' was not declared. Should it be static?
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *
>> kernel/locking/lockdep.c:118:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:118:13: sparse: expected void *ptr
kernel/locking/lockdep.c:118:13: sparse: got unsigned int [noderef] __percpu *

vim +118 kernel/locking/lockdep.c

4d004099a668c4 Peter Zijlstra 2020-10-02 112
0afda3a888dccf Peter Zijlstra 2021-01-06 113 static __always_inline bool lockdep_enabled(void)
4d004099a668c4 Peter Zijlstra 2020-10-02 114 {
4d004099a668c4 Peter Zijlstra 2020-10-02 115 if (!debug_locks)
4d004099a668c4 Peter Zijlstra 2020-10-02 116 return false;
4d004099a668c4 Peter Zijlstra 2020-10-02 117
d48e3850030623 Peter Zijlstra 2020-10-26 @118 if (this_cpu_read(lockdep_recursion))
4d004099a668c4 Peter Zijlstra 2020-10-02 119 return false;
4d004099a668c4 Peter Zijlstra 2020-10-02 120
4d004099a668c4 Peter Zijlstra 2020-10-02 121 if (current->lockdep_recursion)
4d004099a668c4 Peter Zijlstra 2020-10-02 122 return false;
4d004099a668c4 Peter Zijlstra 2020-10-02 123
4d004099a668c4 Peter Zijlstra 2020-10-02 124 return true;
4d004099a668c4 Peter Zijlstra 2020-10-02 125 }
4d004099a668c4 Peter Zijlstra 2020-10-02 126

--
0-DAY CI Kernel Test Service
https://01.org/lkp

2022-08-05 20:41:04

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 3/3] LoongArch: Add stacktrace support

Hi Qing,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.19 next-20220805]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Qing-Zhang/LoongArch-Add-guess-unwinder-support/20220728-220739
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 6e7765cb477a9753670d4351d14de93f1e9dbbd4
config: loongarch-randconfig-s033-20220805 (https://download.01.org/0day-ci/archive/20220806/[email protected]/config)
compiler: loongarch64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/32ef6acf6f5ecfadda21be77cbebb07b1c69e56a
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Qing-Zhang/LoongArch-Add-guess-unwinder-support/20220728-220739
git checkout 32ef6acf6f5ecfadda21be77cbebb07b1c69e56a
# save the config file
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=loongarch

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

sparse warnings: (new ones prefixed by >>)
>> kernel/irq_work.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/irq_work.c:278:9: sparse: expected void *ptr
kernel/irq_work.c:278:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/irq_work.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/irq_work.c:278:9: sparse: expected void *ptr
kernel/irq_work.c:278:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/irq_work.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/irq_work.c:278:9: sparse: expected void *ptr
kernel/irq_work.c:278:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/irq_work.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/irq_work.c:278:9: sparse: expected void *ptr
kernel/irq_work.c:278:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/irq_work.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/irq_work.c:278:9: sparse: expected void *ptr
kernel/irq_work.c:278:9: sparse: got int [noderef] __percpu *
>> kernel/irq_work.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/irq_work.c:278:9: sparse: expected void *ptr
kernel/irq_work.c:278:9: sparse: got int [noderef] __percpu *
>> kernel/irq_work.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/irq_work.c:278:9: sparse: expected void *ptr
kernel/irq_work.c:278:9: sparse: got int [noderef] __percpu *
>> kernel/irq_work.c:278:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/irq_work.c:278:9: sparse: expected void *ptr
kernel/irq_work.c:278:9: sparse: got int [noderef] __percpu *
--
kernel/fork.c:1307:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct file *[assigned] old_exe_file @@ got struct file [noderef] __rcu *[assigned] __res @@
kernel/fork.c:1307:22: sparse: expected struct file *[assigned] old_exe_file
kernel/fork.c:1307:22: sparse: got struct file [noderef] __rcu *[assigned] __res
kernel/fork.c:1638:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct refcount_struct [usertype] *r @@ got struct refcount_struct [noderef] __rcu * @@
kernel/fork.c:1638:38: sparse: expected struct refcount_struct [usertype] *r
kernel/fork.c:1638:38: sparse: got struct refcount_struct [noderef] __rcu *
kernel/fork.c:1647:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:1647:31: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:1647:31: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:1648:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got struct k_sigaction [noderef] __rcu * @@
kernel/fork.c:1648:36: sparse: expected void const *
kernel/fork.c:1648:36: sparse: got struct k_sigaction [noderef] __rcu *
kernel/fork.c:1649:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:1649:33: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:1649:33: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2061:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2061:31: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2061:31: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2065:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2065:33: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2065:33: sparse: got struct spinlock [noderef] __rcu *
>> kernel/fork.c:2096:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/fork.c:2096:9: sparse: expected void *ptr
kernel/fork.c:2096:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/fork.c:2096:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/fork.c:2096:9: sparse: expected void *ptr
kernel/fork.c:2096:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/fork.c:2096:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/fork.c:2096:9: sparse: expected void *ptr
kernel/fork.c:2096:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/fork.c:2096:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/fork.c:2096:9: sparse: expected void *ptr
kernel/fork.c:2096:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/fork.c:2096:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/fork.c:2096:9: sparse: expected void *ptr
kernel/fork.c:2096:9: sparse: got int [noderef] __percpu *
>> kernel/fork.c:2096:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/fork.c:2096:9: sparse: expected void *ptr
kernel/fork.c:2096:9: sparse: got int [noderef] __percpu *
>> kernel/fork.c:2096:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/fork.c:2096:9: sparse: expected void *ptr
kernel/fork.c:2096:9: sparse: got int [noderef] __percpu *
>> kernel/fork.c:2096:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/fork.c:2096:9: sparse: expected void *ptr
kernel/fork.c:2096:9: sparse: got int [noderef] __percpu *
kernel/fork.c:2385:32: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct [noderef] __rcu *real_parent @@ got struct task_struct *task @@
kernel/fork.c:2385:32: sparse: expected struct task_struct [noderef] __rcu *real_parent
kernel/fork.c:2385:32: sparse: got struct task_struct *task
kernel/fork.c:2394:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2394:27: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2394:27: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2439:54: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct list_head *head @@ got struct list_head [noderef] __rcu * @@
kernel/fork.c:2439:54: sparse: expected struct list_head *head
kernel/fork.c:2439:54: sparse: got struct list_head [noderef] __rcu *
kernel/fork.c:2460:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2460:29: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2460:29: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2481:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2481:29: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2481:29: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2508:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sighand_struct *sighand @@ got struct sighand_struct [noderef] __rcu *sighand @@
kernel/fork.c:2508:28: sparse: expected struct sighand_struct *sighand
kernel/fork.c:2508:28: sparse: got struct sighand_struct [noderef] __rcu *sighand
kernel/fork.c:2537:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2537:31: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2537:31: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2539:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2539:33: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2539:33: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2975:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *[assigned] parent @@ got struct task_struct [noderef] __rcu *real_parent @@
kernel/fork.c:2975:24: sparse: expected struct task_struct *[assigned] parent
kernel/fork.c:2975:24: sparse: got struct task_struct [noderef] __rcu *real_parent
kernel/fork.c:3056:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct refcount_struct const [usertype] *r @@ got struct refcount_struct [noderef] __rcu * @@
kernel/fork.c:3056:43: sparse: expected struct refcount_struct const [usertype] *r
kernel/fork.c:3056:43: sparse: got struct refcount_struct [noderef] __rcu *
kernel/fork.c:2106:22: sparse: sparse: dereference of noderef expression
kernel/fork.c: note: in included file (through include/uapi/asm-generic/bpf_perf_event.h, arch/loongarch/include/generated/uapi/asm/bpf_perf_event.h, ...):
include/linux/ptrace.h:210:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *new_parent @@ got struct task_struct [noderef] __rcu *parent @@
include/linux/ptrace.h:210:45: sparse: expected struct task_struct *new_parent
include/linux/ptrace.h:210:45: sparse: got struct task_struct [noderef] __rcu *parent
include/linux/ptrace.h:210:62: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected struct cred const *ptracer_cred @@ got struct cred const [noderef] __rcu *ptracer_cred @@
include/linux/ptrace.h:210:62: sparse: expected struct cred const *ptracer_cred
include/linux/ptrace.h:210:62: sparse: got struct cred const [noderef] __rcu *ptracer_cred
kernel/fork.c:2437:59: sparse: sparse: dereference of noderef expression
kernel/fork.c:2438:59: sparse: sparse: dereference of noderef expression
kernel/fork.c: note: in included file (through include/linux/uaccess.h, include/linux/sched/task.h):
arch/loongarch/include/asm/uaccess.h:232:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/loongarch/include/asm/uaccess.h:232:32: sparse: expected void const *from
arch/loongarch/include/asm/uaccess.h:232:32: sparse: got void const [noderef] __user *from
arch/loongarch/include/asm/uaccess.h:232:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/loongarch/include/asm/uaccess.h:232:32: sparse: expected void const *from
arch/loongarch/include/asm/uaccess.h:232:32: sparse: got void const [noderef] __user *from
--
>> kernel/softirq.c:351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:351:9: sparse: expected void *ptr
kernel/softirq.c:351:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/softirq.c:351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:351:9: sparse: expected void *ptr
kernel/softirq.c:351:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/softirq.c:351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:351:9: sparse: expected void *ptr
kernel/softirq.c:351:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/softirq.c:351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:351:9: sparse: expected void *ptr
kernel/softirq.c:351:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/softirq.c:351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:351:9: sparse: expected void *ptr
kernel/softirq.c:351:9: sparse: got int [noderef] __percpu *
>> kernel/softirq.c:351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:351:9: sparse: expected void *ptr
kernel/softirq.c:351:9: sparse: got int [noderef] __percpu *
>> kernel/softirq.c:351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:351:9: sparse: expected void *ptr
kernel/softirq.c:351:9: sparse: got int [noderef] __percpu *
>> kernel/softirq.c:351:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:351:9: sparse: expected void *ptr
kernel/softirq.c:351:9: sparse: got int [noderef] __percpu *
kernel/softirq.c:376:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:376:9: sparse: expected void *ptr
kernel/softirq.c:376:9: sparse: got unsigned int [noderef] __percpu *
kernel/softirq.c:376:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:376:9: sparse: expected void *ptr
kernel/softirq.c:376:9: sparse: got unsigned int [noderef] __percpu *
kernel/softirq.c:376:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:376:9: sparse: expected void *ptr
kernel/softirq.c:376:9: sparse: got unsigned int [noderef] __percpu *
kernel/softirq.c:376:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:376:9: sparse: expected void *ptr
kernel/softirq.c:376:9: sparse: got unsigned int [noderef] __percpu *
kernel/softirq.c:376:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:376:9: sparse: expected void *ptr
kernel/softirq.c:376:9: sparse: got int [noderef] __percpu *
kernel/softirq.c:376:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:376:9: sparse: expected void *ptr
kernel/softirq.c:376:9: sparse: got int [noderef] __percpu *
kernel/softirq.c:376:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:376:9: sparse: expected void *ptr
kernel/softirq.c:376:9: sparse: got int [noderef] __percpu *
kernel/softirq.c:376:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:376:9: sparse: expected void *ptr
kernel/softirq.c:376:9: sparse: got int [noderef] __percpu *
kernel/softirq.c:711:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:711:9: sparse: expected void *ptr
kernel/softirq.c:711:9: sparse: got unsigned int [noderef] __percpu *
kernel/softirq.c:711:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:711:9: sparse: expected void *ptr
kernel/softirq.c:711:9: sparse: got unsigned int [noderef] __percpu *
kernel/softirq.c:711:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:711:9: sparse: expected void *ptr
kernel/softirq.c:711:9: sparse: got unsigned int [noderef] __percpu *
kernel/softirq.c:711:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/softirq.c:711:9: sparse: expected void *ptr
kernel/softirq.c:711:9: sparse: got unsigned int [noderef] __percpu *
kernel/softirq.c:711:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:711:9: sparse: expected void *ptr
kernel/softirq.c:711:9: sparse: got int [noderef] __percpu *
kernel/softirq.c:711:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:711:9: sparse: expected void *ptr
kernel/softirq.c:711:9: sparse: got int [noderef] __percpu *
kernel/softirq.c:711:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:711:9: sparse: expected void *ptr
kernel/softirq.c:711:9: sparse: got int [noderef] __percpu *
kernel/softirq.c:711:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/softirq.c:711:9: sparse: expected void *ptr
kernel/softirq.c:711:9: sparse: got int [noderef] __percpu *
--
>> kernel/workqueue.c:1433:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/workqueue.c:1433:9: sparse: expected void *ptr
kernel/workqueue.c:1433:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/workqueue.c:1433:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/workqueue.c:1433:9: sparse: expected void *ptr
kernel/workqueue.c:1433:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/workqueue.c:1433:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/workqueue.c:1433:9: sparse: expected void *ptr
kernel/workqueue.c:1433:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/workqueue.c:1433:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/workqueue.c:1433:9: sparse: expected void *ptr
kernel/workqueue.c:1433:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/workqueue.c:1433:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/workqueue.c:1433:9: sparse: expected void *ptr
kernel/workqueue.c:1433:9: sparse: got int [noderef] __percpu *
>> kernel/workqueue.c:1433:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/workqueue.c:1433:9: sparse: expected void *ptr
kernel/workqueue.c:1433:9: sparse: got int [noderef] __percpu *
>> kernel/workqueue.c:1433:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/workqueue.c:1433:9: sparse: expected void *ptr
kernel/workqueue.c:1433:9: sparse: got int [noderef] __percpu *
>> kernel/workqueue.c:1433:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/workqueue.c:1433:9: sparse: expected void *ptr
kernel/workqueue.c:1433:9: sparse: got int [noderef] __percpu *
kernel/workqueue.c:3537:13: sparse: sparse: context imbalance in 'wq_manager_inactive' - different lock contexts for basic block
kernel/workqueue.c:3592:9: sparse: sparse: context imbalance in 'put_unbound_pool' - unexpected unlock
--
>> kernel/locking/lockdep.c:2562:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:2562:9: sparse: expected void *ptr
kernel/locking/lockdep.c:2562:9: sparse: got int [noderef] __percpu *
>> kernel/locking/lockdep.c:2562:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:2562:9: sparse: expected void *ptr
kernel/locking/lockdep.c:2562:9: sparse: got int [noderef] __percpu *
>> kernel/locking/lockdep.c:2562:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:2562:9: sparse: expected void *ptr
kernel/locking/lockdep.c:2562:9: sparse: got int [noderef] __percpu *
>> kernel/locking/lockdep.c:2562:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:2562:9: sparse: expected void *ptr
kernel/locking/lockdep.c:2562:9: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:3943:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:3943:9: sparse: expected void *ptr
kernel/locking/lockdep.c:3943:9: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:3943:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:3943:9: sparse: expected void *ptr
kernel/locking/lockdep.c:3943:9: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:3943:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:3943:9: sparse: expected void *ptr
kernel/locking/lockdep.c:3943:9: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:3943:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:3943:9: sparse: expected void *ptr
kernel/locking/lockdep.c:3943:9: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4282:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:4282:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4282:13: sparse: got unsigned int [noderef] __percpu *
kernel/locking/lockdep.c:4282:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:4282:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4282:13: sparse: got unsigned int [noderef] __percpu *
kernel/locking/lockdep.c:4282:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:4282:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4282:13: sparse: got unsigned int [noderef] __percpu *
kernel/locking/lockdep.c:4282:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:4282:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4282:13: sparse: got unsigned int [noderef] __percpu *
kernel/locking/lockdep.c:4285:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4285:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4285:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4285:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4285:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4285:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4285:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4285:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4285:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4285:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4285:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4285:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4351:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:4351:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4351:13: sparse: got unsigned int [noderef] __percpu *
kernel/locking/lockdep.c:4351:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:4351:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4351:13: sparse: got unsigned int [noderef] __percpu *
kernel/locking/lockdep.c:4351:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:4351:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4351:13: sparse: got unsigned int [noderef] __percpu *
kernel/locking/lockdep.c:4351:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/locking/lockdep.c:4351:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4351:13: sparse: got unsigned int [noderef] __percpu *
kernel/locking/lockdep.c:4354:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4354:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4354:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4354:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4354:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4354:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4354:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4354:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4354:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4354:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4354:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4354:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4414:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4414:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4414:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4414:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4414:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4414:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4414:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4414:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4414:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4414:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4414:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4414:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4465:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4465:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4465:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4465:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4465:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4465:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4465:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4465:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4465:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:4465:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:4465:13: sparse: expected void *ptr
kernel/locking/lockdep.c:4465:13: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:5505:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:5505:21: sparse: expected void *ptr
kernel/locking/lockdep.c:5505:21: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:5505:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:5505:21: sparse: expected void *ptr
kernel/locking/lockdep.c:5505:21: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:5505:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:5505:21: sparse: expected void *ptr
kernel/locking/lockdep.c:5505:21: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:5505:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:5505:21: sparse: expected void *ptr
kernel/locking/lockdep.c:5505:21: sparse: got int [noderef] __percpu *
kernel/locking/lockdep.c:5509:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/locking/lockdep.c:5509:21: sparse: expected void *ptr
--
>> fs/eventpoll.c:620:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:620:9: sparse: expected void *ptr
fs/eventpoll.c:620:9: sparse: got unsigned int [noderef] __percpu *
>> fs/eventpoll.c:620:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:620:9: sparse: expected void *ptr
fs/eventpoll.c:620:9: sparse: got unsigned int [noderef] __percpu *
>> fs/eventpoll.c:620:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:620:9: sparse: expected void *ptr
fs/eventpoll.c:620:9: sparse: got unsigned int [noderef] __percpu *
>> fs/eventpoll.c:620:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:620:9: sparse: expected void *ptr
fs/eventpoll.c:620:9: sparse: got unsigned int [noderef] __percpu *
>> fs/eventpoll.c:620:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:620:9: sparse: expected void *ptr
fs/eventpoll.c:620:9: sparse: got int [noderef] __percpu *
>> fs/eventpoll.c:620:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:620:9: sparse: expected void *ptr
fs/eventpoll.c:620:9: sparse: got int [noderef] __percpu *
>> fs/eventpoll.c:620:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:620:9: sparse: expected void *ptr
fs/eventpoll.c:620:9: sparse: got int [noderef] __percpu *
>> fs/eventpoll.c:620:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:620:9: sparse: expected void *ptr
fs/eventpoll.c:620:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:692:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:692:9: sparse: expected void *ptr
fs/eventpoll.c:692:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:692:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:692:9: sparse: expected void *ptr
fs/eventpoll.c:692:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:692:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:692:9: sparse: expected void *ptr
fs/eventpoll.c:692:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:692:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:692:9: sparse: expected void *ptr
fs/eventpoll.c:692:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:692:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:692:9: sparse: expected void *ptr
fs/eventpoll.c:692:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:692:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:692:9: sparse: expected void *ptr
fs/eventpoll.c:692:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:692:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:692:9: sparse: expected void *ptr
fs/eventpoll.c:692:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:692:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:692:9: sparse: expected void *ptr
fs/eventpoll.c:692:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1456:9: sparse: expected void *ptr
fs/eventpoll.c:1456:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1456:9: sparse: expected void *ptr
fs/eventpoll.c:1456:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1456:9: sparse: expected void *ptr
fs/eventpoll.c:1456:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1456:9: sparse: expected void *ptr
fs/eventpoll.c:1456:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1456:9: sparse: expected void *ptr
fs/eventpoll.c:1456:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1456:9: sparse: expected void *ptr
fs/eventpoll.c:1456:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1456:9: sparse: expected void *ptr
fs/eventpoll.c:1456:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1456:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1456:9: sparse: expected void *ptr
fs/eventpoll.c:1456:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1571:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1571:9: sparse: expected void *ptr
fs/eventpoll.c:1571:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1571:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1571:9: sparse: expected void *ptr
fs/eventpoll.c:1571:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1571:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1571:9: sparse: expected void *ptr
fs/eventpoll.c:1571:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1571:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1571:9: sparse: expected void *ptr
fs/eventpoll.c:1571:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1571:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1571:9: sparse: expected void *ptr
fs/eventpoll.c:1571:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1571:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1571:9: sparse: expected void *ptr
fs/eventpoll.c:1571:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1571:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1571:9: sparse: expected void *ptr
fs/eventpoll.c:1571:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1571:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1571:9: sparse: expected void *ptr
fs/eventpoll.c:1571:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1775:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1775:9: sparse: expected void *ptr
fs/eventpoll.c:1775:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1775:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1775:9: sparse: expected void *ptr
fs/eventpoll.c:1775:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1775:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1775:9: sparse: expected void *ptr
fs/eventpoll.c:1775:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1775:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
fs/eventpoll.c:1775:9: sparse: expected void *ptr
fs/eventpoll.c:1775:9: sparse: got unsigned int [noderef] __percpu *
fs/eventpoll.c:1775:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1775:9: sparse: expected void *ptr
fs/eventpoll.c:1775:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1775:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1775:9: sparse: expected void *ptr
fs/eventpoll.c:1775:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1775:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1775:9: sparse: expected void *ptr
fs/eventpoll.c:1775:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c:1775:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
fs/eventpoll.c:1775:9: sparse: expected void *ptr
fs/eventpoll.c:1775:9: sparse: got int [noderef] __percpu *
fs/eventpoll.c: note: in included file (through include/linux/uaccess.h, include/linux/sched/task.h, include/linux/sched/signal.h):
arch/loongarch/include/asm/uaccess.h:232:32: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
--
kernel/rcu/update.c: note: in included file:
>> kernel/rcu/tasks.h:256:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:256:17: sparse: expected void *ptr
kernel/rcu/tasks.h:256:17: sparse: got unsigned int [noderef] __percpu *
>> kernel/rcu/tasks.h:256:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:256:17: sparse: expected void *ptr
kernel/rcu/tasks.h:256:17: sparse: got unsigned int [noderef] __percpu *
>> kernel/rcu/tasks.h:256:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:256:17: sparse: expected void *ptr
kernel/rcu/tasks.h:256:17: sparse: got unsigned int [noderef] __percpu *
>> kernel/rcu/tasks.h:256:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:256:17: sparse: expected void *ptr
kernel/rcu/tasks.h:256:17: sparse: got unsigned int [noderef] __percpu *
>> kernel/rcu/tasks.h:256:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:256:17: sparse: expected void *ptr
kernel/rcu/tasks.h:256:17: sparse: got int [noderef] __percpu *
>> kernel/rcu/tasks.h:256:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:256:17: sparse: expected void *ptr
kernel/rcu/tasks.h:256:17: sparse: got int [noderef] __percpu *
>> kernel/rcu/tasks.h:256:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:256:17: sparse: expected void *ptr
kernel/rcu/tasks.h:256:17: sparse: got int [noderef] __percpu *
>> kernel/rcu/tasks.h:256:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:256:17: sparse: expected void *ptr
kernel/rcu/tasks.h:256:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:303:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:303:17: sparse: expected void *ptr
kernel/rcu/tasks.h:303:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:303:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:303:17: sparse: expected void *ptr
kernel/rcu/tasks.h:303:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:303:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:303:17: sparse: expected void *ptr
kernel/rcu/tasks.h:303:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:303:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:303:17: sparse: expected void *ptr
kernel/rcu/tasks.h:303:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:303:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:303:17: sparse: expected void *ptr
kernel/rcu/tasks.h:303:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:303:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:303:17: sparse: expected void *ptr
kernel/rcu/tasks.h:303:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:303:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:303:17: sparse: expected void *ptr
kernel/rcu/tasks.h:303:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:303:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:303:17: sparse: expected void *ptr
kernel/rcu/tasks.h:303:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:309:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:309:9: sparse: expected void *ptr
kernel/rcu/tasks.h:309:9: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:309:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:309:9: sparse: expected void *ptr
kernel/rcu/tasks.h:309:9: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:309:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:309:9: sparse: expected void *ptr
kernel/rcu/tasks.h:309:9: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:309:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:309:9: sparse: expected void *ptr
kernel/rcu/tasks.h:309:9: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:309:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:309:9: sparse: expected void *ptr
kernel/rcu/tasks.h:309:9: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:309:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:309:9: sparse: expected void *ptr
kernel/rcu/tasks.h:309:9: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:309:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:309:9: sparse: expected void *ptr
kernel/rcu/tasks.h:309:9: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:309:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:309:9: sparse: expected void *ptr
kernel/rcu/tasks.h:309:9: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:375:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:375:17: sparse: expected void *ptr
kernel/rcu/tasks.h:375:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:375:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:375:17: sparse: expected void *ptr
kernel/rcu/tasks.h:375:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:375:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:375:17: sparse: expected void *ptr
kernel/rcu/tasks.h:375:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:375:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:375:17: sparse: expected void *ptr
kernel/rcu/tasks.h:375:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:375:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:375:17: sparse: expected void *ptr
kernel/rcu/tasks.h:375:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:375:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:375:17: sparse: expected void *ptr
kernel/rcu/tasks.h:375:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:375:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:375:17: sparse: expected void *ptr
kernel/rcu/tasks.h:375:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:375:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:375:17: sparse: expected void *ptr
kernel/rcu/tasks.h:375:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:415:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:415:17: sparse: expected void *ptr
kernel/rcu/tasks.h:415:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:415:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:415:17: sparse: expected void *ptr
kernel/rcu/tasks.h:415:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:415:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:415:17: sparse: expected void *ptr
kernel/rcu/tasks.h:415:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:415:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:415:17: sparse: expected void *ptr
kernel/rcu/tasks.h:415:17: sparse: got unsigned int [noderef] __percpu *
kernel/rcu/tasks.h:415:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:415:17: sparse: expected void *ptr
kernel/rcu/tasks.h:415:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:415:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:415:17: sparse: expected void *ptr
kernel/rcu/tasks.h:415:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:415:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:415:17: sparse: expected void *ptr
kernel/rcu/tasks.h:415:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:415:17: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/rcu/tasks.h:415:17: sparse: expected void *ptr
kernel/rcu/tasks.h:415:17: sparse: got int [noderef] __percpu *
kernel/rcu/tasks.h:476:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/rcu/tasks.h:476:9: sparse: expected void *ptr
--
>> kernel/entry/common.c:195:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:195:9: sparse: expected void *ptr
kernel/entry/common.c:195:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/entry/common.c:195:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:195:9: sparse: expected void *ptr
kernel/entry/common.c:195:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/entry/common.c:195:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:195:9: sparse: expected void *ptr
kernel/entry/common.c:195:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/entry/common.c:195:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:195:9: sparse: expected void *ptr
kernel/entry/common.c:195:9: sparse: got unsigned int [noderef] __percpu *
kernel/entry/common.c:195:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:195:9: sparse: expected void *ptr
kernel/entry/common.c:195:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:195:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:195:9: sparse: expected void *ptr
kernel/entry/common.c:195:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:195:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:195:9: sparse: expected void *ptr
kernel/entry/common.c:195:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:195:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:195:9: sparse: expected void *ptr
kernel/entry/common.c:195:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:208:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:208:9: sparse: expected void *ptr
kernel/entry/common.c:208:9: sparse: got unsigned int [noderef] __percpu *
kernel/entry/common.c:208:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:208:9: sparse: expected void *ptr
kernel/entry/common.c:208:9: sparse: got unsigned int [noderef] __percpu *
kernel/entry/common.c:208:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:208:9: sparse: expected void *ptr
kernel/entry/common.c:208:9: sparse: got unsigned int [noderef] __percpu *
kernel/entry/common.c:208:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:208:9: sparse: expected void *ptr
kernel/entry/common.c:208:9: sparse: got unsigned int [noderef] __percpu *
kernel/entry/common.c:208:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:208:9: sparse: expected void *ptr
kernel/entry/common.c:208:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:208:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:208:9: sparse: expected void *ptr
kernel/entry/common.c:208:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:208:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:208:9: sparse: expected void *ptr
kernel/entry/common.c:208:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:208:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:208:9: sparse: expected void *ptr
kernel/entry/common.c:208:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:404:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:404:9: sparse: expected void *ptr
kernel/entry/common.c:404:9: sparse: got unsigned int [noderef] __percpu *
kernel/entry/common.c:404:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:404:9: sparse: expected void *ptr
kernel/entry/common.c:404:9: sparse: got unsigned int [noderef] __percpu *
kernel/entry/common.c:404:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:404:9: sparse: expected void *ptr
kernel/entry/common.c:404:9: sparse: got unsigned int [noderef] __percpu *
kernel/entry/common.c:404:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/entry/common.c:404:9: sparse: expected void *ptr
kernel/entry/common.c:404:9: sparse: got unsigned int [noderef] __percpu *
kernel/entry/common.c:404:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:404:9: sparse: expected void *ptr
kernel/entry/common.c:404:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:404:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:404:9: sparse: expected void *ptr
kernel/entry/common.c:404:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:404:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:404:9: sparse: expected void *ptr
kernel/entry/common.c:404:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:404:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:404:9: sparse: expected void *ptr
kernel/entry/common.c:404:9: sparse: got int [noderef] __percpu *
kernel/entry/common.c:447:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:447:29: sparse: expected void *ptr
kernel/entry/common.c:447:29: sparse: got int [noderef] __percpu *
kernel/entry/common.c:447:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:447:29: sparse: expected void *ptr
kernel/entry/common.c:447:29: sparse: got int [noderef] __percpu *
kernel/entry/common.c:447:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:447:29: sparse: expected void *ptr
kernel/entry/common.c:447:29: sparse: got int [noderef] __percpu *
kernel/entry/common.c:447:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/entry/common.c:447:29: sparse: expected void *ptr
kernel/entry/common.c:447:29: sparse: got int [noderef] __percpu *
--
>> kernel/time/hrtimer.c:1006:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/hrtimer.c:1006:9: sparse: expected void *ptr
kernel/time/hrtimer.c:1006:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/hrtimer.c:1006:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/hrtimer.c:1006:9: sparse: expected void *ptr
kernel/time/hrtimer.c:1006:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/hrtimer.c:1006:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/hrtimer.c:1006:9: sparse: expected void *ptr
kernel/time/hrtimer.c:1006:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/hrtimer.c:1006:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/hrtimer.c:1006:9: sparse: expected void *ptr
kernel/time/hrtimer.c:1006:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/hrtimer.c:1006:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/hrtimer.c:1006:9: sparse: expected void *ptr
kernel/time/hrtimer.c:1006:9: sparse: got int [noderef] __percpu *
>> kernel/time/hrtimer.c:1006:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/hrtimer.c:1006:9: sparse: expected void *ptr
kernel/time/hrtimer.c:1006:9: sparse: got int [noderef] __percpu *
>> kernel/time/hrtimer.c:1006:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/hrtimer.c:1006:9: sparse: expected void *ptr
kernel/time/hrtimer.c:1006:9: sparse: got int [noderef] __percpu *
>> kernel/time/hrtimer.c:1006:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/hrtimer.c:1006:9: sparse: expected void *ptr
kernel/time/hrtimer.c:1006:9: sparse: got int [noderef] __percpu *
--
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/posix-cpu-timers.c:1380:9: sparse: expected void *ptr
kernel/time/posix-cpu-timers.c:1380:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/posix-cpu-timers.c:1380:9: sparse: expected void *ptr
kernel/time/posix-cpu-timers.c:1380:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/posix-cpu-timers.c:1380:9: sparse: expected void *ptr
kernel/time/posix-cpu-timers.c:1380:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/time/posix-cpu-timers.c:1380:9: sparse: expected void *ptr
kernel/time/posix-cpu-timers.c:1380:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/posix-cpu-timers.c:1380:9: sparse: expected void *ptr
kernel/time/posix-cpu-timers.c:1380:9: sparse: got int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/posix-cpu-timers.c:1380:9: sparse: expected void *ptr
kernel/time/posix-cpu-timers.c:1380:9: sparse: got int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/posix-cpu-timers.c:1380:9: sparse: expected void *ptr
kernel/time/posix-cpu-timers.c:1380:9: sparse: got int [noderef] __percpu *
>> kernel/time/posix-cpu-timers.c:1380:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/time/posix-cpu-timers.c:1380:9: sparse: expected void *ptr
kernel/time/posix-cpu-timers.c:1380:9: sparse: got int [noderef] __percpu *
kernel/time/posix-cpu-timers.c: note: in included file:
include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
include/linux/sched/signal.h:752:37: sparse: expected struct spinlock [usertype] *lock
include/linux/sched/signal.h:752:37: sparse: got struct spinlock [noderef] __rcu *
kernel/time/posix-cpu-timers.c:42:5: sparse: sparse: context imbalance in 'update_rlimit_cpu' - different lock contexts for basic block
include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
include/linux/sched/signal.h:752:37: sparse: expected struct spinlock [usertype] *lock
include/linux/sched/signal.h:752:37: sparse: got struct spinlock [noderef] __rcu *
include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
include/linux/sched/signal.h:752:37: sparse: expected struct spinlock [usertype] *lock
include/linux/sched/signal.h:752:37: sparse: got struct spinlock [noderef] __rcu *
include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
include/linux/sched/signal.h:752:37: sparse: expected struct spinlock [usertype] *lock
include/linux/sched/signal.h:752:37: sparse: got struct spinlock [noderef] __rcu *
include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
include/linux/sched/signal.h:752:37: sparse: expected struct spinlock [usertype] *lock
include/linux/sched/signal.h:752:37: sparse: got struct spinlock [noderef] __rcu *
include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
include/linux/sched/signal.h:752:37: sparse: expected struct spinlock [usertype] *lock
include/linux/sched/signal.h:752:37: sparse: got struct spinlock [noderef] __rcu *
include/linux/sched/signal.h:752:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
include/linux/sched/signal.h:752:37: sparse: expected struct spinlock [usertype] *lock
include/linux/sched/signal.h:752:37: sparse: got struct spinlock [noderef] __rcu *
--
lib/flex_proportions.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/percpu_counter.h, ...):
>> include/linux/seqlock.h:269:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
include/linux/seqlock.h:269:9: sparse: expected void *ptr
include/linux/seqlock.h:269:9: sparse: got unsigned int [noderef] __percpu *
>> include/linux/seqlock.h:269:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
include/linux/seqlock.h:269:9: sparse: expected void *ptr
include/linux/seqlock.h:269:9: sparse: got unsigned int [noderef] __percpu *
>> include/linux/seqlock.h:269:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
include/linux/seqlock.h:269:9: sparse: expected void *ptr
include/linux/seqlock.h:269:9: sparse: got unsigned int [noderef] __percpu *
>> include/linux/seqlock.h:269:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
include/linux/seqlock.h:269:9: sparse: expected void *ptr
include/linux/seqlock.h:269:9: sparse: got unsigned int [noderef] __percpu *
>> include/linux/seqlock.h:269:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
include/linux/seqlock.h:269:9: sparse: expected void *ptr
include/linux/seqlock.h:269:9: sparse: got int [noderef] __percpu *
>> include/linux/seqlock.h:269:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
include/linux/seqlock.h:269:9: sparse: expected void *ptr
include/linux/seqlock.h:269:9: sparse: got int [noderef] __percpu *
>> include/linux/seqlock.h:269:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
include/linux/seqlock.h:269:9: sparse: expected void *ptr
include/linux/seqlock.h:269:9: sparse: got int [noderef] __percpu *
>> include/linux/seqlock.h:269:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
include/linux/seqlock.h:269:9: sparse: expected void *ptr
include/linux/seqlock.h:269:9: sparse: got int [noderef] __percpu *

vim +278 kernel/irq_work.c

76a33061b9323b Frederic Weisbecker 2014-08-16 271
e360adbe29241a Peter Zijlstra 2010-10-14 272 /*
e360adbe29241a Peter Zijlstra 2010-10-14 273 * Synchronize against the irq_work @entry, ensures the entry is not
e360adbe29241a Peter Zijlstra 2010-10-14 274 * currently in use.
e360adbe29241a Peter Zijlstra 2010-10-14 275 */
38aaf8090d34b6 Huang Ying 2011-09-08 276 void irq_work_sync(struct irq_work *work)
e360adbe29241a Peter Zijlstra 2010-10-14 277 {
3c7169a3bf8216 Frederic Weisbecker 2017-11-06 @278 lockdep_assert_irqs_enabled();
810979682ccc98 Sebastian Andrzej Siewior 2021-10-06 279 might_sleep();
810979682ccc98 Sebastian Andrzej Siewior 2021-10-06 280
09089db79859cb Sebastian Andrzej Siewior 2021-10-06 281 if ((IS_ENABLED(CONFIG_PREEMPT_RT) && !irq_work_is_hard(work)) ||
09089db79859cb Sebastian Andrzej Siewior 2021-10-06 282 !arch_irq_work_has_interrupt()) {
810979682ccc98 Sebastian Andrzej Siewior 2021-10-06 283 rcuwait_wait_event(&work->irqwait, !irq_work_is_busy(work),
810979682ccc98 Sebastian Andrzej Siewior 2021-10-06 284 TASK_UNINTERRUPTIBLE);
810979682ccc98 Sebastian Andrzej Siewior 2021-10-06 285 return;
810979682ccc98 Sebastian Andrzej Siewior 2021-10-06 286 }
e360adbe29241a Peter Zijlstra 2010-10-14 287
7a9f50a05843fe Peter Zijlstra 2020-06-15 288 while (irq_work_is_busy(work))
e360adbe29241a Peter Zijlstra 2010-10-14 289 cpu_relax();
e360adbe29241a Peter Zijlstra 2010-10-14 290 }
e360adbe29241a Peter Zijlstra 2010-10-14 291 EXPORT_SYMBOL_GPL(irq_work_sync);
b4c6f86ec2f648 Sebastian Andrzej Siewior 2021-10-07 292

--
0-DAY CI Kernel Test Service
https://01.org/lkp

2022-08-10 13:36:17

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH 3/3] LoongArch: Add stacktrace support

Hi Qing,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.19]
[cannot apply to next-20220810]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Qing-Zhang/LoongArch-Add-guess-unwinder-support/20220728-220739
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 6e7765cb477a9753670d4351d14de93f1e9dbbd4
config: loongarch-randconfig-s042-20220810 (https://download.01.org/0day-ci/archive/20220810/[email protected]/config)
compiler: loongarch64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://github.com/intel-lab-lkp/linux/commit/32ef6acf6f5ecfadda21be77cbebb07b1c69e56a
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Qing-Zhang/LoongArch-Add-guess-unwinder-support/20220728-220739
git checkout 32ef6acf6f5ecfadda21be77cbebb07b1c69e56a
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=loongarch SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>

sparse warnings: (new ones prefixed by >>)
>> kernel/events/core.c:223:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:223:9: sparse: expected void *ptr
kernel/events/core.c:223:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/events/core.c:223:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:223:9: sparse: expected void *ptr
kernel/events/core.c:223:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/events/core.c:223:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:223:9: sparse: expected void *ptr
kernel/events/core.c:223:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/events/core.c:223:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:223:9: sparse: expected void *ptr
kernel/events/core.c:223:9: sparse: got unsigned int [noderef] __percpu *
>> kernel/events/core.c:223:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:223:9: sparse: expected void *ptr
kernel/events/core.c:223:9: sparse: got int [noderef] __percpu *
>> kernel/events/core.c:223:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:223:9: sparse: expected void *ptr
kernel/events/core.c:223:9: sparse: got int [noderef] __percpu *
>> kernel/events/core.c:223:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:223:9: sparse: expected void *ptr
kernel/events/core.c:223:9: sparse: got int [noderef] __percpu *
>> kernel/events/core.c:223:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:223:9: sparse: expected void *ptr
kernel/events/core.c:223:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:320:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:320:9: sparse: expected void *ptr
kernel/events/core.c:320:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:320:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:320:9: sparse: expected void *ptr
kernel/events/core.c:320:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:320:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:320:9: sparse: expected void *ptr
kernel/events/core.c:320:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:320:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:320:9: sparse: expected void *ptr
kernel/events/core.c:320:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:320:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:320:9: sparse: expected void *ptr
kernel/events/core.c:320:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:320:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:320:9: sparse: expected void *ptr
kernel/events/core.c:320:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:320:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:320:9: sparse: expected void *ptr
kernel/events/core.c:320:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:320:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:320:9: sparse: expected void *ptr
kernel/events/core.c:320:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1074:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1074:9: sparse: expected void *ptr
kernel/events/core.c:1074:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1074:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1074:9: sparse: expected void *ptr
kernel/events/core.c:1074:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1074:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1074:9: sparse: expected void *ptr
kernel/events/core.c:1074:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1074:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1074:9: sparse: expected void *ptr
kernel/events/core.c:1074:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1074:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1074:9: sparse: expected void *ptr
kernel/events/core.c:1074:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1074:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1074:9: sparse: expected void *ptr
kernel/events/core.c:1074:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1074:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1074:9: sparse: expected void *ptr
kernel/events/core.c:1074:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1074:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1074:9: sparse: expected void *ptr
kernel/events/core.c:1074:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1161:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1161:9: sparse: expected void *ptr
kernel/events/core.c:1161:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1161:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1161:9: sparse: expected void *ptr
kernel/events/core.c:1161:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1161:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1161:9: sparse: expected void *ptr
kernel/events/core.c:1161:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1161:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1161:9: sparse: expected void *ptr
kernel/events/core.c:1161:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1161:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1161:9: sparse: expected void *ptr
kernel/events/core.c:1161:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1161:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1161:9: sparse: expected void *ptr
kernel/events/core.c:1161:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1161:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1161:9: sparse: expected void *ptr
kernel/events/core.c:1161:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1161:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1161:9: sparse: expected void *ptr
kernel/events/core.c:1161:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1170:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1170:9: sparse: expected void *ptr
kernel/events/core.c:1170:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1170:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1170:9: sparse: expected void *ptr
kernel/events/core.c:1170:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1170:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1170:9: sparse: expected void *ptr
kernel/events/core.c:1170:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1170:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
kernel/events/core.c:1170:9: sparse: expected void *ptr
kernel/events/core.c:1170:9: sparse: got unsigned int [noderef] __percpu *
kernel/events/core.c:1170:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1170:9: sparse: expected void *ptr
kernel/events/core.c:1170:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1170:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1170:9: sparse: expected void *ptr
kernel/events/core.c:1170:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1170:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1170:9: sparse: expected void *ptr
kernel/events/core.c:1170:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1170:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got int [noderef] __percpu * @@
kernel/events/core.c:1170:9: sparse: expected void *ptr
kernel/events/core.c:1170:9: sparse: got int [noderef] __percpu *
kernel/events/core.c:1402:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/core.c:1402:15: sparse: struct perf_event_context [noderef] __rcu *
--
>> crypto/crypto_engine.c:56:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
crypto/crypto_engine.c:56:9: sparse: expected void *ptr
crypto/crypto_engine.c:56:9: sparse: got unsigned int [noderef] __percpu *
>> crypto/crypto_engine.c:56:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
crypto/crypto_engine.c:56:9: sparse: expected void *ptr
crypto/crypto_engine.c:56:9: sparse: got unsigned int [noderef] __percpu *
>> crypto/crypto_engine.c:56:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
crypto/crypto_engine.c:56:9: sparse: expected void *ptr
crypto/crypto_engine.c:56:9: sparse: got unsigned int [noderef] __percpu *
>> crypto/crypto_engine.c:56:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *ptr @@ got unsigned int [noderef] __percpu * @@
crypto/crypto_engine.c:56:9: sparse: expected void *ptr
crypto/crypto_engine.c:56:9: sparse: got unsigned int [noderef] __percpu *

vim +223 kernel/events/core.c

fae3fde65138b60 Peter Zijlstra 2016-01-11 213
fae3fde65138b60 Peter Zijlstra 2016-01-11 214 static int event_function(void *info)
fae3fde65138b60 Peter Zijlstra 2016-01-11 215 {
fae3fde65138b60 Peter Zijlstra 2016-01-11 216 struct event_function_struct *efs = info;
fae3fde65138b60 Peter Zijlstra 2016-01-11 217 struct perf_event *event = efs->event;
fae3fde65138b60 Peter Zijlstra 2016-01-11 218 struct perf_event_context *ctx = event->ctx;
fae3fde65138b60 Peter Zijlstra 2016-01-11 219 struct perf_cpu_context *cpuctx = __get_cpu_context(ctx);
fae3fde65138b60 Peter Zijlstra 2016-01-11 220 struct perf_event_context *task_ctx = cpuctx->task_ctx;
63b6da39bb38e8f Peter Zijlstra 2016-01-14 221 int ret = 0;
fae3fde65138b60 Peter Zijlstra 2016-01-11 222
164446455a5d3f1 Frederic Weisbecker 2017-11-06 @223 lockdep_assert_irqs_disabled();
fae3fde65138b60 Peter Zijlstra 2016-01-11 224
63b6da39bb38e8f Peter Zijlstra 2016-01-14 225 perf_ctx_lock(cpuctx, task_ctx);
fae3fde65138b60 Peter Zijlstra 2016-01-11 226 /*
fae3fde65138b60 Peter Zijlstra 2016-01-11 227 * Since we do the IPI call without holding ctx->lock things can have
fae3fde65138b60 Peter Zijlstra 2016-01-11 228 * changed, double check we hit the task we set out to hit.
fae3fde65138b60 Peter Zijlstra 2016-01-11 229 */
fae3fde65138b60 Peter Zijlstra 2016-01-11 230 if (ctx->task) {
63b6da39bb38e8f Peter Zijlstra 2016-01-14 231 if (ctx->task != current) {
0da4cf3e0a68c97 Peter Zijlstra 2016-02-24 232 ret = -ESRCH;
63b6da39bb38e8f Peter Zijlstra 2016-01-14 233 goto unlock;
fae3fde65138b60 Peter Zijlstra 2016-01-11 234 }
fae3fde65138b60 Peter Zijlstra 2016-01-11 235
fae3fde65138b60 Peter Zijlstra 2016-01-11 236 /*
fae3fde65138b60 Peter Zijlstra 2016-01-11 237 * We only use event_function_call() on established contexts,
fae3fde65138b60 Peter Zijlstra 2016-01-11 238 * and event_function() is only ever called when active (or
fae3fde65138b60 Peter Zijlstra 2016-01-11 239 * rather, we'll have bailed in task_function_call() or the
fae3fde65138b60 Peter Zijlstra 2016-01-11 240 * above ctx->task != current test), therefore we must have
fae3fde65138b60 Peter Zijlstra 2016-01-11 241 * ctx->is_active here.
fae3fde65138b60 Peter Zijlstra 2016-01-11 242 */
fae3fde65138b60 Peter Zijlstra 2016-01-11 243 WARN_ON_ONCE(!ctx->is_active);
fae3fde65138b60 Peter Zijlstra 2016-01-11 244 /*
fae3fde65138b60 Peter Zijlstra 2016-01-11 245 * And since we have ctx->is_active, cpuctx->task_ctx must
fae3fde65138b60 Peter Zijlstra 2016-01-11 246 * match.
fae3fde65138b60 Peter Zijlstra 2016-01-11 247 */
63b6da39bb38e8f Peter Zijlstra 2016-01-14 248 WARN_ON_ONCE(task_ctx != ctx);
63b6da39bb38e8f Peter Zijlstra 2016-01-14 249 } else {
63b6da39bb38e8f Peter Zijlstra 2016-01-14 250 WARN_ON_ONCE(&cpuctx->ctx != ctx);
fae3fde65138b60 Peter Zijlstra 2016-01-11 251 }
63b6da39bb38e8f Peter Zijlstra 2016-01-14 252
fae3fde65138b60 Peter Zijlstra 2016-01-11 253 efs->func(event, cpuctx, ctx, efs->data);
63b6da39bb38e8f Peter Zijlstra 2016-01-14 254 unlock:
fae3fde65138b60 Peter Zijlstra 2016-01-11 255 perf_ctx_unlock(cpuctx, task_ctx);
fae3fde65138b60 Peter Zijlstra 2016-01-11 256
63b6da39bb38e8f Peter Zijlstra 2016-01-14 257 return ret;
fae3fde65138b60 Peter Zijlstra 2016-01-11 258 }
fae3fde65138b60 Peter Zijlstra 2016-01-11 259

--
0-DAY CI Kernel Test Service
https://01.org/lkp