2022-05-03 01:22:43

by kernel test robot

[permalink] [raw]
Subject: [ammarfaizi2-block:dhowells/linux-fs/netfs-linked-list 39/45] fs/netfs/buffered_write.c:669:13: sparse: sparse: incorrect type in assignment (different base types)

tree: https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/netfs-linked-list
head: a20ca5707a9b524115f5ded439fed1f8e552dd6b
commit: 95f517db4cb2fbcfdabe76d0be06d75746958b0b [39/45] netfs: Allow buffered shared-writeable mmap through netfs_page_mkwrite()
config: s390-randconfig-s032-20220428 (https://download.01.org/0day-ci/archive/20220428/[email protected]/config)
compiler: s390-linux-gcc (GCC) 11.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.4-dirty
# https://github.com/ammarfaizi2/linux-block/commit/95f517db4cb2fbcfdabe76d0be06d75746958b0b
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/netfs-linked-list
git checkout 95f517db4cb2fbcfdabe76d0be06d75746958b0b
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=s390 SHELL=/bin/bash

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


sparse warnings: (new ones prefixed by >>)
>> fs/netfs/buffered_write.c:669:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted vm_fault_t [usertype] ret @@ got int @@
fs/netfs/buffered_write.c:669:13: sparse: expected restricted vm_fault_t [usertype] ret
fs/netfs/buffered_write.c:669:13: sparse: got int
>> fs/netfs/buffered_write.c:670:13: sparse: sparse: restricted vm_fault_t degrades to integer

vim +669 fs/netfs/buffered_write.c

640
641 /*
642 * Notification that a previously read-only page is about to become writable.
643 * Note that the caller indicates a single page of a multipage folio.
644 */
645 vm_fault_t netfs_page_mkwrite(struct vm_fault *vmf)
646 {
647 struct netfs_dirty_region *region;
648 struct folio *folio = page_folio(vmf->page);
649 struct file *file = vmf->vma->vm_file;
650 struct inode *inode = file_inode(file);
651 struct netfs_i_context *ctx = netfs_i_context(inode);
652 vm_fault_t ret = VM_FAULT_RETRY;
653 int err;
654 LIST_HEAD(spare_regions);
655
656 _enter("%lx", folio->index);
657
658 if (ctx->ops->validate_for_write(inode, file) < 0)
659 return VM_FAULT_SIGBUS;
660
661 sb_start_pagefault(inode->i_sb);
662
663 if (folio_wait_writeback_killable(folio))
664 goto out;
665
666 if (folio_lock_killable(folio) < 0)
667 goto out;
668
> 669 ret = netfs_preallocate_regions(&spare_regions);
> 670 if (ret < 0) {

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