All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Jan Kara <jack@suse.cz>
Cc: kbuild-all@01.org, linux-mm@kvack.org,
	Hugh Dickins <hughd@google.com>,
	David Howells <dhowells@redhat.com>,
	linux-afs@lists.infradead.org,
	Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>,
	linux-nilfs@vger.kernel.org, Bob Peterson <rpeterso@redhat.com>,
	cluster-devel@redhat.com, Jaegeuk Kim <jaegeuk@kernel.org>,
	linux-f2fs-devel@lists.sourceforge.net, tytso@mit.edu,
	linux-ext4@vger.kernel.org, Ilya Dryomov <idryomov@gmail.com>,
	"Yan, Zheng" <zyan@redhat.com>,
	ceph-devel@vger.kernel.org, linux-btrfs@vger.kernel.org,
	David Sterba <dsterba@suse.com>,
	"Darrick J . Wong" <darrick.wong@oracle.com>,
	linux-xfs@vger.kernel.org,
	Nadia Yvette Chambers <nyc@holomorphy.com>,
	Jan Kara <jack@suse.cz>
Subject: Re: [PATCH 31/35] shmem: Convert to pagevec_lookup_entries_range()
Date: Thu, 1 Jun 2017 21:55:53 +0800	[thread overview]
Message-ID: <201706012117.s7Eqr6kf%fengguang.wu@intel.com> (raw)
In-Reply-To: <20170601093245.29238-32-jack@suse.cz>

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

Hi Jan,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.12-rc3]
[cannot apply to next-20170601]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jan-Kara/pagevec-API-cleanups/20170601-200653
config: i386-randconfig-x078-06010927 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   Cyclomatic Complexity 1 include/linux/huge_mm.h:split_huge_page
   Cyclomatic Complexity 1 include/linux/radix-tree.h:radix_tree_insert
   Cyclomatic Complexity 10 mm/shmem.c:shmem_add_to_page_cache
   Cyclomatic Complexity 2 include/linux/highmem.h:clear_highpage
   Cyclomatic Complexity 1 mm/shmem.c:shmem_confirm_swap
   Cyclomatic Complexity 2 include/linux/mm.h:put_page
   Cyclomatic Complexity 7 mm/shmem.c:shmem_write_end
   Cyclomatic Complexity 4 mm/shmem.c:shmem_replace_page
   Cyclomatic Complexity 13 mm/shmem.c:shmem_unused_huge_shrink
   Cyclomatic Complexity 69 mm/shmem.c:shmem_getpage_gfp
   Cyclomatic Complexity 2 mm/shmem.c:shmem_unused_huge_scan
   Cyclomatic Complexity 1 mm/shmem.c:shmem_put_link
   Cyclomatic Complexity 11 mm/shmem.c:shmem_fault
   Cyclomatic Complexity 1 mm/shmem.c:synchronous_wake_function
   Cyclomatic Complexity 1 include/linux/sched.h:cond_resched_rcu
   Cyclomatic Complexity 5 mm/shmem.c:find_swap_entry
   Cyclomatic Complexity 2 include/linux/pagemap.h:linear_page_index
   Cyclomatic Complexity 2 include/linux/pagevec.h:pagevec_release
   Cyclomatic Complexity 1 include/linux/pagevec.h:pagevec_lookup
   Cyclomatic Complexity 2 include/linux/pagemap.h:page_to_pgoff
   Cyclomatic Complexity 2 mm/shmem.c:shmem_free_swap
   Cyclomatic Complexity 8 mm/shmem.c:shmem_unuse_inode
   Cyclomatic Complexity 1 include/linux/fs.h:inode_lock
   Cyclomatic Complexity 1 include/linux/fs.h:inode_unlock
   Cyclomatic Complexity 2 include/linux/fs.h:file_accessed
   Cyclomatic Complexity 7 include/linux/khugepaged.h:khugepaged_enter
   Cyclomatic Complexity 2 mm/shmem.c:shmem_mmap
   Cyclomatic Complexity 12 mm/shmem.c:shmem_seek_hole_data
   Cyclomatic Complexity 8 mm/shmem.c:shmem_file_llseek
   Cyclomatic Complexity 2 include/linux/uaccess.h:copy_user_overflow
   Cyclomatic Complexity 2 include/linux/mm.h:page_mapcount
   Cyclomatic Complexity 8 mm/shmem.c:shmem_tag_pins
   Cyclomatic Complexity 13 mm/shmem.c:shmem_wait_for_pins
   Cyclomatic Complexity 2 include/linux/xattr.h:simple_xattrs_free
   Cyclomatic Complexity 1 include/linux/xattr.h:simple_xattrs_init
   Cyclomatic Complexity 7 mm/shmem.c:shmem_show_options
   Cyclomatic Complexity 1 include/linux/percpu_counter.h:percpu_counter_sum
   Cyclomatic Complexity 3 mm/shmem.c:shmem_statfs
   Cyclomatic Complexity 2 mm/shmem.c:shmem_destroy_inode
   Cyclomatic Complexity 2 mm/shmem.c:shmem_destroy_callback
   Cyclomatic Complexity 2 mm/shmem.c:shmem_alloc_inode
   Cyclomatic Complexity 3 mm/shmem.c:shmem_fh_to_dentry
   Cyclomatic Complexity 4 mm/shmem.c:shmem_encode_fh
   Cyclomatic Complexity 7 mm/shmem.c:shmem_parse_huge
   Cyclomatic Complexity 8 mm/shmem.c:shmem_enabled_store
   Cyclomatic Complexity 94 mm/shmem.c:shmem_parse_options
   Cyclomatic Complexity 9 mm/shmem.c:shmem_remount_fs
   Cyclomatic Complexity 6 mm/shmem.c:shmem_get_inode
   Cyclomatic Complexity 4 mm/shmem.c:shmem_tmpfile
   Cyclomatic Complexity 3 mm/shmem.c:shmem_exchange
   Cyclomatic Complexity 3 mm/shmem.c:shmem_unlink
   Cyclomatic Complexity 2 mm/shmem.c:shmem_rmdir
   Cyclomatic Complexity 2 include/linux/dcache.h:dget
   Cyclomatic Complexity 4 mm/shmem.c:shmem_mknod
   Cyclomatic Complexity 3 mm/shmem.c:shmem_whiteout
   Cyclomatic Complexity 9 mm/shmem.c:shmem_rename2
   Cyclomatic Complexity 2 mm/shmem.c:shmem_mkdir
   Cyclomatic Complexity 1 mm/shmem.c:shmem_create
   Cyclomatic Complexity 2 mm/shmem.c:shmem_link
   Cyclomatic Complexity 2 mm/shmem.c:shmem_getattr
   Cyclomatic Complexity 1 mm/shmem.c:shmem_put_super
   Cyclomatic Complexity 7 mm/shmem.c:shmem_fill_super
   Cyclomatic Complexity 1 mm/shmem.c:shmem_mount
   Cyclomatic Complexity 1 mm/shmem.c:shmem_init_inodecache
   Cyclomatic Complexity 1 mm/shmem.c:shmem_init_inode
   Cyclomatic Complexity 1 mm/shmem.c:shmem_destroy_inodecache
   Cyclomatic Complexity 3 mm/shmem.c:shmem_enabled_show
   Cyclomatic Complexity 8 mm/shmem.c:__shmem_file_setup
   Cyclomatic Complexity 1 mm/shmem.c:shmem_getpage
   Cyclomatic Complexity 5 mm/shmem.c:shmem_write_begin
   Cyclomatic Complexity 36 mm/shmem.c:shmem_undo_range
   Cyclomatic Complexity 17 mm/shmem.c:shmem_file_read_iter
   Cyclomatic Complexity 8 mm/shmem.c:shmem_symlink
   Cyclomatic Complexity 5 mm/shmem.c:shmem_get_link
   Cyclomatic Complexity 1 mm/shmem.c:vma_is_shmem
   Cyclomatic Complexity 4 mm/shmem.c:shmem_charge
   Cyclomatic Complexity 2 mm/shmem.c:shmem_uncharge
   Cyclomatic Complexity 7 mm/shmem.c:shmem_partial_swap_usage
   Cyclomatic Complexity 4 mm/shmem.c:shmem_swap_usage
   Cyclomatic Complexity 3 mm/shmem.c:shmem_unlock_mapping
   Cyclomatic Complexity 1 mm/shmem.c:shmem_truncate_range
   Cyclomatic Complexity 19 mm/shmem.c:shmem_fallocate
   Cyclomatic Complexity 6 mm/shmem.c:shmem_evict_inode
   Cyclomatic Complexity 16 mm/shmem.c:shmem_setattr
   Cyclomatic Complexity 9 mm/shmem.c:shmem_unuse
   Cyclomatic Complexity 7 mm/shmem.c:shmem_lock
   Cyclomatic Complexity 1 mm/shmem.c:shmem_mapping
   Cyclomatic Complexity 16 mm/shmem.c:shmem_mcopy_atomic_pte
   Cyclomatic Complexity 9 mm/shmem.c:shmem_add_seals
   Cyclomatic Complexity 2 mm/shmem.c:shmem_get_seals
   Cyclomatic Complexity 3 mm/shmem.c:shmem_fcntl
   Cyclomatic Complexity 7 mm/shmem.c:shmem_init
   Cyclomatic Complexity 8 mm/shmem.c:shmem_huge_enabled
   Cyclomatic Complexity 1 mm/shmem.c:shmem_kernel_file_setup
   Cyclomatic Complexity 1 mm/shmem.c:shmem_file_setup
   Cyclomatic Complexity 11 mm/shmem.c:SYSC_memfd_create
   Cyclomatic Complexity 1 mm/shmem.c:SyS_memfd_create
   Cyclomatic Complexity 4 mm/shmem.c:shmem_zero_setup
   Cyclomatic Complexity 2 mm/shmem.c:shmem_read_mapping_page_gfp
   mm/shmem.c: In function 'shmem_seek_hole_data':
