tree:
https://android.googlesource.com/kernel/common android13-5.10
head: 758c95b6cef03a5c89e47a1ae84547f6210b539c
commit: 2fd69fa6bcab984b56ccfd4860b10f11f1966bed [3716/13215] FROMLIST: arm64/mm: add
speculative page fault
config: arm64-randconfig-s032-20210818 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 11.2.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-348-gf0e6938b-dirty
git remote add android-common
https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android13-5.10
git checkout 2fd69fa6bcab984b56ccfd4860b10f11f1966bed
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash
arch/arm64/mm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
> arch/arm64/mm/fault.c:492:31: sparse: sparse: incorrect type in
return expression (different base types) @@ expected int @@ got restricted
vm_fault_t @@
arch/arm64/mm/fault.c:492:31: sparse: expected int
arch/arm64/mm/fault.c:492:31: sparse: got restricted vm_fault_t
arch/arm64/mm/fault.c:561:15: sparse: sparse: incorrect type in assignment (different
base types) @@ expected restricted vm_fault_t [usertype] fault @@ got int @@
arch/arm64/mm/fault.c:561:15: sparse: expected restricted vm_fault_t [usertype]
fault
arch/arm64/mm/fault.c:561:15: sparse: got int
arch/arm64/mm/fault.c:591:15: sparse: sparse: incorrect type in assignment (different
base types) @@ expected restricted vm_fault_t [usertype] fault @@ got int @@
arch/arm64/mm/fault.c:591:15: sparse: expected restricted vm_fault_t [usertype]
fault
arch/arm64/mm/fault.c:591:15: sparse: got int
arch/arm64/mm/fault.c:620:13: sparse: sparse: restricted vm_fault_t degrades to
integer
arch/arm64/mm/fault.c:620:13: sparse: sparse: restricted vm_fault_t degrades to
integer
arch/arm64/mm/fault.c:665:39: sparse: sparse: restricted vm_fault_t degrades to
integer
vim +492 arch/arm64/mm/fault.c
1d18c47c735e8a Catalin Marinas 2012-03-05 471
1d18c47c735e8a Catalin Marinas 2012-03-05 472 if (unlikely(!vma))
4745224b45097d Anshuman Khandual 2019-06-07 473 return VM_FAULT_BADMAP;
1d18c47c735e8a Catalin Marinas 2012-03-05 474
1d18c47c735e8a Catalin Marinas 2012-03-05 475 /*
1d18c47c735e8a Catalin Marinas 2012-03-05 476 * Ok, we have a good vm_area for this
memory access, so we can handle
1d18c47c735e8a Catalin Marinas 2012-03-05 477 * it.
1d18c47c735e8a Catalin Marinas 2012-03-05 478 */
4745224b45097d Anshuman Khandual 2019-06-07 479 if (unlikely(vma->vm_start >
addr)) {
4745224b45097d Anshuman Khandual 2019-06-07 480 if (!(vma->vm_flags &
VM_GROWSDOWN))
4745224b45097d Anshuman Khandual 2019-06-07 481 return VM_FAULT_BADMAP;
4745224b45097d Anshuman Khandual 2019-06-07 482 if (expand_stack(vma, addr))
4745224b45097d Anshuman Khandual 2019-06-07 483 return VM_FAULT_BADMAP;
4745224b45097d Anshuman Khandual 2019-06-07 484 }
4745224b45097d Anshuman Khandual 2019-06-07 485
db6f41063cbdb5 Will Deacon 2013-07-19 486 /*
db6f41063cbdb5 Will Deacon 2013-07-19 487 * Check that the permissions on the
VMA allow for the fault which
cab15ce604e550 Catalin Marinas 2016-08-11 488 * occurred.
db6f41063cbdb5 Will Deacon 2013-07-19 489 */
4745224b45097d Anshuman Khandual 2019-06-07 490 if (!(vma->vm_flags &
vm_flags))
4745224b45097d Anshuman Khandual 2019-06-07 491 return VM_FAULT_BADACCESS;
6a1bb025d28e10 Peter Xu 2020-08-11 @492 return handle_mm_fault(vma, addr &
PAGE_MASK, mm_flags, regs);
1d18c47c735e8a Catalin Marinas 2012-03-05 493 }
1d18c47c735e8a Catalin Marinas 2012-03-05 494
:::::: The code at line 492 was first introduced by commit
:::::: 6a1bb025d28e1026fead73b7b33e2dfccba3f4d2 mm/arm64: use general page fault
accounting
:::::: TO: Peter Xu <peterx(a)redhat.com>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org