From patchwork Mon Nov 20 04:22:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Rothwell X-Patchwork-Id: 166942 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9910:0:b0:403:3b70:6f57 with SMTP id i16csp1974112vqn; Sun, 19 Nov 2023 20:22:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IGBOjo0xWwDAT9XRHRrpzlHy7nmDJgqo86MdXdSMpOavUqQo+Ss5tovocLJAATdmJa+wQVy X-Received: by 2002:a17:902:ab45:b0:1ca:200b:8dce with SMTP id ij5-20020a170902ab4500b001ca200b8dcemr4253771plb.41.1700454169385; Sun, 19 Nov 2023 20:22:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700454169; cv=none; d=google.com; s=arc-20160816; b=G27+RuBdIxR08Tj9APq3BnXLuj89Hx5p7soHyV/mNATd1ameShGvQ0oTXcwCVOhOmY Yxr70pT/ZQTddVofig4vSPrXDAwuK8Id97eNDAZTFAPv0a6MYqAI/UTTif3YbqwVOI6q kqGkVrrBQT7/MrJfv/cpO8ML4goGIYlAyh4dlVoE22Nx7I8T3Fv5amia9GgXUJEz4Wx/ nv/lh/AQbvaPikBNcWNyfaXbCgB3YsFsyQM24kUSp6l+7HDHAfjqaxyOyis7nHdMVOPs iXQz7TrsQHRLHI7LMiwS4fFxtztFYpw1w0sFuJ8yOXM3Vdkt+b8sTcclH6xw6nzY5Dnd Lz2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:subject:cc:to:from:date :dkim-signature; bh=0q6NjU+ifeLvujPJLHr8VqYO47RqQ4I3ODqxgOoEHMY=; fh=PZke8xm2IXezaW1HYYDHcti0LY63sQ5NCKPgN60jRtg=; b=Odce6aGPLFQc4UvvoNcG0i3tRs2zM8bZjaYk9IcEICgo3Acdxae5HZfYEY4YtMv2Zc X/fTYk2xJyh1QvbQH/poe6PWSaZX8njjwAbSvZG0aNkDMTBy4BCXewICLVF4UM3yCk5z +bJoIfHL3fdrhFCMstyxLJnG49E1YfUMym8YGhTfrlrbc+gUIUQBJXJh9+ZD+vWnj3ZN AlAQSuV89ibPd6JkWIPPKR+LA9mKhf8OOXS5mRFtq50dQm/w6RI7iLeXTjJWnOrBtbKM l7YvJP65XA+/C5RNOslGtIl0ki5XL8sxZg1fdRsSqhB5R2YJWP16pdGIeYH4XleM66oH LKog== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@canb.auug.org.au header.s=201702 header.b=SWM5zXWm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canb.auug.org.au Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id 10-20020a170902c20a00b001c9c967e77esi7056659pll.207.2023.11.19.20.22.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Nov 2023 20:22:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@canb.auug.org.au header.s=201702 header.b=SWM5zXWm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canb.auug.org.au Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 7358680657E6; Sun, 19 Nov 2023 20:22:48 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231866AbjKTEWq (ORCPT + 27 others); Sun, 19 Nov 2023 23:22:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60418 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229470AbjKTEWn (ORCPT ); Sun, 19 Nov 2023 23:22:43 -0500 Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3623BC5; Sun, 19 Nov 2023 20:22:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au; s=201702; t=1700454156; bh=0q6NjU+ifeLvujPJLHr8VqYO47RqQ4I3ODqxgOoEHMY=; h=Date:From:To:Cc:Subject:From; b=SWM5zXWmCl9j2pPW5U4s2sP/7ykJceEih5LBo4n7tulgcg9ecov73QBwrU1jSz/gy 5d87zLWpgenaT673+I/V71Z80HQs5zI4nMezehUVreW+r4XvrR76IkCsoK155PyRUp 3Wm1UsnIyJKTFTrwp10qsnY47K2oH8oe6Y2YuQ1GuSUOcP2QStBreNvCYh7gdVse36 Ddb3al2kKGjsfYl+NG/UVAWS9m4GrE1yOiABts1Ct2HsA6diM5O0wZ4n3Cioxmu8Rr tzBkuInPyoXWh5TG/i87kZ3np9VFHAUx600dtU6w084YCTaXBdn+pXiKP4//mLGzgr iPCwyisrsm3GQ== Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4SYZ9M3Hsmz4xS9; Mon, 20 Nov 2023 15:22:31 +1100 (AEDT) Date: Mon, 20 Nov 2023 15:22:27 +1100 From: Stephen Rothwell To: Paolo Bonzini , Andrew Morton Cc: KVM , Ackerley Tng , Chao Peng , Isaku Yamahata , "Kirill A. Shutemov" , Michael Roth , Sean Christopherson , Yu Zhang , "Matthew Wilcox (Oracle)" , Linux Kernel Mailing List , Linux Next Mailing List Subject: linux-next: build failure after merge of the kvm tree Message-ID: <20231120152227.3bfe2450@canb.auug.org.au> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sun, 19 Nov 2023 20:22:48 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783055430861896745 X-GMAIL-MSGID: 1783055430861896745 Hi all, After merging the kvm tree, today's linux-next build (x86_64 allmodconfig) failed like this: arch/x86/kvm/../../../virt/kvm/guest_memfd.c:306:10: error: 'const struct address_space_operations' has no member named 'error_remove_page'; did you mean 'error_remove_folio'? 306 | .error_remove_page = kvm_gmem_error_page, | ^~~~~~~~~~~~~~~~~ | error_remove_folio arch/x86/kvm/../../../virt/kvm/guest_memfd.c:306:30: error: initialization of 'int (*)(struct folio *)' from incompatible pointer type 'int (*)(struct address_space *, struct page *)' [-Werror=incompatible-pointer-types] 306 | .error_remove_page = kvm_gmem_error_page, | ^~~~~~~~~~~~~~~~~~~ arch/x86/kvm/../../../virt/kvm/guest_memfd.c:306:30: note: (near initialization for 'kvm_gmem_aops.launder_folio') Caused by commit 640be5bc564f ("fs: convert error_remove_page to error_remove_folio") from the mm tree intercting with commit a7800aa80ea4 ("KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory") I have applied the following supplied merge fix patch (thanks Andrew). From: Andrew Morton Date: Fri, 17 Nov 2023 09:28:33 -0800 Subject: [PATCH] fs: Convert error_remove_page to error_remove_folio On Fri, 17 Nov 2023 16:14:47 +0000 "Matthew Wilcox (Oracle)" wrote: > There were already assertions that we were not passing a tail page > to error_remove_page(), so make the compiler enforce that by converting > everything to pass and use a folio. > > Signed-off-by: Matthew Wilcox (Oracle) > --- > Documentation/filesystems/locking.rst | 4 ++-- > Documentation/filesystems/vfs.rst | 6 +++--- > block/fops.c | 2 +- > fs/afs/write.c | 2 +- > fs/bcachefs/fs.c | 2 +- > fs/btrfs/inode.c | 2 +- > fs/ceph/addr.c | 4 ++-- > fs/ext2/inode.c | 2 +- > fs/ext4/inode.c | 6 +++--- > fs/f2fs/compress.c | 2 +- > fs/f2fs/inode.c | 2 +- > fs/gfs2/aops.c | 4 ++-- > fs/hugetlbfs/inode.c | 6 +++--- > fs/nfs/file.c | 2 +- > fs/ntfs/aops.c | 6 +++--- > fs/ocfs2/aops.c | 2 +- > fs/xfs/xfs_aops.c | 2 +- > fs/zonefs/file.c | 2 +- > include/linux/fs.h | 2 +- > include/linux/mm.h | 3 ++- > mm/memory-failure.c | 10 +++++----- > mm/shmem.c | 6 +++--- > mm/truncate.c | 9 ++++----- > virt/kvm/guest_memfd.c | 9 +++++---- virt/kvm/guest_memfd.c exists only in the KVM tree (and hence linux-next). So I assume Stephen will use the change from this patch when doing his resolution. This: --- virt/kvm/guest_memfd.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c index b99272396119..451435123fe7 100644 --- a/virt/kvm/guest_memfd.c +++ b/virt/kvm/guest_memfd.c @@ -267,7 +267,8 @@ static int kvm_gmem_migrate_folio(struct address_space *mapping, return -EINVAL; } -static int kvm_gmem_error_page(struct address_space *mapping, struct page *page) +static int kvm_gmem_error_folio(struct address_space *mapping, + struct folio *folio) { struct list_head *gmem_list = &mapping->private_list; struct kvm_gmem *gmem; @@ -275,8 +276,8 @@ static int kvm_gmem_error_page(struct address_space *mapping, struct page *page) filemap_invalidate_lock_shared(mapping); - start = page->index; - end = start + thp_nr_pages(page); + start = folio->index; + end = start + folio_nr_pages(folio); list_for_each_entry(gmem, gmem_list, entry) kvm_gmem_invalidate_begin(gmem, start, end); @@ -303,7 +304,7 @@ static const struct address_space_operations kvm_gmem_aops = { #ifdef CONFIG_MIGRATION .migrate_folio = kvm_gmem_migrate_folio, #endif - .error_remove_page = kvm_gmem_error_page, + .error_remove_folio = kvm_gmem_error_folio, }; static int kvm_gmem_getattr(struct mnt_idmap *idmap, const struct path *path,