>> mm/shmem.c:2522:9: warning: 'last' may be used uninitialized in this function [-Wmaybe-uninitialized]
     return last;
            ^~~~

vim +/last +2522 mm/shmem.c

220f2ac9 Hugh Dickins    2012-12-12  2506  			page = pvec.pages[i];
220f2ac9 Hugh Dickins    2012-12-12  2507  			if (page && !radix_tree_exceptional_entry(page)) {
220f2ac9 Hugh Dickins    2012-12-12  2508  				if (!PageUptodate(page))
220f2ac9 Hugh Dickins    2012-12-12  2509  					page = NULL;
220f2ac9 Hugh Dickins    2012-12-12  2510  			}
eb675e81 Jan Kara        2017-06-01  2511  			if ((page && whence == SEEK_DATA) ||
965c8e59 Andrew Morton   2012-12-17  2512  			    (!page && whence == SEEK_HOLE)) {
220f2ac9 Hugh Dickins    2012-12-12  2513  				done = true;
220f2ac9 Hugh Dickins    2012-12-12  2514  				break;
220f2ac9 Hugh Dickins    2012-12-12  2515  			}
220f2ac9 Hugh Dickins    2012-12-12  2516  		}
0cd6144a Johannes Weiner 2014-04-03  2517  		pagevec_remove_exceptionals(&pvec);
220f2ac9 Hugh Dickins    2012-12-12  2518  		pagevec_release(&pvec);
220f2ac9 Hugh Dickins    2012-12-12  2519  		pvec.nr = PAGEVEC_SIZE;
220f2ac9 Hugh Dickins    2012-12-12  2520  		cond_resched();
220f2ac9 Hugh Dickins    2012-12-12  2521  	}
1d162ad5 Jan Kara        2017-06-01 @2522  	return last;
220f2ac9 Hugh Dickins    2012-12-12  2523  }
220f2ac9 Hugh Dickins    2012-12-12  2524  
965c8e59 Andrew Morton   2012-12-17  2525  static loff_t shmem_file_llseek(struct file *file, loff_t offset, int whence)
220f2ac9 Hugh Dickins    2012-12-12  2526  {
220f2ac9 Hugh Dickins    2012-12-12  2527  	struct address_space *mapping = file->f_mapping;
220f2ac9 Hugh Dickins    2012-12-12  2528  	struct inode *inode = mapping->host;
220f2ac9 Hugh Dickins    2012-12-12  2529  	pgoff_t start, end;
220f2ac9 Hugh Dickins    2012-12-12  2530  	loff_t new_offset;

:::::: The code at line 2522 was first introduced by commit
:::::: 1d162ad5252576fa97d38e96e6e09fd9165f5d6b mm: Make pagevec_lookup_entries() update index

:::::: TO: Jan Kara <jack@suse.cz>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: Jan Kara <jack@suse.cz>
Cc: kbuild-all@01.org, linux-mm@kvack.org,
	Hugh Dickins <hughd@google.com>,
	David Howells <dhowells@redhat.com>,
	linux-afs@lists.infradead.org,
	Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>,
	linux-nilfs@vger.kernel.org, Bob Peterson <rpeterso@redhat.com>,
	cluster-devel@redhat.com, Jaegeuk Kim <jaegeuk@kernel.org>,
	linux-f2fs-devel@lists.sourceforge.net, tytso@mit.edu,
	linux-ext4@vger.kernel.org, Ilya Dryomov <idryomov@gmail.com>,
	"Yan, Zheng" <zyan@redhat.com>,
	ceph-devel@vger.kernel.org, linux-btrfs@vger.kernel.org,
	David Sterba <dsterba@suse.com>,
	"Darrick J . Wong" <darrick.wong@oracle.com>,
	linux-xfs@vger.kernel.org,
	Nadia Yvette Chambers <nyc@holomorphy.com>
Subject: Re: [PATCH 31/35] shmem: Convert to pagevec_lookup_entries_range()
Date: Thu, 1 Jun 2017 21:55:53 +0800	[thread overview]
Message-ID: <201706012117.s7Eqr6kf%fengguang.wu@intel.com> (raw)
In-Reply-To: <20170601093245.29238-32-jack@suse.cz>

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

Hi Jan,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.12-rc3]
[cannot apply to next-20170601]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jan-Kara/pagevec-API-cleanups/20170601-200653
config: i386-randconfig-x078-06010927 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   Cyclomatic Complexity 1 include/linux/huge_mm.h:split_huge_page
   Cyclomatic Complexity 1 include/linux/radix-tree.h:radix_tree_insert
   Cyclomatic Complexity 10 mm/shmem.c:shmem_add_to_page_cache
   Cyclomatic Complexity 2 include/linux/highmem.h:clear_highpage
   Cyclomatic Complexity 1 mm/shmem.c:shmem_confirm_swap
   Cyclomatic Complexity 2 include/linux/mm.h:put_page
   Cyclomatic Complexity 7 mm/shmem.c:shmem_write_end
   Cyclomatic Complexity 4 mm/shmem.c:shmem_replace_page
   Cyclomatic Complexity 13 mm/shmem.c:shmem_unused_huge_shrink
   Cyclomatic Complexity 69 mm/shmem.c:shmem_getpage_gfp
   Cyclomatic Complexity 2 mm/shmem.c:shmem_unused_huge_scan
   Cyclomatic Complexity 1 mm/shmem.c:shmem_put_link
   Cyclomatic Complexity 11 mm/shmem.c:shmem_fault
   Cyclomatic Complexity 1 mm/shmem.c:synchronous_wake_function
   Cyclomatic Complexity 1 include/linux/sched.h:cond_resched_rcu
   Cyclomatic Complexity 5 mm/shmem.c:find_swap_entry
   Cyclomatic Complexity 2 include/linux/pagemap.h:linear_page_index
   Cyclomatic Complexity 2 include/linux/pagevec.h:pagevec_release
   Cyclomatic Complexity 1 include/linux/pagevec.h:pagevec_lookup
   Cyclomatic Complexity 2 include/linux/pagemap.h:page_to_pgoff
   Cyclomatic Complexity 2 mm/shmem.c:shmem_free_swap
   Cyclomatic Complexity 8 mm/shmem.c:shmem_unuse_inode
   Cyclomatic Complexity 1 include/linux/fs.h:inode_lock
   Cyclomatic Complexity 1 include/linux/fs.h:inode_unlock
   Cyclomatic Complexity 2 include/linux/fs.h:file_accessed
   Cyclomatic Complexity 7 include/linux/khugepaged.h:khugepaged_enter
   Cyclomatic Complexity 2 mm/shmem.c:shmem_mmap
   Cyclomatic Complexity 12 mm/shmem.c:shmem_seek_hole_data
   Cyclomatic Complexity 8 mm/shmem.c:shmem_file_llseek
   Cyclomatic Complexity 2 include/linux/uaccess.h:copy_user_overflow
   Cyclomatic Complexity 2 include/linux/mm.h:page_mapcount
   Cyclomatic Complexity 8 mm/shmem.c:shmem_tag_pins
   Cyclomatic Complexity 13 mm/shmem.c:shmem_wait_for_pins
   Cyclomatic Complexity 2 include/linux/xattr.h:simple_xattrs_free
   Cyclomatic Complexity 1 include/linux/xattr.h:simple_xattrs_init
   Cyclomatic Complexity 7 mm/shmem.c:shmem_show_options
   Cyclomatic Complexity 1 include/linux/percpu_counter.h:percpu_counter_sum
   Cyclomatic Complexity 3 mm/shmem.c:shmem_statfs
   Cyclomatic Complexity 2 mm/shmem.c:shmem_destroy_inode
   Cyclomatic Complexity 2 mm/shmem.c:shmem_destroy_callback
   Cyclomatic Complexity 2 mm/shmem.c:shmem_alloc_inode
   Cyclomatic Complexity 3 mm/shmem.c:shmem_fh_to_dentry
   Cyclomatic Complexity 4 mm/shmem.c:shmem_encode_fh
   Cyclomatic Complexity 7 mm/shmem.c:shmem_parse_huge
   Cyclomatic Complexity 8 mm/shmem.c:shmem_enabled_store
   Cyclomatic Complexity 94 mm/shmem.c:shmem_parse_options
   Cyclomatic Complexity 9 mm/shmem.c:shmem_remount_fs
   Cyclomatic Complexity 6 mm/shmem.c:shmem_get_inode
   Cyclomatic Complexity 4 mm/shmem.c:shmem_tmpfile
   Cyclomatic Complexity 3 mm/shmem.c:shmem_exchange
   Cyclomatic Complexity 3 mm/shmem.c:shmem_unlink
   Cyclomatic Complexity 2 mm/shmem.c:shmem_rmdir
   Cyclomatic Complexity 2 include/linux/dcache.h:dget
   Cyclomatic Complexity 4 mm/shmem.c:shmem_mknod
   Cyclomatic Complexity 3 mm/shmem.c:shmem_whiteout
   Cyclomatic Complexity 9 mm/shmem.c:shmem_rename2
   Cyclomatic Complexity 2 mm/shmem.c:shmem_mkdir
   Cyclomatic Complexity 1 mm/shmem.c:shmem_create
   Cyclomatic Complexity 2 mm/shmem.c:shmem_link
   Cyclomatic Complexity 2 mm/shmem.c:shmem_getattr
   Cyclomatic Complexity 1 mm/shmem.c:shmem_put_super
   Cyclomatic Complexity 7 mm/shmem.c:shmem_fill_super
   Cyclomatic Complexity 1 mm/shmem.c:shmem_mount
   Cyclomatic Complexity 1 mm/shmem.c:shmem_init_inodecache
   Cyclomatic Complexity 1 mm/shmem.c:shmem_init_inode
   Cyclomatic Complexity 1 mm/shmem.c:shmem_destroy_inodecache
   Cyclomatic Complexity 3 mm/shmem.c:shmem_enabled_show
   Cyclomatic Complexity 8 mm/shmem.c:__shmem_file_setup
   Cyclomatic Complexity 1 mm/shmem.c:shmem_getpage
   Cyclomatic Complexity 5 mm/shmem.c:shmem_write_begin
   Cyclomatic Complexity 36 mm/shmem.c:shmem_undo_range
   Cyclomatic Complexity 17 mm/shmem.c:shmem_file_read_iter
   Cyclomatic Complexity 8 mm/shmem.c:shmem_symlink
   Cyclomatic Complexity 5 mm/shmem.c:shmem_get_link
   Cyclomatic Complexity 1 mm/shmem.c:vma_is_shmem
   Cyclomatic Complexity 4 mm/shmem.c:shmem_charge
   Cyclomatic Complexity 2 mm/shmem.c:shmem_uncharge
   Cyclomatic Complexity 7 mm/shmem.c:shmem_partial_swap_usage
   Cyclomatic Complexity 4 mm/shmem.c:shmem_swap_usage
   Cyclomatic Complexity 3 mm/shmem.c:shmem_unlock_mapping
   Cyclomatic Complexity 1 mm/shmem.c:shmem_truncate_range
   Cyclomatic Complexity 19 mm/shmem.c:shmem_fallocate
   Cyclomatic Complexity 6 mm/shmem.c:shmem_evict_inode
   Cyclomatic Complexity 16 mm/shmem.c:shmem_setattr
   Cyclomatic Complexity 9 mm/shmem.c:shmem_unuse
   Cyclomatic Complexity 7 mm/shmem.c:shmem_lock
   Cyclomatic Complexity 1 mm/shmem.c:shmem_mapping
   Cyclomatic Complexity 16 mm/shmem.c:shmem_mcopy_atomic_pte
   Cyclomatic Complexity 9 mm/shmem.c:shmem_add_seals
   Cyclomatic Complexity 2 mm/shmem.c:shmem_get_seals
   Cyclomatic Complexity 3 mm/shmem.c:shmem_fcntl
   Cyclomatic Complexity 7 mm/shmem.c:shmem_init
   Cyclomatic Complexity 8 mm/shmem.c:shmem_huge_enabled
   Cyclomatic Complexity 1 mm/shmem.c:shmem_kernel_file_setup
   Cyclomatic Complexity 1 mm/shmem.c:shmem_file_setup
   Cyclomatic Complexity 11 mm/shmem.c:SYSC_memfd_create
   Cyclomatic Complexity 1 mm/shmem.c:SyS_memfd_create
   Cyclomatic Complexity 4 mm/shmem.c:shmem_zero_setup
   Cyclomatic Complexity 2 mm/shmem.c:shmem_read_mapping_page_gfp
   mm/shmem.c: In function 'shmem_seek_hole_data':
>> mm/shmem.c:2522:9: warning: 'last' may be used uninitialized in this function [-Wmaybe-uninitialized]
     return last;
            ^~~~

vim +/last +2522 mm/shmem.c

220f2ac9 Hugh Dickins    2012-12-12  2506  			page = pvec.pages[i];
220f2ac9 Hugh Dickins    2012-12-12  2507  			if (page && !radix_tree_exceptional_entry(page)) {
220f2ac9 Hugh Dickins    2012-12-12  2508  				if (!PageUptodate(page))
220f2ac9 Hugh Dickins    2012-12-12  2509  					page = NULL;
220f2ac9 Hugh Dickins    2012-12-12  2510  			}
eb675e81 Jan Kara        2017-06-01  2511  			if ((page && whence == SEEK_DATA) ||
965c8e59 Andrew Morton   2012-12-17  2512  			    (!page && whence == SEEK_HOLE)) {
220f2ac9 Hugh Dickins    2012-12-12  2513  				done = true;
220f2ac9 Hugh Dickins    2012-12-12  2514  				break;
220f2ac9 Hugh Dickins    2012-12-12  2515  			}
220f2ac9 Hugh Dickins    2012-12-12  2516  		}
0cd6144a Johannes Weiner 2014-04-03  2517  		pagevec_remove_exceptionals(&pvec);
220f2ac9 Hugh Dickins    2012-12-12  2518  		pagevec_release(&pvec);
220f2ac9 Hugh Dickins    2012-12-12  2519  		pvec.nr = PAGEVEC_SIZE;
220f2ac9 Hugh Dickins    2012-12-12  2520  		cond_resched();
220f2ac9 Hugh Dickins    2012-12-12  2521  	}
1d162ad5 Jan Kara        2017-06-01 @2522  	return last;
220f2ac9 Hugh Dickins    2012-12-12  2523  }
220f2ac9 Hugh Dickins    2012-12-12  2524  
965c8e59 Andrew Morton   2012-12-17  2525  static loff_t shmem_file_llseek(struct file *file, loff_t offset, int whence)
220f2ac9 Hugh Dickins    2012-12-12  2526  {
220f2ac9 Hugh Dickins    2012-12-12  2527  	struct address_space *mapping = file->f_mapping;
220f2ac9 Hugh Dickins    2012-12-12  2528  	struct inode *inode = mapping->host;
220f2ac9 Hugh Dickins    2012-12-12  2529  	pgoff_t start, end;
220f2ac9 Hugh Dickins    2012-12-12  2530  	loff_t new_offset;

:::::: The code at line 2522 was first introduced by commit
:::::: 1d162ad5252576fa97d38e96e6e09fd9165f5d6b mm: Make pagevec_lookup_entries() update index

:::::: TO: Jan Kara <jack@suse.cz>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, linux-mm@kvack.org,
	Hugh Dickins <hughd@google.com>,
	David Howells <dhowells@redhat.com>,
	linux-afs@lists.infradead.org,
	Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>,
	linux-nilfs@vger.kernel.org, Bob Peterson <rpeterso@redhat.com>,
	cluster-devel@redhat.com, Jaegeuk Kim <jaegeuk@kernel.org>,
	linux-f2fs-devel@lists.sourceforge.net, tytso@mit.edu,
	linux-ext4@vger.kernel.org, Ilya Dryomov <idryomov@gmail.com>,
	"Yan, Zheng" <zyan@redhat.com>,
	ceph-devel@vger.kernel.org, linux-btrfs@vger.kernel.org,
	David Sterba <dsterba@suse.com>,
	"Darrick J . Wong" <darrick.wong@oracle.com>,
	linux-xfs@vger.kernel.org,
	Nadia Yvette Chambers <nyc@holomorphy.com>,
	Jan Kara <jack@suse.cz>
Subject: Re: [PATCH 31/35] shmem: Convert to pagevec_lookup_entries_range()
Date: Thu, 1 Jun 2017 21:55:53 +0800	[thread overview]
Message-ID: <201706012117.s7Eqr6kf%fengguang.wu@intel.com> (raw)
In-Reply-To: <20170601093245.29238-32-jack@suse.cz>

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

Hi Jan,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.12-rc3]
[cannot apply to next-20170601]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jan-Kara/pagevec-API-cleanups/20170601-200653
config: i386-randconfig-x078-06010927 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   Cyclomatic Complexity 1 include/linux/huge_mm.h:split_huge_page
   Cyclomatic Complexity 1 include/linux/radix-tree.h:radix_tree_insert
   Cyclomatic Complexity 10 mm/shmem.c:shmem_add_to_page_cache
   Cyclomatic Complexity 2 include/linux/highmem.h:clear_highpage
   Cyclomatic Complexity 1 mm/shmem.c:shmem_confirm_swap
   Cyclomatic Complexity 2 include/linux/mm.h:put_page
   Cyclomatic Complexity 7 mm/shmem.c:shmem_write_end
   Cyclomatic Complexity 4 mm/shmem.c:shmem_replace_page
   Cyclomatic Complexity 13 mm/shmem.c:shmem_unused_huge_shrink
   Cyclomatic Complexity 69 mm/shmem.c:shmem_getpage_gfp
   Cyclomatic Complexity 2 mm/shmem.c:shmem_unused_huge_scan
   Cyclomatic Complexity 1 mm/shmem.c:shmem_put_link
   Cyclomatic Complexity 11 mm/shmem.c:shmem_fault
   Cyclomatic Complexity 1 mm/shmem.c:synchronous_wake_function
   Cyclomatic Complexity 1 include/linux/sched.h:cond_resched_rcu
   Cyclomatic Complexity 5 mm/shmem.c:find_swap_entry
   Cyclomatic Complexity 2 include/linux/pagemap.h:linear_page_index
   Cyclomatic Complexity 2 include/linux/pagevec.h:pagevec_release
   Cyclomatic Complexity 1 include/linux/pagevec.h:pagevec_lookup
   Cyclomatic Complexity 2 include/linux/pagemap.h:page_to_pgoff
   Cyclomatic Complexity 2 mm/shmem.c:shmem_free_swap
   Cyclomatic Complexity 8 mm/shmem.c:shmem_unuse_inode
   Cyclomatic Complexity 1 include/linux/fs.h:inode_lock
   Cyclomatic Complexity 1 include/linux/fs.h:inode_unlock
   Cyclomatic Complexity 2 include/linux/fs.h:file_accessed
   Cyclomatic Complexity 7 include/linux/khugepaged.h:khugepaged_enter
   Cyclomatic Complexity 2 mm/shmem.c:shmem_mmap
   Cyclomatic Complexity 12 mm/shmem.c:shmem_seek_hole_data
   Cyclomatic Complexity 8 mm/shmem.c:shmem_file_llseek
   Cyclomatic Complexity 2 include/linux/uaccess.h:copy_user_overflow
   Cyclomatic Complexity 2 include/linux/mm.h:page_mapcount
   Cyclomatic Complexity 8 mm/shmem.c:shmem_tag_pins
   Cyclomatic Complexity 13 mm/shmem.c:shmem_wait_for_pins
   Cyclomatic Complexity 2 include/linux/xattr.h:simple_xattrs_free
   Cyclomatic Complexity 1 include/linux/xattr.h:simple_xattrs_init
   Cyclomatic Complexity 7 mm/shmem.c:shmem_show_options
   Cyclomatic Complexity 1 include/linux/percpu_counter.h:percpu_counter_sum
   Cyclomatic Complexity 3 mm/shmem.c:shmem_statfs
   Cyclomatic Complexity 2 mm/shmem.c:shmem_destroy_inode
   Cyclomatic Complexity 2 mm/shmem.c:shmem_destroy_callback
   Cyclomatic Complexity 2 mm/shmem.c:shmem_alloc_inode
   Cyclomatic Complexity 3 mm/shmem.c:shmem_fh_to_dentry
   Cyclomatic Complexity 4 mm/shmem.c:shmem_encode_fh
   Cyclomatic Complexity 7 mm/shmem.c:shmem_parse_huge
   Cyclomatic Complexity 8 mm/shmem.c:shmem_enabled_store
   Cyclomatic Complexity 94 mm/shmem.c:shmem_parse_options
   Cyclomatic Complexity 9 mm/shmem.c:shmem_remount_fs
   Cyclomatic Complexity 6 mm/shmem.c:shmem_get_inode
   Cyclomatic Complexity 4 mm/shmem.c:shmem_tmpfile
   Cyclomatic Complexity 3 mm/shmem.c:shmem_exchange
   Cyclomatic Complexity 3 mm/shmem.c:shmem_unlink
   Cyclomatic Complexity 2 mm/shmem.c:shmem_rmdir
   Cyclomatic Complexity 2 include/linux/dcache.h:dget
   Cyclomatic Complexity 4 mm/shmem.c:shmem_mknod
   Cyclomatic Complexity 3 mm/shmem.c:shmem_whiteout
   Cyclomatic Complexity 9 mm/shmem.c:shmem_rename2
   Cyclomatic Complexity 2 mm/shmem.c:shmem_mkdir
   Cyclomatic Complexity 1 mm/shmem.c:shmem_create
   Cyclomatic Complexity 2 mm/shmem.c:shmem_link
   Cyclomatic Complexity 2 mm/shmem.c:shmem_getattr
   Cyclomatic Complexity 1 mm/shmem.c:shmem_put_super
   Cyclomatic Complexity 7 mm/shmem.c:shmem_fill_super
   Cyclomatic Complexity 1 mm/shmem.c:shmem_mount
   Cyclomatic Complexity 1 mm/shmem.c:shmem_init_inodecache
   Cyclomatic Complexity 1 mm/shmem.c:shmem_init_inode
   Cyclomatic Complexity 1 mm/shmem.c:shmem_destroy_inodecache
   Cyclomatic Complexity 3 mm/shmem.c:shmem_enabled_show
   Cyclomatic Complexity 8 mm/shmem.c:__shmem_file_setup
   Cyclomatic Complexity 1 mm/shmem.c:shmem_getpage
   Cyclomatic Complexity 5 mm/shmem.c:shmem_write_begin
   Cyclomatic Complexity 36 mm/shmem.c:shmem_undo_range
   Cyclomatic Complexity 17 mm/shmem.c:shmem_file_read_iter
   Cyclomatic Complexity 8 mm/shmem.c:shmem_symlink
   Cyclomatic Complexity 5 mm/shmem.c:shmem_get_link
   Cyclomatic Complexity 1 mm/shmem.c:vma_is_shmem
   Cyclomatic Complexity 4 mm/shmem.c:shmem_charge
   Cyclomatic Complexity 2 mm/shmem.c:shmem_uncharge
   Cyclomatic Complexity 7 mm/shmem.c:shmem_partial_swap_usage
   Cyclomatic Complexity 4 mm/shmem.c:shmem_swap_usage
   Cyclomatic Complexity 3 mm/shmem.c:shmem_unlock_mapping
   Cyclomatic Complexity 1 mm/shmem.c:shmem_truncate_range
   Cyclomatic Complexity 19 mm/shmem.c:shmem_fallocate
   Cyclomatic Complexity 6 mm/shmem.c:shmem_evict_inode
   Cyclomatic Complexity 16 mm/shmem.c:shmem_setattr
   Cyclomatic Complexity 9 mm/shmem.c:shmem_unuse
   Cyclomatic Complexity 7 mm/shmem.c:shmem_lock
   Cyclomatic Complexity 1 mm/shmem.c:shmem_mapping
   Cyclomatic Complexity 16 mm/shmem.c:shmem_mcopy_atomic_pte
   Cyclomatic Complexity 9 mm/shmem.c:shmem_add_seals
   Cyclomatic Complexity 2 mm/shmem.c:shmem_get_seals
   Cyclomatic Complexity 3 mm/shmem.c:shmem_fcntl
   Cyclomatic Complexity 7 mm/shmem.c:shmem_init
   Cyclomatic Complexity 8 mm/shmem.c:shmem_huge_enabled
   Cyclomatic Complexity 1 mm/shmem.c:shmem_kernel_file_setup
   Cyclomatic Complexity 1 mm/shmem.c:shmem_file_setup
   Cyclomatic Complexity 11 mm/shmem.c:SYSC_memfd_create
   Cyclomatic Complexity 1 mm/shmem.c:SyS_memfd_create
   Cyclomatic Complexity 4 mm/shmem.c:shmem_zero_setup
   Cyclomatic Complexity 2 mm/shmem.c:shmem_read_mapping_page_gfp
   mm/shmem.c: In function 'shmem_seek_hole_data':
