From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A9509C38141 for ; Sat, 21 Jan 2023 11:53:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F31496B0072; Sat, 21 Jan 2023 06:53:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EE1426B0073; Sat, 21 Jan 2023 06:53:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DCFA46B0074; Sat, 21 Jan 2023 06:53:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id CECCE6B0072 for ; Sat, 21 Jan 2023 06:53:26 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9F04C802C6 for ; Sat, 21 Jan 2023 11:53:26 +0000 (UTC) X-FDA: 80378646012.12.6D600CA Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by imf27.hostedemail.com (Postfix) with ESMTP id 535F54000F for ; Sat, 21 Jan 2023 11:53:23 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GTKLybJB; spf=pass (imf27.hostedemail.com: domain of lkp@intel.com designates 134.134.136.126 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674302004; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=P1sMfn2wn+TrT7QWFYEmxoagh/Ni/yX5kiJ29R0vPuo=; b=oLaXNRD/C1Ratkwn7XgIuaOmMSZeK/Z9dZJSCiFuMRYTNiMA+8guHS/VbwnTjxvgTKtf9y 9Ba+wz+O5yIvzQFonr6yWWsiWsmXqn2Cwc/EernrWzsOKdYmISNoym319CUYMMKg1UnBc6 MTlAspKDfTZGl5M3mCu+h+31TLTvK6o= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GTKLybJB; spf=pass (imf27.hostedemail.com: domain of lkp@intel.com designates 134.134.136.126 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674302004; a=rsa-sha256; cv=none; b=AJyG7h6gAmEipjJWEMxOMY/v+24DsYHIu5TPbyMuM1Q8VWrnEoA869Ws8fknAn05OwvZYe ZlhE1ZOZuAnTqWbjoupOFTWfadZM8ctAZ5VtFKYqFlaVq+6iLZ/u1CdvzP/t6RKCpzbURO Cp+3wYY3weJjqKjvRfH4oYwI3S6x7WU= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1674302003; x=1705838003; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=YAXz73bfRzC4TRnCjnoOuIBuHFdhFbzfUfvKWYHlwQM=; b=GTKLybJBRgffBGbxU6x3CQa6z8UN9h2PpmiZ9vSNIm3G/W7Xv6OEOSHo Y0JR1PWBlkM74X+mjkUilWvkuWaE9iW2x6usZNOChuPAVKm5QKtUSD9aY RZxEsJXUe4GA3oSEriMN8DIPL1fdxaG20qlXDlV8zQMsLXfeWghKeSwKl 4apQ1Gev8NcsBXrjEGcwW4/AOE5Ck2GSGEFrXc1PF8XiucajEF4kk3dNt ry7ifwQqdA7EO0hT1f/BWEFVgxOzKXgC1HN/eUzMPBdMw0qdi9rm0kUiH prG0fZ0KshGzUs0fg01t0ZQ5gCIZzsOHCTiRx+3H5ehQfzFBg81BsL7DZ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10596"; a="309353722" X-IronPort-AV: E=Sophos;i="5.97,235,1669104000"; d="scan'208";a="309353722" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2023 03:53:21 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10596"; a="610768753" X-IronPort-AV: E=Sophos;i="5.97,235,1669104000"; d="scan'208";a="610768753" Received: from lkp-server01.sh.intel.com (HELO 5646d64e7320) ([10.239.97.150]) by orsmga003.jf.intel.com with ESMTP; 21 Jan 2023 03:53:17 -0800 Received: from kbuild by 5646d64e7320 with local (Exim 4.96) (envelope-from ) id 1pJCQv-00041S-0Y; Sat, 21 Jan 2023 11:53:17 +0000 Date: Sat, 21 Jan 2023 19:52:54 +0800 From: kernel test robot To: Christoph Hellwig , Andrew Morton , Matthew Wilcox , Hugh Dickins Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, Linux Memory Management List , linux-afs@lists.infradead.org, linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org, cluster-devel@redhat.com, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-nilfs@vger.kernel.org Subject: Re: [PATCH 7/7] mm: return an ERR_PTR from __filemap_get_folio Message-ID: <202301211944.5T9l1RgA-lkp@intel.com> References: <20230121065755.1140136-8-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230121065755.1140136-8-hch@lst.de> X-Stat-Signature: sjqjmq6a8zzdg1zsbipzkjexc6fg13uo X-Rspam-User: X-Rspamd-Queue-Id: 535F54000F X-Rspamd-Server: rspam06 X-HE-Tag: 1674302003-239856 X-HE-Meta: U2FsdGVkX1+pPznUV7/3D1ZKBHhdpmUZn0cNUSJ0td8vmSizLMqu6dq66AhRQ4ug5lB5PEahKxG0WEicG7rJAvsUrUjfhTav0rw6uVGYzbX23UdSqa9IKl7lGm+9E0ioltw8vbKPvFy4V4BQHFQA3U7Godw5mwdVQpIY5eAvJFJw/KOwy8RUy66MzZ2eeg9rOpGsllXRfldEOXHmlykxiU5mXVig1Aq1N6/I9bMAmsAVqeV5Y5wJZe8JfR2fujaWsEQrbIlnN/EHFbnftiMtmg25aBYDIgLE+QZ6Ykgk9tjZVsioMs2Ba95rCJ/qcK7RihqmX5auNeaYgUCSGR9n0DZcnqplS++C2wTapcZHOIOffIADrq3a93P7n5cAe2BVgXtegO3Up4NK/lD1PwP2ZgxZRMNhQTnXR3FTotU4IeHUPY+rZjfu1JPrYlFhtuewJ5xj+mIy+KhVCDs5Njqq6r9CS1hFvqa0u41D10LU2DW+wkyeAXCb3OQDlR82nKFU83JQKcMKp8DTM6YU1di7Xfsl8B9JXa0tFuQnm2bKyE1AHkM9QthFB2xgLXi34VXHvgNdO2cFpO8Q0h+HbYLqIwD5p9d/qmmqiINzfFqxZ1YJrLbL9fdkUzlrdKT5ErLndz+RF1qRgfJymG4wXLEsfAdVTeItoF4OexmHURvY5PdCoGCu91uQePvVba08ZO2km4Om2IYdOyiHI2PkP8HeuHNUlKZpuZ8FcXccFm+p/8CkV9i5VllBhUqj8Rn/+PYaJdvpzYLt5aS+Iod2EZcQNUuh4LnyiTEx55LWQXHe7KCLGrSTh/93NnW/Zxqx4mQS+ddGvksxrxIPCxzZMHdaeviZMxX0WtLPi2fhnZaYxFr3wqLBFrqkZ8Vs4E4fQJr4iokGrjPcsT6Ot/79jBdY8/2N2ikXMSHL1PLLiHNS19jC9A2L6srdnf/3ZxNH/Q9Zh5S9sqWw8o3EA9kn0cS MO75H8gB 0/SdxbBepun4YbCM3qX4pycsddZlyO9zM8K1CXYIj6moQQ4XhHi8NpMQLTi7oWPPWQRwobfbyEUUYqb+mchkC1RJvLn8+os741tZNpkiaMQAa3DsSAY+ry3x32LNIxU381zhT9KwgyCQqxhxdRx455/UCvfxeJ+HGiEuW2uFu+BJ5xw8HTaKntrvUVUlwEmyQP/Jj7+uiyR969J1EoiIN1TGoLS6RfBVwBqobSM91GA/lpThKOElDI1Hrapwq7hYoRCdglg/uR2KEd3SRC3uIKohjIiZPGl14ILREmvWFks47yOsgpAv4+Yqxn2dWAy8Hqobj+uqLHe6BbESp0cgtPrtBwwityxHUKszMAmwmaG8Z3xHm70ujSH79uetpCw2Dm5BjrcbQbcs+I7rRnrXUP+xa/OCEtazC0vCSbwAgfs44TIAlarI/mv9YJ13sGGMuOArevimP09KQdHQ= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi Christoph, I love your patch! Perhaps something to improve: [auto build test WARNING on next-20230120] [cannot apply to akpm-mm/mm-everything tytso-ext4/dev kdave/for-next xfs-linux/for-next konis-nilfs2/upstream linus/master v6.2-rc4 v6.2-rc3 v6.2-rc2 v6.2-rc4] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Christoph-Hellwig/mm-make-mapping_get_entry-available-outside-of-filemap-c/20230121-155847 patch link: https://lore.kernel.org/r/20230121065755.1140136-8-hch%40lst.de patch subject: [PATCH 7/7] mm: return an ERR_PTR from __filemap_get_folio config: riscv-randconfig-r013-20230119 (https://download.01.org/0day-ci/archive/20230121/202301211944.5T9l1RgA-lkp@intel.com/config) compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 4196ca3278f78c6e19246e54ab0ecb364e37d66a) 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 # install riscv cross compiling tool for clang build # apt-get install binutils-riscv-linux-gnu # https://github.com/intel-lab-lkp/linux/commit/3c8a98fd03b82ace84668b3f8bb48d48e9f34af2 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Christoph-Hellwig/mm-make-mapping_get_entry-available-outside-of-filemap-c/20230121-155847 git checkout 3c8a98fd03b82ace84668b3f8bb48d48e9f34af2 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash fs/iomap/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> fs/iomap/buffered-io.c:669:28: warning: variable 'folio' is uninitialized when used here [-Wuninitialized] if (pos + len > folio_pos(folio) + folio_size(folio)) ^~~~~ fs/iomap/buffered-io.c:636:21: note: initialize the variable 'folio' to silence this warning struct folio *folio; ^ = NULL fs/iomap/buffered-io.c:598:22: warning: unused function '__iomap_get_folio' [-Wunused-function] static struct folio *__iomap_get_folio(struct iomap_iter *iter, loff_t pos, ^ 2 warnings generated. vim +/folio +669 fs/iomap/buffered-io.c 69f4a26c1e0c7c Gao Xiang 2021-08-03 630 d7b64041164ca1 Dave Chinner 2022-11-29 631 static int iomap_write_begin(struct iomap_iter *iter, loff_t pos, bc6123a84a71b5 Matthew Wilcox (Oracle 2021-05-02 632) size_t len, struct folio **foliop) afc51aaa22f26c Darrick J. Wong 2019-07-15 633 { 471859f57d4253 Andreas Gruenbacher 2023-01-15 634 const struct iomap_folio_ops *folio_ops = iter->iomap.folio_ops; fad0a1ab34f777 Christoph Hellwig 2021-08-10 635 const struct iomap *srcmap = iomap_iter_srcmap(iter); d1bd0b4ebfe052 Matthew Wilcox (Oracle 2021-11-03 636) struct folio *folio; afc51aaa22f26c Darrick J. Wong 2019-07-15 637 int status = 0; afc51aaa22f26c Darrick J. Wong 2019-07-15 638 1b5c1e36dc0e0f Christoph Hellwig 2021-08-10 639 BUG_ON(pos + len > iter->iomap.offset + iter->iomap.length); 1b5c1e36dc0e0f Christoph Hellwig 2021-08-10 640 if (srcmap != &iter->iomap) c039b997927263 Goldwyn Rodrigues 2019-10-18 641 BUG_ON(pos + len > srcmap->offset + srcmap->length); afc51aaa22f26c Darrick J. Wong 2019-07-15 642 afc51aaa22f26c Darrick J. Wong 2019-07-15 643 if (fatal_signal_pending(current)) afc51aaa22f26c Darrick J. Wong 2019-07-15 644 return -EINTR; afc51aaa22f26c Darrick J. Wong 2019-07-15 645 d454ab82bc7f4a Matthew Wilcox (Oracle 2021-12-09 646) if (!mapping_large_folio_support(iter->inode->i_mapping)) d454ab82bc7f4a Matthew Wilcox (Oracle 2021-12-09 647) len = min_t(size_t, len, PAGE_SIZE - offset_in_page(pos)); d454ab82bc7f4a Matthew Wilcox (Oracle 2021-12-09 648) d7b64041164ca1 Dave Chinner 2022-11-29 649 /* d7b64041164ca1 Dave Chinner 2022-11-29 650 * Now we have a locked folio, before we do anything with it we need to d7b64041164ca1 Dave Chinner 2022-11-29 651 * check that the iomap we have cached is not stale. The inode extent d7b64041164ca1 Dave Chinner 2022-11-29 652 * mapping can change due to concurrent IO in flight (e.g. d7b64041164ca1 Dave Chinner 2022-11-29 653 * IOMAP_UNWRITTEN state can change and memory reclaim could have d7b64041164ca1 Dave Chinner 2022-11-29 654 * reclaimed a previously partially written page at this index after IO d7b64041164ca1 Dave Chinner 2022-11-29 655 * completion before this write reaches this file offset) and hence we d7b64041164ca1 Dave Chinner 2022-11-29 656 * could do the wrong thing here (zero a page range incorrectly or fail d7b64041164ca1 Dave Chinner 2022-11-29 657 * to zero) and corrupt data. d7b64041164ca1 Dave Chinner 2022-11-29 658 */ 471859f57d4253 Andreas Gruenbacher 2023-01-15 659 if (folio_ops && folio_ops->iomap_valid) { 471859f57d4253 Andreas Gruenbacher 2023-01-15 660 bool iomap_valid = folio_ops->iomap_valid(iter->inode, d7b64041164ca1 Dave Chinner 2022-11-29 661 &iter->iomap); d7b64041164ca1 Dave Chinner 2022-11-29 662 if (!iomap_valid) { d7b64041164ca1 Dave Chinner 2022-11-29 663 iter->iomap.flags |= IOMAP_F_STALE; d7b64041164ca1 Dave Chinner 2022-11-29 664 status = 0; d7b64041164ca1 Dave Chinner 2022-11-29 665 goto out_unlock; d7b64041164ca1 Dave Chinner 2022-11-29 666 } d7b64041164ca1 Dave Chinner 2022-11-29 667 } d7b64041164ca1 Dave Chinner 2022-11-29 668 d454ab82bc7f4a Matthew Wilcox (Oracle 2021-12-09 @669) if (pos + len > folio_pos(folio) + folio_size(folio)) d454ab82bc7f4a Matthew Wilcox (Oracle 2021-12-09 670) len = folio_pos(folio) + folio_size(folio) - pos; afc51aaa22f26c Darrick J. Wong 2019-07-15 671 c039b997927263 Goldwyn Rodrigues 2019-10-18 672 if (srcmap->type == IOMAP_INLINE) bc6123a84a71b5 Matthew Wilcox (Oracle 2021-05-02 673) status = iomap_write_begin_inline(iter, folio); 1b5c1e36dc0e0f Christoph Hellwig 2021-08-10 674 else if (srcmap->flags & IOMAP_F_BUFFER_HEAD) d1bd0b4ebfe052 Matthew Wilcox (Oracle 2021-11-03 675) status = __block_write_begin_int(folio, pos, len, NULL, srcmap); afc51aaa22f26c Darrick J. Wong 2019-07-15 676 else bc6123a84a71b5 Matthew Wilcox (Oracle 2021-05-02 677) status = __iomap_write_begin(iter, pos, len, folio); afc51aaa22f26c Darrick J. Wong 2019-07-15 678 afc51aaa22f26c Darrick J. Wong 2019-07-15 679 if (unlikely(status)) afc51aaa22f26c Darrick J. Wong 2019-07-15 680 goto out_unlock; afc51aaa22f26c Darrick J. Wong 2019-07-15 681 bc6123a84a71b5 Matthew Wilcox (Oracle 2021-05-02 682) *foliop = folio; afc51aaa22f26c Darrick J. Wong 2019-07-15 683 return 0; afc51aaa22f26c Darrick J. Wong 2019-07-15 684 afc51aaa22f26c Darrick J. Wong 2019-07-15 685 out_unlock: 7a70a5085ed028 Andreas Gruenbacher 2023-01-15 686 __iomap_put_folio(iter, pos, 0, folio); 1b5c1e36dc0e0f Christoph Hellwig 2021-08-10 687 iomap_write_failed(iter->inode, pos, len); afc51aaa22f26c Darrick J. Wong 2019-07-15 688 afc51aaa22f26c Darrick J. Wong 2019-07-15 689 return status; afc51aaa22f26c Darrick J. Wong 2019-07-15 690 } afc51aaa22f26c Darrick J. Wong 2019-07-15 691 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests