lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sun, 1 Nov 2020 23:38:44 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Miguel Ojeda <miguel.ojeda.sandonis@...il.com>
Subject: arch/sh/kernel/process_32.c:42:9: sparse: sparse: incorrect type in
 argument 1 (different base types)

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@...el.com>


"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@...der.be>
:::::: CC: Rich Felker <dalias@...c.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (22020 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