>> mm/shmem.c:2522:9: warning: 'last' may be used uninitialized in this function [-Wmaybe-uninitialized]
     return last;
            ^~~~

vim +/last +2522 mm/shmem.c

220f2ac9 Hugh Dickins    2012-12-12  2506  			page = pvec.pages[i];
220f2ac9 Hugh Dickins    2012-12-12  2507  			if (page && !radix_tree_exceptional_entry(page)) {
220f2ac9 Hugh Dickins    2012-12-12  2508  				if (!PageUptodate(page))
220f2ac9 Hugh Dickins    2012-12-12  2509  					page = NULL;
220f2ac9 Hugh Dickins    2012-12-12  2510  			}
eb675e81 Jan Kara        2017-06-01  2511  			if ((page && whence == SEEK_DATA) ||
965c8e59 Andrew Morton   2012-12-17  2512  			    (!page && whence == SEEK_HOLE)) {
220f2ac9 Hugh Dickins    2012-12-12  2513  				done = true;
220f2ac9 Hugh Dickins    2012-12-12  2514  				break;
220f2ac9 Hugh Dickins    2012-12-12  2515  			}
220f2ac9 Hugh Dickins    2012-12-12  2516  		}
0cd6144a Johannes Weiner 2014-04-03  2517  		pagevec_remove_exceptionals(&pvec);
220f2ac9 Hugh Dickins    2012-12-12  2518  		pagevec_release(&pvec);
220f2ac9 Hugh Dickins    2012-12-12  2519  		pvec.nr = PAGEVEC_SIZE;
220f2ac9 Hugh Dickins    2012-12-12  2520  		cond_resched();
220f2ac9 Hugh Dickins    2012-12-12  2521  	}
1d162ad5 Jan Kara        2017-06-01 @2522  	return last;
220f2ac9 Hugh Dickins    2012-12-12  2523  }
220f2ac9 Hugh Dickins    2012-12-12  2524  
965c8e59 Andrew Morton   2012-12-17  2525  static loff_t shmem_file_llseek(struct file *file, loff_t offset, int whence)
220f2ac9 Hugh Dickins    2012-12-12  2526  {
220f2ac9 Hugh Dickins    2012-12-12  2527  	struct address_space *mapping = file->f_mapping;
220f2ac9 Hugh Dickins    2012-12-12  2528  	struct inode *inode = mapping->host;
220f2ac9 Hugh Dickins    2012-12-12  2529  	pgoff_t start, end;
220f2ac9 Hugh Dickins    2012-12-12  2530  	loff_t new_offset;

:::::: The code at line 2522 was first introduced by commit
:::::: 1d162ad5252576fa97d38e96e6e09fd9165f5d6b mm: Make pagevec_lookup_entries() update index

:::::: TO: Jan Kara <jack@suse.cz>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] [PATCH 31/35] shmem: Convert to pagevec_lookup_entries_range()
Date: Thu, 1 Jun 2017 21:55:53 +0800	[thread overview]
Message-ID: <201706012117.s7Eqr6kf%fengguang.wu@intel.com> (raw)
In-Reply-To: <20170601093245.29238-32-jack@suse.cz>

Hi Jan,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.12-rc3]
[cannot apply to next-20170601]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jan-Kara/pagevec-API-cleanups/20170601-200653
config: i386-randconfig-x078-06010927 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   Cyclomatic Complexity 1 include/linux/huge_mm.h:split_huge_page
   Cyclomatic Complexity 1 include/linux/radix-tree.h:radix_tree_insert
   Cyclomatic Complexity 10 mm/shmem.c:shmem_add_to_page_cache
   Cyclomatic Complexity 2 include/linux/highmem.h:clear_highpage
   Cyclomatic Complexity 1 mm/shmem.c:shmem_confirm_swap
   Cyclomatic Complexity 2 include/linux/mm.h:put_page
   Cyclomatic Complexity 7 mm/shmem.c:shmem_write_end
   Cyclomatic Complexity 4 mm/shmem.c:shmem_replace_page
   Cyclomatic Complexity 13 mm/shmem.c:shmem_unused_huge_shrink
   Cyclomatic Complexity 69 mm/shmem.c:shmem_getpage_gfp
   Cyclomatic Complexity 2 mm/shmem.c:shmem_unused_huge_scan
   Cyclomatic Complexity 1 mm/shmem.c:shmem_put_link
   Cyclomatic Complexity 11 mm/shmem.c:shmem_fault
   Cyclomatic Complexity 1 mm/shmem.c:synchronous_wake_function
   Cyclomatic Complexity 1 include/linux/sched.h:cond_resched_rcu
   Cyclomatic Complexity 5 mm/shmem.c:find_swap_entry
   Cyclomatic Complexity 2 include/linux/pagemap.h:linear_page_index
   Cyclomatic Complexity 2 include/linux/pagevec.h:pagevec_release
   Cyclomatic Complexity 1 include/linux/pagevec.h:pagevec_lookup
   Cyclomatic Complexity 2 include/linux/pagemap.h:page_to_pgoff
   Cyclomatic Complexity 2 mm/shmem.c:shmem_free_swap
   Cyclomatic Complexity 8 mm/shmem.c:shmem_unuse_inode
   Cyclomatic Complexity 1 include/linux/fs.h:inode_lock
   Cyclomatic Complexity 1 include/linux/fs.h:inode_unlock
   Cyclomatic Complexity 2 include/linux/fs.h:file_accessed
   Cyclomatic Complexity 7 include/linux/khugepaged.h:khugepaged_enter
   Cyclomatic Complexity 2 mm/shmem.c:shmem_mmap
   Cyclomatic Complexity 12 mm/shmem.c:shmem_seek_hole_data
   Cyclomatic Complexity 8 mm/shmem.c:shmem_file_llseek
   Cyclomatic Complexity 2 include/linux/uaccess.h:copy_user_overflow
   Cyclomatic Complexity 2 include/linux/mm.h:page_mapcount
   Cyclomatic Complexity 8 mm/shmem.c:shmem_tag_pins
   Cyclomatic Complexity 13 mm/shmem.c:shmem_wait_for_pins
   Cyclomatic Complexity 2 include/linux/xattr.h:simple_xattrs_free
   Cyclomatic Complexity 1 include/linux/xattr.h:simple_xattrs_init
   Cyclomatic Complexity 7 mm/shmem.c:shmem_show_options
   Cyclomatic Complexity 1 include/linux/percpu_counter.h:percpu_counter_sum
   Cyclomatic Complexity 3 mm/shmem.c:shmem_statfs
   Cyclomatic Complexity 2 mm/shmem.c:shmem_destroy_inode
   Cyclomatic Complexity 2 mm/shmem.c:shmem_destroy_callback
   Cyclomatic Complexity 2 mm/shmem.c:shmem_alloc_inode
   Cyclomatic Complexity 3 mm/shmem.c:shmem_fh_to_dentry
   Cyclomatic Complexity 4 mm/shmem.c:shmem_encode_fh
   Cyclomatic Complexity 7 mm/shmem.c:shmem_parse_huge
   Cyclomatic Complexity 8 mm/shmem.c:shmem_enabled_store
   Cyclomatic Complexity 94 mm/shmem.c:shmem_parse_options
   Cyclomatic Complexity 9 mm/shmem.c:shmem_remount_fs
   Cyclomatic Complexity 6 mm/shmem.c:shmem_get_inode
   Cyclomatic Complexity 4 mm/shmem.c:shmem_tmpfile
   Cyclomatic Complexity 3 mm/shmem.c:shmem_exchange
   Cyclomatic Complexity 3 mm/shmem.c:shmem_unlink
   Cyclomatic Complexity 2 mm/shmem.c:shmem_rmdir
   Cyclomatic Complexity 2 include/linux/dcache.h:dget
   Cyclomatic Complexity 4 mm/shmem.c:shmem_mknod
   Cyclomatic Complexity 3 mm/shmem.c:shmem_whiteout
   Cyclomatic Complexity 9 mm/shmem.c:shmem_rename2
   Cyclomatic Complexity 2 mm/shmem.c:shmem_mkdir
   Cyclomatic Complexity 1 mm/shmem.c:shmem_create
   Cyclomatic Complexity 2 mm/shmem.c:shmem_link
   Cyclomatic Complexity 2 mm/shmem.c:shmem_getattr
   Cyclomatic Complexity 1 mm/shmem.c:shmem_put_super
   Cyclomatic Complexity 7 mm/shmem.c:shmem_fill_super
   Cyclomatic Complexity 1 mm/shmem.c:shmem_mount
   Cyclomatic Complexity 1 mm/shmem.c:shmem_init_inodecache
   Cyclomatic Complexity 1 mm/shmem.c:shmem_init_inode
   Cyclomatic Complexity 1 mm/shmem.c:shmem_destroy_inodecache
   Cyclomatic Complexity 3 mm/shmem.c:shmem_enabled_show
   Cyclomatic Complexity 8 mm/shmem.c:__shmem_file_setup
   Cyclomatic Complexity 1 mm/shmem.c:shmem_getpage
   Cyclomatic Complexity 5 mm/shmem.c:shmem_write_begin
   Cyclomatic Complexity 36 mm/shmem.c:shmem_undo_range
   Cyclomatic Complexity 17 mm/shmem.c:shmem_file_read_iter
   Cyclomatic Complexity 8 mm/shmem.c:shmem_symlink
   Cyclomatic Complexity 5 mm/shmem.c:shmem_get_link
   Cyclomatic Complexity 1 mm/shmem.c:vma_is_shmem
   Cyclomatic Complexity 4 mm/shmem.c:shmem_charge
   Cyclomatic Complexity 2 mm/shmem.c:shmem_uncharge
   Cyclomatic Complexity 7 mm/shmem.c:shmem_partial_swap_usage
   Cyclomatic Complexity 4 mm/shmem.c:shmem_swap_usage
   Cyclomatic Complexity 3 mm/shmem.c:shmem_unlock_mapping
   Cyclomatic Complexity 1 mm/shmem.c:shmem_truncate_range
   Cyclomatic Complexity 19 mm/shmem.c:shmem_fallocate
   Cyclomatic Complexity 6 mm/shmem.c:shmem_evict_inode
   Cyclomatic Complexity 16 mm/shmem.c:shmem_setattr
   Cyclomatic Complexity 9 mm/shmem.c:shmem_unuse
   Cyclomatic Complexity 7 mm/shmem.c:shmem_lock
   Cyclomatic Complexity 1 mm/shmem.c:shmem_mapping
   Cyclomatic Complexity 16 mm/shmem.c:shmem_mcopy_atomic_pte
   Cyclomatic Complexity 9 mm/shmem.c:shmem_add_seals
   Cyclomatic Complexity 2 mm/shmem.c:shmem_get_seals
   Cyclomatic Complexity 3 mm/shmem.c:shmem_fcntl
   Cyclomatic Complexity 7 mm/shmem.c:shmem_init
   Cyclomatic Complexity 8 mm/shmem.c:shmem_huge_enabled
   Cyclomatic Complexity 1 mm/shmem.c:shmem_kernel_file_setup
   Cyclomatic Complexity 1 mm/shmem.c:shmem_file_setup
   Cyclomatic Complexity 11 mm/shmem.c:SYSC_memfd_create
   Cyclomatic Complexity 1 mm/shmem.c:SyS_memfd_create
   Cyclomatic Complexity 4 mm/shmem.c:shmem_zero_setup
   Cyclomatic Complexity 2 mm/shmem.c:shmem_read_mapping_page_gfp
   mm/shmem.c: In function 'shmem_seek_hole_data':
