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:   Wed, 1 Jun 2022 15:17:10 +0800
From:   kernel test robot <lkp@...el.com>
To:     David Howells <dhowells@...hat.com>
Cc:     kbuild-all@...ts.01.org,
        GNU/Weeb Mailing List <gwml@...r.gnuweeb.org>,
        linux-kernel@...r.kernel.org
Subject: [ammarfaizi2-block:dhowells/linux-fs/cifs-netfs 34/41]
 fs/cifs/smb2ops.c:3965:34: sparse: sparse: incorrect type in argument 2
 (different base types)

tree:   https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/cifs-netfs
head:   1fc71b6b30f6d2a981c163b77c9aee0aecaecb29
commit: 4c67a0e88c041546f0a045d5034e045e0c404918 [34/41] cifs: Share server EOF pos with netfslib
config: i386-randconfig-s002 (https://download.01.org/0day-ci/archive/20220601/202206011525.hK4OI0FN-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-1) 11.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-14-g5a0004b5-dirty
        # https://github.com/ammarfaizi2/linux-block/commit/4c67a0e88c041546f0a045d5034e045e0c404918
        git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
        git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/cifs-netfs
        git checkout 4c67a0e88c041546f0a045d5034e045e0c404918
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash fs/cifs/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>


sparse warnings: (new ones prefixed by >>)
>> fs/cifs/smb2ops.c:3965:34: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected long long [usertype] new_i_size @@     got restricted __le64 [addressable] [assigned] [usertype] eof @@
   fs/cifs/smb2ops.c:3965:34: sparse:     expected long long [usertype] new_i_size
   fs/cifs/smb2ops.c:3965:34: sparse:     got restricted __le64 [addressable] [assigned] [usertype] eof
>> fs/cifs/smb2ops.c:3966:33: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected long long [usertype] newsize @@     got restricted __le64 [addressable] [assigned] [usertype] eof @@
   fs/cifs/smb2ops.c:3966:33: sparse:     expected long long [usertype] newsize
   fs/cifs/smb2ops.c:3966:33: sparse:     got restricted __le64 [addressable] [assigned] [usertype] eof
>> fs/cifs/smb2ops.c:3967:57: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected long long [usertype] new_size @@     got restricted __le64 [addressable] [assigned] [usertype] eof @@
   fs/cifs/smb2ops.c:3967:57: sparse:     expected long long [usertype] new_size
   fs/cifs/smb2ops.c:3967:57: sparse:     got restricted __le64 [addressable] [assigned] [usertype] eof
   fs/cifs/smb2ops.c:4752:39: sparse: sparse: incompatible types in comparison expression (different type sizes):
   fs/cifs/smb2ops.c:4752:39: sparse:    unsigned int *
   fs/cifs/smb2ops.c:4752:39: sparse:    unsigned long *

vim +3965 fs/cifs/smb2ops.c

  3932	
  3933	static long smb3_collapse_range(struct file *file, struct cifs_tcon *tcon,
  3934				    loff_t off, loff_t len)
  3935	{
  3936		int rc;
  3937		unsigned int xid;
  3938		struct inode *inode;
  3939		struct cifsFileInfo *cfile = file->private_data;
  3940		__le64 eof;
  3941	
  3942		xid = get_xid();
  3943	
  3944		inode = d_inode(cfile->dentry);
  3945	
  3946		if (off >= i_size_read(inode) ||
  3947		    off + len >= i_size_read(inode)) {
  3948			rc = -EINVAL;
  3949			goto out;
  3950		}
  3951	
  3952		rc = smb2_copychunk_range(xid, cfile, cfile, off + len,
  3953					  i_size_read(inode) - off - len, off);
  3954		if (rc < 0)
  3955			goto out;
  3956	
  3957		eof = cpu_to_le64(i_size_read(inode) - len);
  3958		rc = SMB2_set_eof(xid, tcon, cfile->fid.persistent_fid,
  3959				  cfile->fid.volatile_fid, cfile->pid, &eof);
  3960		if (rc < 0)
  3961			goto out;
  3962	
  3963		rc = 0;
  3964	
> 3965		netfs_resize_file(inode, eof);
> 3966		truncate_setsize(inode, eof);
> 3967		fscache_resize_cookie(cifs_inode_cookie(inode), eof);
  3968	 out:
  3969		free_xid(xid);
  3970		return rc;
  3971	}
  3972	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