All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [gfs2:for-next 4/38] fs/ntfs3/file.c:990:30: error: implicit declaration of function 'iov_iter_fault_in_readable'; did you mean 'fault_in_readable'?
Date: Thu, 14 Oct 2021 05:48:16 +0800	[thread overview]
Message-ID: <202110140509.ibrcGepZ-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next
head:   9d0084204c8a7e01f9b8ebe81402be61e0a67a62
commit: 4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d [4/38] iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable
config: nios2-randconfig-r003-20211013 (attached as .config)
compiler: nios2-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/commit/?id=4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d
        git remote add gfs2 https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
        git fetch --no-tags gfs2 for-next
        git checkout 4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=nios2 

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

All errors (new ones prefixed by >>):

   In file included from include/linux/kernel.h:11,
                    from include/linux/backing-dev.h:12,
                    from fs/ntfs3/file.c:10:
   fs/ntfs3/file.c: In function 'ntfs_compress_write':
>> fs/ntfs3/file.c:990:30: error: implicit declaration of function 'iov_iter_fault_in_readable'; did you mean 'fault_in_readable'? [-Werror=implicit-function-declaration]
     990 |                 if (unlikely(iov_iter_fault_in_readable(from, bytes))) {
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:45: note: in definition of macro 'unlikely'
      78 | # define unlikely(x)    __builtin_expect(!!(x), 0)
         |                                             ^
   cc1: some warnings being treated as errors


vim +990 fs/ntfs3/file.c

4342306f0f0d5f Konstantin Komarov 2021-08-13   863  
e8b8e97f91b80f Kari Argillander   2021-08-03   864  /*
e8b8e97f91b80f Kari Argillander   2021-08-03   865   * ntfs_compress_write - Helper for ntfs_file_write_iter() (compressed files).
e8b8e97f91b80f Kari Argillander   2021-08-03   866   */
4342306f0f0d5f Konstantin Komarov 2021-08-13   867  static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
4342306f0f0d5f Konstantin Komarov 2021-08-13   868  {
4342306f0f0d5f Konstantin Komarov 2021-08-13   869  	int err;
4342306f0f0d5f Konstantin Komarov 2021-08-13   870  	struct file *file = iocb->ki_filp;
4342306f0f0d5f Konstantin Komarov 2021-08-13   871  	size_t count = iov_iter_count(from);
4342306f0f0d5f Konstantin Komarov 2021-08-13   872  	loff_t pos = iocb->ki_pos;
4342306f0f0d5f Konstantin Komarov 2021-08-13   873  	struct inode *inode = file_inode(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13   874  	loff_t i_size = inode->i_size;
4342306f0f0d5f Konstantin Komarov 2021-08-13   875  	struct address_space *mapping = inode->i_mapping;
4342306f0f0d5f Konstantin Komarov 2021-08-13   876  	struct ntfs_inode *ni = ntfs_i(inode);
4342306f0f0d5f Konstantin Komarov 2021-08-13   877  	u64 valid = ni->i_valid;
4342306f0f0d5f Konstantin Komarov 2021-08-13   878  	struct ntfs_sb_info *sbi = ni->mi.sbi;
4342306f0f0d5f Konstantin Komarov 2021-08-13   879  	struct page *page, **pages = NULL;
4342306f0f0d5f Konstantin Komarov 2021-08-13   880  	size_t written = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13   881  	u8 frame_bits = NTFS_LZNT_CUNIT + sbi->cluster_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   882  	u32 frame_size = 1u << frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   883  	u32 pages_per_frame = frame_size >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   884  	u32 ip, off;
4342306f0f0d5f Konstantin Komarov 2021-08-13   885  	CLST frame;
4342306f0f0d5f Konstantin Komarov 2021-08-13   886  	u64 frame_vbo;
4342306f0f0d5f Konstantin Komarov 2021-08-13   887  	pgoff_t index;
4342306f0f0d5f Konstantin Komarov 2021-08-13   888  	bool frame_uptodate;
4342306f0f0d5f Konstantin Komarov 2021-08-13   889  
4342306f0f0d5f Konstantin Komarov 2021-08-13   890  	if (frame_size < PAGE_SIZE) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   891  		/*
4342306f0f0d5f Konstantin Komarov 2021-08-13   892  		 * frame_size == 8K if cluster 512
4342306f0f0d5f Konstantin Komarov 2021-08-13   893  		 * frame_size == 64K if cluster 4096
4342306f0f0d5f Konstantin Komarov 2021-08-13   894  		 */
4342306f0f0d5f Konstantin Komarov 2021-08-13   895  		ntfs_inode_warn(inode, "page size is bigger than frame size");
4342306f0f0d5f Konstantin Komarov 2021-08-13   896  		return -EOPNOTSUPP;
4342306f0f0d5f Konstantin Komarov 2021-08-13   897  	}
4342306f0f0d5f Konstantin Komarov 2021-08-13   898  
345482bc431f64 Kari Argillander   2021-08-24   899  	pages = kmalloc_array(pages_per_frame, sizeof(struct page *), GFP_NOFS);
4342306f0f0d5f Konstantin Komarov 2021-08-13   900  	if (!pages)
4342306f0f0d5f Konstantin Komarov 2021-08-13   901  		return -ENOMEM;
4342306f0f0d5f Konstantin Komarov 2021-08-13   902  
4342306f0f0d5f Konstantin Komarov 2021-08-13   903  	current->backing_dev_info = inode_to_bdi(inode);
4342306f0f0d5f Konstantin Komarov 2021-08-13   904  	err = file_remove_privs(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13   905  	if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   906  		goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   907  
4342306f0f0d5f Konstantin Komarov 2021-08-13   908  	err = file_update_time(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13   909  	if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   910  		goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   911  
e8b8e97f91b80f Kari Argillander   2021-08-03   912  	/* Zero range [valid : pos). */
4342306f0f0d5f Konstantin Komarov 2021-08-13   913  	while (valid < pos) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   914  		CLST lcn, clen;
4342306f0f0d5f Konstantin Komarov 2021-08-13   915  
4342306f0f0d5f Konstantin Komarov 2021-08-13   916  		frame = valid >> frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   917  		frame_vbo = valid & ~(frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   918  		off = valid & (frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   919  
4342306f0f0d5f Konstantin Komarov 2021-08-13   920  		err = attr_data_get_block(ni, frame << NTFS_LZNT_CUNIT, 0, &lcn,
4342306f0f0d5f Konstantin Komarov 2021-08-13   921  					  &clen, NULL);
4342306f0f0d5f Konstantin Komarov 2021-08-13   922  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   923  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   924  
4342306f0f0d5f Konstantin Komarov 2021-08-13   925  		if (lcn == SPARSE_LCN) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   926  			ni->i_valid = valid =
4342306f0f0d5f Konstantin Komarov 2021-08-13   927  				frame_vbo + ((u64)clen << sbi->cluster_bits);
4342306f0f0d5f Konstantin Komarov 2021-08-13   928  			continue;
4342306f0f0d5f Konstantin Komarov 2021-08-13   929  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   930  
e8b8e97f91b80f Kari Argillander   2021-08-03   931  		/* Load full frame. */
4342306f0f0d5f Konstantin Komarov 2021-08-13   932  		err = ntfs_get_frame_pages(mapping, frame_vbo >> PAGE_SHIFT,
4342306f0f0d5f Konstantin Komarov 2021-08-13   933  					   pages, pages_per_frame,
4342306f0f0d5f Konstantin Komarov 2021-08-13   934  					   &frame_uptodate);
4342306f0f0d5f Konstantin Komarov 2021-08-13   935  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   936  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   937  
4342306f0f0d5f Konstantin Komarov 2021-08-13   938  		if (!frame_uptodate && off) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   939  			err = ni_read_frame(ni, frame_vbo, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13   940  					    pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13   941  			if (err) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   942  				for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   943  					page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13   944  					unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   945  					put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   946  				}
4342306f0f0d5f Konstantin Komarov 2021-08-13   947  				goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   948  			}
4342306f0f0d5f Konstantin Komarov 2021-08-13   949  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   950  
4342306f0f0d5f Konstantin Komarov 2021-08-13   951  		ip = off >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   952  		off = offset_in_page(valid);
4342306f0f0d5f Konstantin Komarov 2021-08-13   953  		for (; ip < pages_per_frame; ip++, off = 0) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   954  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13   955  			zero_user_segment(page, off, PAGE_SIZE);
4342306f0f0d5f Konstantin Komarov 2021-08-13   956  			flush_dcache_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   957  			SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   958  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   959  
4342306f0f0d5f Konstantin Komarov 2021-08-13   960  		ni_lock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13   961  		err = ni_write_frame(ni, pages, pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13   962  		ni_unlock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13   963  
4342306f0f0d5f Konstantin Komarov 2021-08-13   964  		for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   965  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13   966  			SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   967  			unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   968  			put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   969  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   970  
4342306f0f0d5f Konstantin Komarov 2021-08-13   971  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   972  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   973  
4342306f0f0d5f Konstantin Komarov 2021-08-13   974  		ni->i_valid = valid = frame_vbo + frame_size;
4342306f0f0d5f Konstantin Komarov 2021-08-13   975  	}
4342306f0f0d5f Konstantin Komarov 2021-08-13   976  
e8b8e97f91b80f Kari Argillander   2021-08-03   977  	/* Copy user data [pos : pos + count). */
4342306f0f0d5f Konstantin Komarov 2021-08-13   978  	while (count) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   979  		size_t copied, bytes;
4342306f0f0d5f Konstantin Komarov 2021-08-13   980  
4342306f0f0d5f Konstantin Komarov 2021-08-13   981  		off = pos & (frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   982  		bytes = frame_size - off;
4342306f0f0d5f Konstantin Komarov 2021-08-13   983  		if (bytes > count)
4342306f0f0d5f Konstantin Komarov 2021-08-13   984  			bytes = count;
4342306f0f0d5f Konstantin Komarov 2021-08-13   985  
4342306f0f0d5f Konstantin Komarov 2021-08-13   986  		frame = pos >> frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   987  		frame_vbo = pos & ~(frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   988  		index = frame_vbo >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   989  
4342306f0f0d5f Konstantin Komarov 2021-08-13  @990  		if (unlikely(iov_iter_fault_in_readable(from, bytes))) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   991  			err = -EFAULT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   992  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   993  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   994  
e8b8e97f91b80f Kari Argillander   2021-08-03   995  		/* Load full frame. */
4342306f0f0d5f Konstantin Komarov 2021-08-13   996  		err = ntfs_get_frame_pages(mapping, index, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13   997  					   pages_per_frame, &frame_uptodate);
4342306f0f0d5f Konstantin Komarov 2021-08-13   998  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   999  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1000  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1001  		if (!frame_uptodate) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1002  			loff_t to = pos + bytes;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1003  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1004  			if (off || (to < i_size && (to & (frame_size - 1)))) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1005  				err = ni_read_frame(ni, frame_vbo, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13  1006  						    pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1007  				if (err) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1008  					for (ip = 0; ip < pages_per_frame;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1009  					     ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1010  						page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13  1011  						unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1012  						put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1013  					}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1014  					goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1015  				}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1016  			}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1017  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1018  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1019  		WARN_ON(!bytes);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1020  		copied = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1021  		ip = off >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1022  		off = offset_in_page(pos);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1023  
e8b8e97f91b80f Kari Argillander   2021-08-03  1024  		/* Copy user data to pages. */
4342306f0f0d5f Konstantin Komarov 2021-08-13  1025  		for (;;) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1026  			size_t cp, tail = PAGE_SIZE - off;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1027  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1028  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13  1029  			cp = copy_page_from_iter_atomic(page, off,
4342306f0f0d5f Konstantin Komarov 2021-08-13  1030  							min(tail, bytes), from);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1031  			flush_dcache_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1032  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1033  			copied += cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1034  			bytes -= cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1035  			if (!bytes || !cp)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1036  				break;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1037  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1038  			if (cp < tail) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1039  				off += cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1040  			} else {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1041  				ip++;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1042  				off = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1043  			}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1044  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1045  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1046  		ni_lock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1047  		err = ni_write_frame(ni, pages, pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1048  		ni_unlock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1049  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1050  		for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1051  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13  1052  			ClearPageDirty(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1053  			SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1054  			unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1055  			put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1056  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1057  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1058  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1059  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1060  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1061  		/*
4342306f0f0d5f Konstantin Komarov 2021-08-13  1062  		 * We can loop for a long time in here. Be nice and allow
4342306f0f0d5f Konstantin Komarov 2021-08-13  1063  		 * us to schedule out to avoid softlocking if preempt
4342306f0f0d5f Konstantin Komarov 2021-08-13  1064  		 * is disabled.
4342306f0f0d5f Konstantin Komarov 2021-08-13  1065  		 */
4342306f0f0d5f Konstantin Komarov 2021-08-13  1066  		cond_resched();
4342306f0f0d5f Konstantin Komarov 2021-08-13  1067  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1068  		pos += copied;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1069  		written += copied;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1070  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1071  		count = iov_iter_count(from);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1072  	}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1073  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1074  out:
195c52bdd5d5ec Kari Argillander   2021-08-24  1075  	kfree(pages);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1076  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1077  	current->backing_dev_info = NULL;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1078  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1079  	if (err < 0)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1080  		return err;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1081  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1082  	iocb->ki_pos += written;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1083  	if (iocb->ki_pos > ni->i_valid)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1084  		ni->i_valid = iocb->ki_pos;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1085  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1086  	return written;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1087  }
4342306f0f0d5f Konstantin Komarov 2021-08-13  1088  

:::::: The code at line 990 was first introduced by commit
:::::: 4342306f0f0d5ff4315a204d315c1b51b914fca5 fs/ntfs3: Add file operations and implementation

:::::: TO: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
:::::: CC: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all at lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 32053 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20211014/bd03de71/attachment.gz>

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [gfs2:for-next 4/38] fs/ntfs3/file.c:990:30: error: implicit declaration of function 'iov_iter_fault_in_readable'; did you mean 'fault_in_readable'?
Date: Thu, 14 Oct 2021 05:48:16 +0800	[thread overview]
Message-ID: <202110140509.ibrcGepZ-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next
head:   9d0084204c8a7e01f9b8ebe81402be61e0a67a62
commit: 4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d [4/38] iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable
config: nios2-randconfig-r003-20211013 (attached as .config)
compiler: nios2-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/commit/?id=4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d
        git remote add gfs2 https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
        git fetch --no-tags gfs2 for-next
        git checkout 4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=nios2 

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

All errors (new ones prefixed by >>):

   In file included from include/linux/kernel.h:11,
                    from include/linux/backing-dev.h:12,
                    from fs/ntfs3/file.c:10:
   fs/ntfs3/file.c: In function 'ntfs_compress_write':
>> fs/ntfs3/file.c:990:30: error: implicit declaration of function 'iov_iter_fault_in_readable'; did you mean 'fault_in_readable'? [-Werror=implicit-function-declaration]
     990 |                 if (unlikely(iov_iter_fault_in_readable(from, bytes))) {
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:45: note: in definition of macro 'unlikely'
      78 | # define unlikely(x)    __builtin_expect(!!(x), 0)
         |                                             ^
   cc1: some warnings being treated as errors


vim +990 fs/ntfs3/file.c

4342306f0f0d5f Konstantin Komarov 2021-08-13   863  
e8b8e97f91b80f Kari Argillander   2021-08-03   864  /*
e8b8e97f91b80f Kari Argillander   2021-08-03   865   * ntfs_compress_write - Helper for ntfs_file_write_iter() (compressed files).
e8b8e97f91b80f Kari Argillander   2021-08-03   866   */
4342306f0f0d5f Konstantin Komarov 2021-08-13   867  static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
4342306f0f0d5f Konstantin Komarov 2021-08-13   868  {
4342306f0f0d5f Konstantin Komarov 2021-08-13   869  	int err;
4342306f0f0d5f Konstantin Komarov 2021-08-13   870  	struct file *file = iocb->ki_filp;
4342306f0f0d5f Konstantin Komarov 2021-08-13   871  	size_t count = iov_iter_count(from);
4342306f0f0d5f Konstantin Komarov 2021-08-13   872  	loff_t pos = iocb->ki_pos;
4342306f0f0d5f Konstantin Komarov 2021-08-13   873  	struct inode *inode = file_inode(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13   874  	loff_t i_size = inode->i_size;
4342306f0f0d5f Konstantin Komarov 2021-08-13   875  	struct address_space *mapping = inode->i_mapping;
4342306f0f0d5f Konstantin Komarov 2021-08-13   876  	struct ntfs_inode *ni = ntfs_i(inode);
4342306f0f0d5f Konstantin Komarov 2021-08-13   877  	u64 valid = ni->i_valid;
4342306f0f0d5f Konstantin Komarov 2021-08-13   878  	struct ntfs_sb_info *sbi = ni->mi.sbi;
4342306f0f0d5f Konstantin Komarov 2021-08-13   879  	struct page *page, **pages = NULL;
4342306f0f0d5f Konstantin Komarov 2021-08-13   880  	size_t written = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13   881  	u8 frame_bits = NTFS_LZNT_CUNIT + sbi->cluster_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   882  	u32 frame_size = 1u << frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   883  	u32 pages_per_frame = frame_size >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   884  	u32 ip, off;
4342306f0f0d5f Konstantin Komarov 2021-08-13   885  	CLST frame;
4342306f0f0d5f Konstantin Komarov 2021-08-13   886  	u64 frame_vbo;
4342306f0f0d5f Konstantin Komarov 2021-08-13   887  	pgoff_t index;
4342306f0f0d5f Konstantin Komarov 2021-08-13   888  	bool frame_uptodate;
4342306f0f0d5f Konstantin Komarov 2021-08-13   889  
4342306f0f0d5f Konstantin Komarov 2021-08-13   890  	if (frame_size < PAGE_SIZE) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   891  		/*
4342306f0f0d5f Konstantin Komarov 2021-08-13   892  		 * frame_size == 8K if cluster 512
4342306f0f0d5f Konstantin Komarov 2021-08-13   893  		 * frame_size == 64K if cluster 4096
4342306f0f0d5f Konstantin Komarov 2021-08-13   894  		 */
4342306f0f0d5f Konstantin Komarov 2021-08-13   895  		ntfs_inode_warn(inode, "page size is bigger than frame size");
4342306f0f0d5f Konstantin Komarov 2021-08-13   896  		return -EOPNOTSUPP;
4342306f0f0d5f Konstantin Komarov 2021-08-13   897  	}
4342306f0f0d5f Konstantin Komarov 2021-08-13   898  
345482bc431f64 Kari Argillander   2021-08-24   899  	pages = kmalloc_array(pages_per_frame, sizeof(struct page *), GFP_NOFS);
4342306f0f0d5f Konstantin Komarov 2021-08-13   900  	if (!pages)
4342306f0f0d5f Konstantin Komarov 2021-08-13   901  		return -ENOMEM;
4342306f0f0d5f Konstantin Komarov 2021-08-13   902  
4342306f0f0d5f Konstantin Komarov 2021-08-13   903  	current->backing_dev_info = inode_to_bdi(inode);
4342306f0f0d5f Konstantin Komarov 2021-08-13   904  	err = file_remove_privs(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13   905  	if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   906  		goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   907  
4342306f0f0d5f Konstantin Komarov 2021-08-13   908  	err = file_update_time(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13   909  	if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   910  		goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   911  
e8b8e97f91b80f Kari Argillander   2021-08-03   912  	/* Zero range [valid : pos). */
4342306f0f0d5f Konstantin Komarov 2021-08-13   913  	while (valid < pos) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   914  		CLST lcn, clen;
4342306f0f0d5f Konstantin Komarov 2021-08-13   915  
4342306f0f0d5f Konstantin Komarov 2021-08-13   916  		frame = valid >> frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   917  		frame_vbo = valid & ~(frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   918  		off = valid & (frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   919  
4342306f0f0d5f Konstantin Komarov 2021-08-13   920  		err = attr_data_get_block(ni, frame << NTFS_LZNT_CUNIT, 0, &lcn,
4342306f0f0d5f Konstantin Komarov 2021-08-13   921  					  &clen, NULL);
4342306f0f0d5f Konstantin Komarov 2021-08-13   922  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   923  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   924  
4342306f0f0d5f Konstantin Komarov 2021-08-13   925  		if (lcn == SPARSE_LCN) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   926  			ni->i_valid = valid =
4342306f0f0d5f Konstantin Komarov 2021-08-13   927  				frame_vbo + ((u64)clen << sbi->cluster_bits);
4342306f0f0d5f Konstantin Komarov 2021-08-13   928  			continue;
4342306f0f0d5f Konstantin Komarov 2021-08-13   929  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   930  
e8b8e97f91b80f Kari Argillander   2021-08-03   931  		/* Load full frame. */
4342306f0f0d5f Konstantin Komarov 2021-08-13   932  		err = ntfs_get_frame_pages(mapping, frame_vbo >> PAGE_SHIFT,
4342306f0f0d5f Konstantin Komarov 2021-08-13   933  					   pages, pages_per_frame,
4342306f0f0d5f Konstantin Komarov 2021-08-13   934  					   &frame_uptodate);
4342306f0f0d5f Konstantin Komarov 2021-08-13   935  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   936  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   937  
4342306f0f0d5f Konstantin Komarov 2021-08-13   938  		if (!frame_uptodate && off) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   939  			err = ni_read_frame(ni, frame_vbo, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13   940  					    pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13   941  			if (err) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   942  				for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   943  					page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13   944  					unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   945  					put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   946  				}
4342306f0f0d5f Konstantin Komarov 2021-08-13   947  				goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   948  			}
4342306f0f0d5f Konstantin Komarov 2021-08-13   949  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   950  
4342306f0f0d5f Konstantin Komarov 2021-08-13   951  		ip = off >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   952  		off = offset_in_page(valid);
4342306f0f0d5f Konstantin Komarov 2021-08-13   953  		for (; ip < pages_per_frame; ip++, off = 0) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   954  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13   955  			zero_user_segment(page, off, PAGE_SIZE);
4342306f0f0d5f Konstantin Komarov 2021-08-13   956  			flush_dcache_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   957  			SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   958  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   959  
4342306f0f0d5f Konstantin Komarov 2021-08-13   960  		ni_lock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13   961  		err = ni_write_frame(ni, pages, pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13   962  		ni_unlock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13   963  
4342306f0f0d5f Konstantin Komarov 2021-08-13   964  		for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   965  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13   966  			SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   967  			unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   968  			put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   969  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   970  
4342306f0f0d5f Konstantin Komarov 2021-08-13   971  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   972  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   973  
4342306f0f0d5f Konstantin Komarov 2021-08-13   974  		ni->i_valid = valid = frame_vbo + frame_size;
4342306f0f0d5f Konstantin Komarov 2021-08-13   975  	}
4342306f0f0d5f Konstantin Komarov 2021-08-13   976  
e8b8e97f91b80f Kari Argillander   2021-08-03   977  	/* Copy user data [pos : pos + count). */
4342306f0f0d5f Konstantin Komarov 2021-08-13   978  	while (count) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   979  		size_t copied, bytes;
4342306f0f0d5f Konstantin Komarov 2021-08-13   980  
4342306f0f0d5f Konstantin Komarov 2021-08-13   981  		off = pos & (frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   982  		bytes = frame_size - off;
4342306f0f0d5f Konstantin Komarov 2021-08-13   983  		if (bytes > count)
4342306f0f0d5f Konstantin Komarov 2021-08-13   984  			bytes = count;
4342306f0f0d5f Konstantin Komarov 2021-08-13   985  
4342306f0f0d5f Konstantin Komarov 2021-08-13   986  		frame = pos >> frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   987  		frame_vbo = pos & ~(frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   988  		index = frame_vbo >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   989  
4342306f0f0d5f Konstantin Komarov 2021-08-13  @990  		if (unlikely(iov_iter_fault_in_readable(from, bytes))) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   991  			err = -EFAULT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   992  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   993  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   994  
e8b8e97f91b80f Kari Argillander   2021-08-03   995  		/* Load full frame. */
4342306f0f0d5f Konstantin Komarov 2021-08-13   996  		err = ntfs_get_frame_pages(mapping, index, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13   997  					   pages_per_frame, &frame_uptodate);
4342306f0f0d5f Konstantin Komarov 2021-08-13   998  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   999  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1000  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1001  		if (!frame_uptodate) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1002  			loff_t to = pos + bytes;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1003  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1004  			if (off || (to < i_size && (to & (frame_size - 1)))) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1005  				err = ni_read_frame(ni, frame_vbo, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13  1006  						    pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1007  				if (err) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1008  					for (ip = 0; ip < pages_per_frame;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1009  					     ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1010  						page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13  1011  						unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1012  						put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1013  					}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1014  					goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1015  				}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1016  			}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1017  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1018  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1019  		WARN_ON(!bytes);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1020  		copied = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1021  		ip = off >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1022  		off = offset_in_page(pos);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1023  
e8b8e97f91b80f Kari Argillander   2021-08-03  1024  		/* Copy user data to pages. */
4342306f0f0d5f Konstantin Komarov 2021-08-13  1025  		for (;;) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1026  			size_t cp, tail = PAGE_SIZE - off;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1027  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1028  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13  1029  			cp = copy_page_from_iter_atomic(page, off,
4342306f0f0d5f Konstantin Komarov 2021-08-13  1030  							min(tail, bytes), from);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1031  			flush_dcache_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1032  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1033  			copied += cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1034  			bytes -= cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1035  			if (!bytes || !cp)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1036  				break;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1037  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1038  			if (cp < tail) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1039  				off += cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1040  			} else {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1041  				ip++;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1042  				off = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1043  			}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1044  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1045  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1046  		ni_lock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1047  		err = ni_write_frame(ni, pages, pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1048  		ni_unlock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1049  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1050  		for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1051  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13  1052  			ClearPageDirty(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1053  			SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1054  			unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1055  			put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1056  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1057  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1058  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1059  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1060  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1061  		/*
4342306f0f0d5f Konstantin Komarov 2021-08-13  1062  		 * We can loop for a long time in here. Be nice and allow
4342306f0f0d5f Konstantin Komarov 2021-08-13  1063  		 * us to schedule out to avoid softlocking if preempt
4342306f0f0d5f Konstantin Komarov 2021-08-13  1064  		 * is disabled.
4342306f0f0d5f Konstantin Komarov 2021-08-13  1065  		 */
4342306f0f0d5f Konstantin Komarov 2021-08-13  1066  		cond_resched();
4342306f0f0d5f Konstantin Komarov 2021-08-13  1067  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1068  		pos += copied;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1069  		written += copied;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1070  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1071  		count = iov_iter_count(from);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1072  	}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1073  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1074  out:
195c52bdd5d5ec Kari Argillander   2021-08-24  1075  	kfree(pages);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1076  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1077  	current->backing_dev_info = NULL;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1078  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1079  	if (err < 0)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1080  		return err;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1081  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1082  	iocb->ki_pos += written;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1083  	if (iocb->ki_pos > ni->i_valid)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1084  		ni->i_valid = iocb->ki_pos;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1085  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1086  	return written;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1087  }
4342306f0f0d5f Konstantin Komarov 2021-08-13  1088  

:::::: The code at line 990 was first introduced by commit
:::::: 4342306f0f0d5ff4315a204d315c1b51b914fca5 fs/ntfs3: Add file operations and implementation

:::::: TO: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
:::::: CC: Konstantin Komarov <almaz.alexandrovich@paragon-software.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: 32053 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Andreas Gruenbacher <agruenba@redhat.com>
Cc: kbuild-all@lists.01.org, cluster-devel@redhat.com,
	linux-kernel@vger.kernel.org
Subject: [gfs2:for-next 4/38] fs/ntfs3/file.c:990:30: error: implicit declaration of function 'iov_iter_fault_in_readable'; did you mean 'fault_in_readable'?
Date: Thu, 14 Oct 2021 05:48:16 +0800	[thread overview]
Message-ID: <202110140509.ibrcGepZ-lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-next
head:   9d0084204c8a7e01f9b8ebe81402be61e0a67a62
commit: 4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d [4/38] iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readable
config: nios2-randconfig-r003-20211013 (attached as .config)
compiler: nios2-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/commit/?id=4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d
        git remote add gfs2 https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
        git fetch --no-tags gfs2 for-next
        git checkout 4b03be65e2d7c2a3c7a83d28d5f9882e9dcf178d
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=nios2 

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

All errors (new ones prefixed by >>):

   In file included from include/linux/kernel.h:11,
                    from include/linux/backing-dev.h:12,
                    from fs/ntfs3/file.c:10:
   fs/ntfs3/file.c: In function 'ntfs_compress_write':
>> fs/ntfs3/file.c:990:30: error: implicit declaration of function 'iov_iter_fault_in_readable'; did you mean 'fault_in_readable'? [-Werror=implicit-function-declaration]
     990 |                 if (unlikely(iov_iter_fault_in_readable(from, bytes))) {
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:78:45: note: in definition of macro 'unlikely'
      78 | # define unlikely(x)    __builtin_expect(!!(x), 0)
         |                                             ^
   cc1: some warnings being treated as errors


vim +990 fs/ntfs3/file.c

4342306f0f0d5f Konstantin Komarov 2021-08-13   863  
e8b8e97f91b80f Kari Argillander   2021-08-03   864  /*
e8b8e97f91b80f Kari Argillander   2021-08-03   865   * ntfs_compress_write - Helper for ntfs_file_write_iter() (compressed files).
e8b8e97f91b80f Kari Argillander   2021-08-03   866   */
4342306f0f0d5f Konstantin Komarov 2021-08-13   867  static ssize_t ntfs_compress_write(struct kiocb *iocb, struct iov_iter *from)
4342306f0f0d5f Konstantin Komarov 2021-08-13   868  {
4342306f0f0d5f Konstantin Komarov 2021-08-13   869  	int err;
4342306f0f0d5f Konstantin Komarov 2021-08-13   870  	struct file *file = iocb->ki_filp;
4342306f0f0d5f Konstantin Komarov 2021-08-13   871  	size_t count = iov_iter_count(from);
4342306f0f0d5f Konstantin Komarov 2021-08-13   872  	loff_t pos = iocb->ki_pos;
4342306f0f0d5f Konstantin Komarov 2021-08-13   873  	struct inode *inode = file_inode(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13   874  	loff_t i_size = inode->i_size;
4342306f0f0d5f Konstantin Komarov 2021-08-13   875  	struct address_space *mapping = inode->i_mapping;
4342306f0f0d5f Konstantin Komarov 2021-08-13   876  	struct ntfs_inode *ni = ntfs_i(inode);
4342306f0f0d5f Konstantin Komarov 2021-08-13   877  	u64 valid = ni->i_valid;
4342306f0f0d5f Konstantin Komarov 2021-08-13   878  	struct ntfs_sb_info *sbi = ni->mi.sbi;
4342306f0f0d5f Konstantin Komarov 2021-08-13   879  	struct page *page, **pages = NULL;
4342306f0f0d5f Konstantin Komarov 2021-08-13   880  	size_t written = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13   881  	u8 frame_bits = NTFS_LZNT_CUNIT + sbi->cluster_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   882  	u32 frame_size = 1u << frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   883  	u32 pages_per_frame = frame_size >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   884  	u32 ip, off;
4342306f0f0d5f Konstantin Komarov 2021-08-13   885  	CLST frame;
4342306f0f0d5f Konstantin Komarov 2021-08-13   886  	u64 frame_vbo;
4342306f0f0d5f Konstantin Komarov 2021-08-13   887  	pgoff_t index;
4342306f0f0d5f Konstantin Komarov 2021-08-13   888  	bool frame_uptodate;
4342306f0f0d5f Konstantin Komarov 2021-08-13   889  
4342306f0f0d5f Konstantin Komarov 2021-08-13   890  	if (frame_size < PAGE_SIZE) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   891  		/*
4342306f0f0d5f Konstantin Komarov 2021-08-13   892  		 * frame_size == 8K if cluster 512
4342306f0f0d5f Konstantin Komarov 2021-08-13   893  		 * frame_size == 64K if cluster 4096
4342306f0f0d5f Konstantin Komarov 2021-08-13   894  		 */
4342306f0f0d5f Konstantin Komarov 2021-08-13   895  		ntfs_inode_warn(inode, "page size is bigger than frame size");
4342306f0f0d5f Konstantin Komarov 2021-08-13   896  		return -EOPNOTSUPP;
4342306f0f0d5f Konstantin Komarov 2021-08-13   897  	}
4342306f0f0d5f Konstantin Komarov 2021-08-13   898  
345482bc431f64 Kari Argillander   2021-08-24   899  	pages = kmalloc_array(pages_per_frame, sizeof(struct page *), GFP_NOFS);
4342306f0f0d5f Konstantin Komarov 2021-08-13   900  	if (!pages)
4342306f0f0d5f Konstantin Komarov 2021-08-13   901  		return -ENOMEM;
4342306f0f0d5f Konstantin Komarov 2021-08-13   902  
4342306f0f0d5f Konstantin Komarov 2021-08-13   903  	current->backing_dev_info = inode_to_bdi(inode);
4342306f0f0d5f Konstantin Komarov 2021-08-13   904  	err = file_remove_privs(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13   905  	if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   906  		goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   907  
4342306f0f0d5f Konstantin Komarov 2021-08-13   908  	err = file_update_time(file);
4342306f0f0d5f Konstantin Komarov 2021-08-13   909  	if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   910  		goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   911  
e8b8e97f91b80f Kari Argillander   2021-08-03   912  	/* Zero range [valid : pos). */
4342306f0f0d5f Konstantin Komarov 2021-08-13   913  	while (valid < pos) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   914  		CLST lcn, clen;
4342306f0f0d5f Konstantin Komarov 2021-08-13   915  
4342306f0f0d5f Konstantin Komarov 2021-08-13   916  		frame = valid >> frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   917  		frame_vbo = valid & ~(frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   918  		off = valid & (frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   919  
4342306f0f0d5f Konstantin Komarov 2021-08-13   920  		err = attr_data_get_block(ni, frame << NTFS_LZNT_CUNIT, 0, &lcn,
4342306f0f0d5f Konstantin Komarov 2021-08-13   921  					  &clen, NULL);
4342306f0f0d5f Konstantin Komarov 2021-08-13   922  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   923  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   924  
4342306f0f0d5f Konstantin Komarov 2021-08-13   925  		if (lcn == SPARSE_LCN) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   926  			ni->i_valid = valid =
4342306f0f0d5f Konstantin Komarov 2021-08-13   927  				frame_vbo + ((u64)clen << sbi->cluster_bits);
4342306f0f0d5f Konstantin Komarov 2021-08-13   928  			continue;
4342306f0f0d5f Konstantin Komarov 2021-08-13   929  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   930  
e8b8e97f91b80f Kari Argillander   2021-08-03   931  		/* Load full frame. */
4342306f0f0d5f Konstantin Komarov 2021-08-13   932  		err = ntfs_get_frame_pages(mapping, frame_vbo >> PAGE_SHIFT,
4342306f0f0d5f Konstantin Komarov 2021-08-13   933  					   pages, pages_per_frame,
4342306f0f0d5f Konstantin Komarov 2021-08-13   934  					   &frame_uptodate);
4342306f0f0d5f Konstantin Komarov 2021-08-13   935  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   936  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   937  
4342306f0f0d5f Konstantin Komarov 2021-08-13   938  		if (!frame_uptodate && off) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   939  			err = ni_read_frame(ni, frame_vbo, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13   940  					    pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13   941  			if (err) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   942  				for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   943  					page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13   944  					unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   945  					put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   946  				}
4342306f0f0d5f Konstantin Komarov 2021-08-13   947  				goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   948  			}
4342306f0f0d5f Konstantin Komarov 2021-08-13   949  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   950  
4342306f0f0d5f Konstantin Komarov 2021-08-13   951  		ip = off >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   952  		off = offset_in_page(valid);
4342306f0f0d5f Konstantin Komarov 2021-08-13   953  		for (; ip < pages_per_frame; ip++, off = 0) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   954  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13   955  			zero_user_segment(page, off, PAGE_SIZE);
4342306f0f0d5f Konstantin Komarov 2021-08-13   956  			flush_dcache_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   957  			SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   958  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   959  
4342306f0f0d5f Konstantin Komarov 2021-08-13   960  		ni_lock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13   961  		err = ni_write_frame(ni, pages, pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13   962  		ni_unlock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13   963  
4342306f0f0d5f Konstantin Komarov 2021-08-13   964  		for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   965  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13   966  			SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   967  			unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   968  			put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13   969  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   970  
4342306f0f0d5f Konstantin Komarov 2021-08-13   971  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   972  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   973  
4342306f0f0d5f Konstantin Komarov 2021-08-13   974  		ni->i_valid = valid = frame_vbo + frame_size;
4342306f0f0d5f Konstantin Komarov 2021-08-13   975  	}
4342306f0f0d5f Konstantin Komarov 2021-08-13   976  
e8b8e97f91b80f Kari Argillander   2021-08-03   977  	/* Copy user data [pos : pos + count). */
4342306f0f0d5f Konstantin Komarov 2021-08-13   978  	while (count) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   979  		size_t copied, bytes;
4342306f0f0d5f Konstantin Komarov 2021-08-13   980  
4342306f0f0d5f Konstantin Komarov 2021-08-13   981  		off = pos & (frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   982  		bytes = frame_size - off;
4342306f0f0d5f Konstantin Komarov 2021-08-13   983  		if (bytes > count)
4342306f0f0d5f Konstantin Komarov 2021-08-13   984  			bytes = count;
4342306f0f0d5f Konstantin Komarov 2021-08-13   985  
4342306f0f0d5f Konstantin Komarov 2021-08-13   986  		frame = pos >> frame_bits;
4342306f0f0d5f Konstantin Komarov 2021-08-13   987  		frame_vbo = pos & ~(frame_size - 1);
4342306f0f0d5f Konstantin Komarov 2021-08-13   988  		index = frame_vbo >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   989  
4342306f0f0d5f Konstantin Komarov 2021-08-13  @990  		if (unlikely(iov_iter_fault_in_readable(from, bytes))) {
4342306f0f0d5f Konstantin Komarov 2021-08-13   991  			err = -EFAULT;
4342306f0f0d5f Konstantin Komarov 2021-08-13   992  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13   993  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13   994  
e8b8e97f91b80f Kari Argillander   2021-08-03   995  		/* Load full frame. */
4342306f0f0d5f Konstantin Komarov 2021-08-13   996  		err = ntfs_get_frame_pages(mapping, index, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13   997  					   pages_per_frame, &frame_uptodate);
4342306f0f0d5f Konstantin Komarov 2021-08-13   998  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13   999  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1000  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1001  		if (!frame_uptodate) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1002  			loff_t to = pos + bytes;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1003  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1004  			if (off || (to < i_size && (to & (frame_size - 1)))) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1005  				err = ni_read_frame(ni, frame_vbo, pages,
4342306f0f0d5f Konstantin Komarov 2021-08-13  1006  						    pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1007  				if (err) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1008  					for (ip = 0; ip < pages_per_frame;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1009  					     ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1010  						page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13  1011  						unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1012  						put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1013  					}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1014  					goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1015  				}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1016  			}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1017  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1018  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1019  		WARN_ON(!bytes);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1020  		copied = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1021  		ip = off >> PAGE_SHIFT;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1022  		off = offset_in_page(pos);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1023  
e8b8e97f91b80f Kari Argillander   2021-08-03  1024  		/* Copy user data to pages. */
4342306f0f0d5f Konstantin Komarov 2021-08-13  1025  		for (;;) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1026  			size_t cp, tail = PAGE_SIZE - off;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1027  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1028  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13  1029  			cp = copy_page_from_iter_atomic(page, off,
4342306f0f0d5f Konstantin Komarov 2021-08-13  1030  							min(tail, bytes), from);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1031  			flush_dcache_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1032  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1033  			copied += cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1034  			bytes -= cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1035  			if (!bytes || !cp)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1036  				break;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1037  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1038  			if (cp < tail) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1039  				off += cp;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1040  			} else {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1041  				ip++;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1042  				off = 0;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1043  			}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1044  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1045  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1046  		ni_lock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1047  		err = ni_write_frame(ni, pages, pages_per_frame);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1048  		ni_unlock(ni);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1049  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1050  		for (ip = 0; ip < pages_per_frame; ip++) {
4342306f0f0d5f Konstantin Komarov 2021-08-13  1051  			page = pages[ip];
4342306f0f0d5f Konstantin Komarov 2021-08-13  1052  			ClearPageDirty(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1053  			SetPageUptodate(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1054  			unlock_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1055  			put_page(page);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1056  		}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1057  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1058  		if (err)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1059  			goto out;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1060  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1061  		/*
4342306f0f0d5f Konstantin Komarov 2021-08-13  1062  		 * We can loop for a long time in here. Be nice and allow
4342306f0f0d5f Konstantin Komarov 2021-08-13  1063  		 * us to schedule out to avoid softlocking if preempt
4342306f0f0d5f Konstantin Komarov 2021-08-13  1064  		 * is disabled.
4342306f0f0d5f Konstantin Komarov 2021-08-13  1065  		 */
4342306f0f0d5f Konstantin Komarov 2021-08-13  1066  		cond_resched();
4342306f0f0d5f Konstantin Komarov 2021-08-13  1067  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1068  		pos += copied;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1069  		written += copied;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1070  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1071  		count = iov_iter_count(from);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1072  	}
4342306f0f0d5f Konstantin Komarov 2021-08-13  1073  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1074  out:
195c52bdd5d5ec Kari Argillander   2021-08-24  1075  	kfree(pages);
4342306f0f0d5f Konstantin Komarov 2021-08-13  1076  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1077  	current->backing_dev_info = NULL;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1078  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1079  	if (err < 0)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1080  		return err;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1081  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1082  	iocb->ki_pos += written;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1083  	if (iocb->ki_pos > ni->i_valid)
4342306f0f0d5f Konstantin Komarov 2021-08-13  1084  		ni->i_valid = iocb->ki_pos;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1085  
4342306f0f0d5f Konstantin Komarov 2021-08-13  1086  	return written;
4342306f0f0d5f Konstantin Komarov 2021-08-13  1087  }
4342306f0f0d5f Konstantin Komarov 2021-08-13  1088  

:::::: The code at line 990 was first introduced by commit
:::::: 4342306f0f0d5ff4315a204d315c1b51b914fca5 fs/ntfs3: Add file operations and implementation

:::::: TO: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
:::::: CC: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>

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

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

             reply	other threads:[~2021-10-13 21:48 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-13 21:48 kernel test robot [this message]
2021-10-13 21:48 ` [gfs2:for-next 4/38] fs/ntfs3/file.c:990:30: error: implicit declaration of function 'iov_iter_fault_in_readable'; did you mean 'fault_in_readable'? kernel test robot
2021-10-13 21:48 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202110140509.ibrcGepZ-lkp@intel.com \
    --to=lkp@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.