>> mm/shmem.c:2522:9: warning: 'last' may be used uninitialized in this function [-Wmaybe-uninitialized]
     return last;
            ^~~~

vim +/last +2522 mm/shmem.c

220f2ac9 Hugh Dickins    2012-12-12  2506  			page = pvec.pages[i];
220f2ac9 Hugh Dickins    2012-12-12  2507  			if (page && !radix_tree_exceptional_entry(page)) {
220f2ac9 Hugh Dickins    2012-12-12  2508  				if (!PageUptodate(page))
220f2ac9 Hugh Dickins    2012-12-12  2509  					page = NULL;
220f2ac9 Hugh Dickins    2012-12-12  2510  			}
eb675e81 Jan Kara        2017-06-01  2511  			if ((page && whence == SEEK_DATA) ||
965c8e59 Andrew Morton   2012-12-17  2512  			    (!page && whence == SEEK_HOLE)) {
220f2ac9 Hugh Dickins    2012-12-12  2513  				done = true;
220f2ac9 Hugh Dickins    2012-12-12  2514  				break;
220f2ac9 Hugh Dickins    2012-12-12  2515  			}
220f2ac9 Hugh Dickins    2012-12-12  2516  		}
0cd6144a Johannes Weiner 2014-04-03  2517  		pagevec_remove_exceptionals(&pvec);
220f2ac9 Hugh Dickins    2012-12-12  2518  		pagevec_release(&pvec);
220f2ac9 Hugh Dickins    2012-12-12  2519  		pvec.nr = PAGEVEC_SIZE;
220f2ac9 Hugh Dickins    2012-12-12  2520  		cond_resched();
220f2ac9 Hugh Dickins    2012-12-12  2521  	}
1d162ad5 Jan Kara        2017-06-01 @2522  	return last;
220f2ac9 Hugh Dickins    2012-12-12  2523  }
220f2ac9 Hugh Dickins    2012-12-12  2524  
965c8e59 Andrew Morton   2012-12-17  2525  static loff_t shmem_file_llseek(struct file *file, loff_t offset, int whence)
220f2ac9 Hugh Dickins    2012-12-12  2526  {
220f2ac9 Hugh Dickins    2012-12-12  2527  	struct address_space *mapping = file->f_mapping;
220f2ac9 Hugh Dickins    2012-12-12  2528  	struct inode *inode = mapping->host;
220f2ac9 Hugh Dickins    2012-12-12  2529  	pgoff_t start, end;
220f2ac9 Hugh Dickins    2012-12-12  2530  	loff_t new_offset;

:::::: The code at line 2522 was first introduced by commit
:::::: 1d162ad5252576fa97d38e96e6e09fd9165f5d6b mm: Make pagevec_lookup_entries() update index

:::::: TO: Jan Kara <jack@suse.cz>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 26845 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20170601/52c259ba/attachment.gz>

  reply	other threads:[~2017-06-01 13:56 UTC|newest]

Thread overview: 233+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-01  9:32 [PATCH 00/35 v1] pagevec API cleanups Jan Kara
2017-06-01  9:32 ` [Cluster-devel] " Jan Kara
2017-06-01  9:32 ` Jan Kara
2017-06-01  9:32 ` Jan Kara
2017-06-01  9:32 ` Jan Kara
2017-06-01  9:32 ` Jan Kara
2017-06-01  9:32 ` [PATCH 01/35] fscache: Remove unused ->now_uncached callback Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 02/35] ext4: Fix SEEK_HOLE Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 03/35] ext4: Fix off-by-in in loop termination in ext4_find_unwritten_pgoff() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 04/35] dax: Fix inefficiency in dax_writeback_mapping_range() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 05/35] mm: Fix THP handling in invalidate_mapping_pages() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 06/35] mm: Make pagevec_lookup() update index Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 07/35] mm: Implement find_get_pages_range() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 08/35] fs: Fix performance regression in clean_bdev_aliases() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 09/35] ext4: Use pagevec_lookup_range() in ext4_find_unwritten_pgoff() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 10/35] ext4: Use pagevec_lookup_range() in writeback code Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 11/35] hugetlbfs: Use pagevec_lookup_range() in remove_inode_hugepages() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 12/35] xfs: Use pagevec_lookup_range() in xfs_find_get_desired_pgoff() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 13/35] mm: Remove nr_pages argument from pagevec_lookup{,_range}() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] [PATCH 13/35] mm: Remove nr_pages argument from pagevec_lookup{, _range}() Jan Kara
2017-06-01  9:32   ` [PATCH 13/35] mm: Remove nr_pages argument from pagevec_lookup{,_range}() Jan Kara
2017-06-01  9:32   ` [PATCH 13/35] mm: Remove nr_pages argument from pagevec_lookup{, _range}() Jan Kara
2017-06-01  9:32   ` [PATCH 13/35] mm: Remove nr_pages argument from pagevec_lookup{,_range}() Jan Kara
2017-06-01  9:32   ` [PATCH 13/35] mm: Remove nr_pages argument from pagevec_lookup{, _range}() Jan Kara
2017-06-01  9:32 ` [PATCH 14/35] mm: Implement find_get_pages_range_tag() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 15/35] btrfs: Use pagevec_lookup_range_tag() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 16/35] ceph: " Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 17/35] ext4: " Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 18/35] f2fs: " Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 19/35] f2fs: Simplify page iteration loops Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01 13:00   ` kbuild test robot
2017-06-01 13:00     ` [Cluster-devel] " kbuild test robot
2017-06-01 13:00     ` kbuild test robot
2017-06-01 13:00     ` kbuild test robot
2017-06-01  9:32 ` [PATCH 20/35] f2fs: Use find_get_pages_tag() for looking up single page Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 21/35] gfs2: Use pagevec_lookup_range_tag() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 22/35] nilfs2: " Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 23/35] mm: Use pagevec_lookup_range_tag() in __filemap_fdatawait_range() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 24/35] mm: Use pagevec_lookup_range_tag() in write_cache_pages() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 25/35] mm: Remove nr_pages argument from pagevec_lookup_{,range}_tag() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] [PATCH 25/35] mm: Remove nr_pages argument from pagevec_lookup_{, range}_tag() Jan Kara
2017-06-01  9:32   ` [PATCH 25/35] mm: Remove nr_pages argument from pagevec_lookup_{,range}_tag() Jan Kara
2017-06-01  9:32   ` [PATCH 25/35] mm: Remove nr_pages argument from pagevec_lookup_{, range}_tag() Jan Kara
2017-06-01  9:32   ` [PATCH 25/35] mm: Remove nr_pages argument from pagevec_lookup_{,range}_tag() Jan Kara
2017-06-01  9:32   ` [PATCH 25/35] mm: Remove nr_pages argument from pagevec_lookup_{, range}_tag() Jan Kara
2017-06-01  9:32 ` [PATCH 26/35] afs: Use find_get_pages_range_tag() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 27/35] shmem: Use pagevec_lookup() in shmem_unlock_mapping() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 28/35] shmem: Use pagevec_lookup_entries() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 29/35] mm: Make pagevec_lookup_entries() update index Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 30/35] mm: Implement find_get_entries_range() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 31/35] shmem: Convert to pagevec_lookup_entries_range() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01 13:55   ` kbuild test robot [this message]
2017-06-01 13:55     ` [Cluster-devel] " kbuild test robot
2017-06-01 13:55     ` kbuild test robot
2017-06-01 13:55     ` kbuild test robot
2017-06-01  9:32 ` [PATCH 32/35] mm: Convert truncate code " Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 33/35] mm: Remove nr_entries argument from pagevec_lookup_entries{,_range}() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] [PATCH 33/35] mm: Remove nr_entries argument from pagevec_lookup_entries{, _range}() Jan Kara
2017-06-01  9:32   ` [PATCH 33/35] mm: Remove nr_entries argument from pagevec_lookup_entries{,_range}() Jan Kara
2017-06-01  9:32   ` [PATCH 33/35] mm: Remove nr_entries argument from pagevec_lookup_entries{, _range}() Jan Kara
2017-06-01  9:32   ` [PATCH 33/35] mm: Remove nr_entries argument from pagevec_lookup_entries{,_range}() Jan Kara
2017-06-01  9:32   ` [PATCH 33/35] mm: Remove nr_entries argument from pagevec_lookup_entries{, _range}() Jan Kara
2017-06-01  9:32 ` [PATCH 34/35] mm: Make find_get_entries_tag() update index Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32 ` [PATCH 35/35] mm: Implement find_get_entries_range_tag() Jan Kara
2017-06-01  9:32   ` [Cluster-devel] " Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01  9:32   ` Jan Kara
2017-06-01 10:26 ` [PATCH 01/35] fscache: Remove unused ->now_uncached callback David Howells
2017-06-01 10:26   ` [Cluster-devel] " David Howells
2017-06-01 10:26   ` David Howells
2017-06-01 11:34   ` Jan Kara
2017-06-01 11:34     ` [Cluster-devel] " Jan Kara
2017-06-01 11:34     ` Jan Kara
2017-06-19 13:12     ` Jan Kara
2017-06-19 13:12       ` [Cluster-devel] " Jan Kara
2017-06-19 13:12       ` Jan Kara
2017-06-01 11:36 ` [Cluster-devel] [PATCH 00/35 v1] pagevec API cleanups Christoph Hellwig
2017-06-01 11:36   ` Christoph Hellwig
2017-06-01 11:36   ` Christoph Hellwig
2017-06-01 12:05   ` Jan Kara
2017-06-01 12:05     ` Jan Kara
2017-06-01 12:05     ` Jan Kara

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=201706012117.s7Eqr6kf%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=cluster-devel@redhat.com \
    --cc=darrick.wong@oracle.com \
    --cc=dhowells@redhat.com \
    --cc=dsterba@suse.com \
    --cc=hughd@google.com \
    --cc=idryomov@gmail.com \
    --cc=jack@suse.cz \
    --cc=jaegeuk@kernel.org \
    --cc=kbuild-all@01.org \
    --cc=konishi.ryusuke@lab.ntt.co.jp \
    --cc=linux-afs@lists.infradead.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-mm@kvack.org \
    --cc=linux-nilfs@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=nyc@holomorphy.com \
    --cc=rpeterso@redhat.com \
    --cc=tytso@mit.edu \
    --cc=zyan@redhat.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.