arch/sh/kernel/process_32.c:42:9: sparse: sparse: incorrect type in argument 1 (different base types)
From: kernel test robot
Date: Sun Nov 01 2020 - 10:39:04 EST
Hi Luc,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: c2dc4c073fb71b50904493657a7622b481b346e3
commit: e5fc436f06eef54ef512ea55a9db8eb9f2e76959 sparse: use static inline for __chk_{user,io}_ptr()
date: 9 weeks ago
config: sh-randconfig-s032-20201030 (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.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.3-68-g49c98aa3-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e5fc436f06eef54ef512ea55a9db8eb9f2e76959
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e5fc436f06eef54ef512ea55a9db8eb9f2e76959
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
"sparse warnings: (new ones prefixed by >>)"
>> arch/sh/kernel/process_32.c:42:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/kernel/process_32.c:42:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/process_32.c:42:9: sparse: got unsigned int
--
arch/sh/mm/fault.c: note: in included file (through arch/sh/include/asm/mmu_context.h):
>> arch/sh/include/asm/mmu_context_32.h:58:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/include/asm/mmu_context_32.h:58:25: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/include/asm/mmu_context_32.h:58:25: sparse: got unsigned int
>> arch/sh/include/asm/mmu_context_32.h:58:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/include/asm/mmu_context_32.h:58:25: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/include/asm/mmu_context_32.h:58:25: sparse: got unsigned int
--
>> arch/sh/mm/tlbflush_32.c:134:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/mm/tlbflush_32.c:134:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlbflush_32.c:134:9: sparse: got unsigned int
>> arch/sh/mm/tlbflush_32.c:134:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/mm/tlbflush_32.c:134:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlbflush_32.c:134:9: sparse: got unsigned int
--
>> arch/sh/mm/tlb-sh3.c:41:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/mm/tlb-sh3.c:41:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:41:9: sparse: got unsigned int
arch/sh/mm/tlb-sh3.c:48:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/mm/tlb-sh3.c:48:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:48:9: sparse: got unsigned int
>> arch/sh/mm/tlb-sh3.c:75:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned long @@
arch/sh/mm/tlb-sh3.c:75:17: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:75:17: sparse: got unsigned long
arch/sh/mm/tlb-sh3.c:90:18: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/mm/tlb-sh3.c:90:18: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:90:18: sparse: got unsigned int
arch/sh/mm/tlb-sh3.c:92:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/mm/tlb-sh3.c:92:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/mm/tlb-sh3.c:92:9: sparse: got unsigned int
--
>> arch/sh/kernel/cpu/sh3/serial-sh770x.c:15:16: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
>> arch/sh/kernel/cpu/sh3/serial-sh770x.c:15:16: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh3/serial-sh770x.c:15:16: sparse: got unsigned int
arch/sh/kernel/cpu/sh3/serial-sh770x.c:17:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh3/serial-sh770x.c:17:9: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh3/serial-sh770x.c:17:9: sparse: got unsigned int
arch/sh/kernel/cpu/sh3/serial-sh770x.c:21:24: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh3/serial-sh770x.c:21:24: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh3/serial-sh770x.c:21:24: sparse: got unsigned int
arch/sh/kernel/cpu/sh3/serial-sh770x.c:24:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh3/serial-sh770x.c:24:17: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh3/serial-sh770x.c:24:17: sparse: got unsigned int
arch/sh/kernel/cpu/sh3/serial-sh770x.c:26:24: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh3/serial-sh770x.c:26:24: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh3/serial-sh770x.c:26:24: sparse: got unsigned int
arch/sh/kernel/cpu/sh3/serial-sh770x.c:28:17: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected void const volatile [noderef] __iomem *ptr @@ got unsigned int @@
arch/sh/kernel/cpu/sh3/serial-sh770x.c:28:17: sparse: expected void const volatile [noderef] __iomem *ptr
arch/sh/kernel/cpu/sh3/serial-sh770x.c:28:17: sparse: got unsigned int
--
drivers/gpu/drm/drm_crtc.c:708:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] [usertype] __user * @@
drivers/gpu/drm/drm_crtc.c:708:29: sparse: expected unsigned int const *__gu_addr
drivers/gpu/drm/drm_crtc.c:708:29: sparse: got unsigned int [noderef] [usertype] __user *
>> drivers/gpu/drm/drm_crtc.c:708:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned int const *__gu_addr @@
>> drivers/gpu/drm/drm_crtc.c:708:29: sparse: expected void const volatile [noderef] __user *ptr
drivers/gpu/drm/drm_crtc.c:708:29: sparse: got unsigned int const *__gu_addr
vim +42 arch/sh/kernel/process_32.c
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 30
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 31 void show_regs(struct pt_regs * regs)
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 32 {
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 33 pr_info("\n");
a43cb95d547a06 arch/sh/kernel/process_32.c Tejun Heo 2013-04-30 34 show_regs_print_info(KERN_DEFAULT);
7d96169cb769f4 arch/sh/kernel/process_32.c Paul Mundt 2008-08-08 35
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 36 pr_info("PC is at %pS\n", (void *)instruction_pointer(regs));
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 37 pr_info("PR is at %pS\n", (void *)regs->pr);
7d96169cb769f4 arch/sh/kernel/process_32.c Paul Mundt 2008-08-08 38
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 39 pr_info("PC : %08lx SP : %08lx SR : %08lx ", regs->pc,
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 40 regs->regs[15], regs->sr);
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 41 #ifdef CONFIG_MMU
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 @42 pr_cont("TEA : %08x\n", __raw_readl(MMU_TEA));
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 43 #else
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 44 pr_cont("\n");
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 45 #endif
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 46
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 47 pr_info("R0 : %08lx R1 : %08lx R2 : %08lx R3 : %08lx\n",
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 48 regs->regs[0], regs->regs[1], regs->regs[2], regs->regs[3]);
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 49 pr_info("R4 : %08lx R5 : %08lx R6 : %08lx R7 : %08lx\n",
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 50 regs->regs[4], regs->regs[5], regs->regs[6], regs->regs[7]);
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 51 pr_info("R8 : %08lx R9 : %08lx R10 : %08lx R11 : %08lx\n",
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 52 regs->regs[8], regs->regs[9], regs->regs[10], regs->regs[11]);
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 53 pr_info("R12 : %08lx R13 : %08lx R14 : %08lx\n",
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 54 regs->regs[12], regs->regs[13], regs->regs[14]);
21afcacb0348ed arch/sh/kernel/process_32.c Geert Uytterhoeven 2020-06-17 55 pr_info("MACH: %08lx MACL: %08lx GBR : %08lx PR : %08lx\n",
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 56 regs->mach, regs->macl, regs->gbr, regs->pr);
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 57
539e786cc37ee5 arch/sh/kernel/process_32.c Dmitry Safonov 2020-06-08 58 show_trace(NULL, (unsigned long *)regs->regs[15], regs, KERN_DEFAULT);
9cfc9a9b6fff9e arch/sh/kernel/process_32.c Paul Mundt 2008-11-26 59 show_code(regs);
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 60 }
^1da177e4c3f41 arch/sh/kernel/process.c Linus Torvalds 2005-04-16 61
:::::: The code at line 42 was first introduced by commit
:::::: 21afcacb0348edf8f5d4e6115b5eb0b58f9a049b sh: process: Fix broken lines in register dumps
:::::: TO: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
:::::: CC: Rich Felker <dalias@xxxxxxxx>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip