All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 7520/15793] arch/arm64/kernel/hibernate.c:192:22: sparse: sparse: cast to non-scalar
@ 2020-06-07 10:24 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-06-07 10:24 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 9996 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   af30725c132e2e5c5369b60369ff0771fde7d4ff
commit: 7b364f0949ae2dd205d5e9afa4b82ee17030d928 [7520/15793] READ_ONCE: Drop pointer qualifiers when reading from scalar types
config: arm64-randconfig-s032-20200607 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-247-gcadbd124-dirty
        git checkout 7b364f0949ae2dd205d5e9afa4b82ee17030d928
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=arm64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

>> arch/arm64/kernel/hibernate.c:192:22: sparse: sparse: cast to non-scalar
>> arch/arm64/kernel/hibernate.c:192:22: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:200:13: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:200:13: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:207:16: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:207:16: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:208:13: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:208:13: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:215:16: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:215:16: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:341:21: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:341:21: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:377:20: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:377:20: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:379:20: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:379:20: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:395:13: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:395:13: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:401:20: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:401:20: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:403:20: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:403:20: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:405:29: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:405:29: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:430:22: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:430:22: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:440:29: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:440:29: sparse: sparse: cast from non-scalar
   arch/arm64/kernel/hibernate.c:467:30: sparse: sparse: cast to non-scalar
   arch/arm64/kernel/hibernate.c:467:30: sparse: sparse: cast from non-scalar
--
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:180:28: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:180:28: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:247:27: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:247:27: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:369:15: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:369:15: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:462:43: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:462:43: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:471:28: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:471:28: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:482:27: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:482:27: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:499:27: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:499:27: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:618:23: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:618:23: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:635:23: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:635:23: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1193:16: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1193:16: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1282:15: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1282:15: sparse: sparse: cast from non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1426:15: sparse: sparse: cast to non-scalar
   arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1426:15: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
   arch/arm64/include/asm/pgtable.h:709:15: sparse: sparse: cast to non-scalar
   arch/arm64/include/asm/pgtable.h:709:15: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar

vim +192 arch/arm64/kernel/hibernate.c

82869ac57b5d3b James Morse    2016-04-27  181  
a2c2e67923ecb7 Pavel Tatashin 2019-12-04  182  static int trans_pgd_map_page(pgd_t *trans_pgd, void *page,
82869ac57b5d3b James Morse    2016-04-27  183  		       unsigned long dst_addr,
a2c2e67923ecb7 Pavel Tatashin 2019-12-04  184  		       pgprot_t pgprot)
82869ac57b5d3b James Morse    2016-04-27  185  {
20a004e7b017cc Will Deacon    2018-02-15  186  	pgd_t *pgdp;
20a004e7b017cc Will Deacon    2018-02-15  187  	pud_t *pudp;
20a004e7b017cc Will Deacon    2018-02-15  188  	pmd_t *pmdp;
20a004e7b017cc Will Deacon    2018-02-15  189  	pte_t *ptep;
82869ac57b5d3b James Morse    2016-04-27  190  
8c551f919a73c1 Pavel Tatashin 2019-10-14  191  	pgdp = pgd_offset_raw(trans_pgd, dst_addr);
20a004e7b017cc Will Deacon    2018-02-15 @192  	if (pgd_none(READ_ONCE(*pgdp))) {
051a7a94aaa9ca Pavel Tatashin 2019-12-04  193  		pudp = (void *)get_safe_page(GFP_ATOMIC);
a89d7ff933b015 Pavel Tatashin 2019-12-04  194  		if (!pudp)
a89d7ff933b015 Pavel Tatashin 2019-12-04  195  			return -ENOMEM;
20a004e7b017cc Will Deacon    2018-02-15  196  		pgd_populate(&init_mm, pgdp, pudp);
82869ac57b5d3b James Morse    2016-04-27  197  	}
82869ac57b5d3b James Morse    2016-04-27  198  
20a004e7b017cc Will Deacon    2018-02-15  199  	pudp = pud_offset(pgdp, dst_addr);
20a004e7b017cc Will Deacon    2018-02-15  200  	if (pud_none(READ_ONCE(*pudp))) {
051a7a94aaa9ca Pavel Tatashin 2019-12-04  201  		pmdp = (void *)get_safe_page(GFP_ATOMIC);
a89d7ff933b015 Pavel Tatashin 2019-12-04  202  		if (!pmdp)
a89d7ff933b015 Pavel Tatashin 2019-12-04  203  			return -ENOMEM;
20a004e7b017cc Will Deacon    2018-02-15  204  		pud_populate(&init_mm, pudp, pmdp);
82869ac57b5d3b James Morse    2016-04-27  205  	}
82869ac57b5d3b James Morse    2016-04-27  206  
20a004e7b017cc Will Deacon    2018-02-15  207  	pmdp = pmd_offset(pudp, dst_addr);
20a004e7b017cc Will Deacon    2018-02-15  208  	if (pmd_none(READ_ONCE(*pmdp))) {
051a7a94aaa9ca Pavel Tatashin 2019-12-04  209  		ptep = (void *)get_safe_page(GFP_ATOMIC);
a89d7ff933b015 Pavel Tatashin 2019-12-04  210  		if (!ptep)
a89d7ff933b015 Pavel Tatashin 2019-12-04  211  			return -ENOMEM;
20a004e7b017cc Will Deacon    2018-02-15  212  		pmd_populate_kernel(&init_mm, pmdp, ptep);
82869ac57b5d3b James Morse    2016-04-27  213  	}
82869ac57b5d3b James Morse    2016-04-27  214  
20a004e7b017cc Will Deacon    2018-02-15  215  	ptep = pte_offset_kernel(pmdp, dst_addr);
13373f0e658013 Pavel Tatashin 2019-12-04  216  	set_pte(ptep, pfn_pte(virt_to_pfn(page), PAGE_KERNEL_EXEC));
82869ac57b5d3b James Morse    2016-04-27  217  
a2c2e67923ecb7 Pavel Tatashin 2019-12-04  218  	return 0;
a2c2e67923ecb7 Pavel Tatashin 2019-12-04  219  }
a2c2e67923ecb7 Pavel Tatashin 2019-12-04  220  

:::::: The code at line 192 was first introduced by commit
:::::: 20a004e7b017cce282a46ac5d02c2b9c6b9bb1fa arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables

:::::: TO: Will Deacon <will.deacon@arm.com>
:::::: CC: Catalin Marinas <catalin.marinas@arm.com>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 35800 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-06-07 10:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-07 10:24 [linux-next:master 7520/15793] arch/arm64/kernel/hibernate.c:192:22: sparse: sparse: cast to non-scalar kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.