Subject: Re: linux-next: manual merge of the kvm tree with the arm64 tree

From: Sean Christopherson <[email-masked]>
Date: Mon, 28 Oct 2024 11:06:59 -0700

On Mon, Oct 28, 2024, Catalin Marinas wrote:
> On Mon, Oct 28, 2024 at 05:03:10PM +1100, Stephen Rothwell wrote:
> > Today's linux-next merge of the kvm tree got a conflict in:
> > 
> >   arch/arm64/kvm/guest.c
> > 
> > between commit:
> > 
> >   25c17c4b55de ("hugetlb: arm64: add mte support")
> > 
> > from the arm64 tree and commit:
> > 
> >   570d666c11af ("KVM: arm64: Use __gfn_to_page() when copying MTE tags to/from userspace")
> > 
> > from the kvm tree.
> [...]
> > diff --cc arch/arm64/kvm/guest.c
> > index e738a353b20e,4cd7ffa76794..000000000000
> > --- a/arch/arm64/kvm/guest.c
> > +++ b/arch/arm64/kvm/guest.c
> > @@@ -1051,13 -1051,11 +1051,12 @@@ int kvm_vm_ioctl_mte_copy_tags(struct k
> >   	}
> >   
> >   	while (length > 0) {
> > - 		kvm_pfn_t pfn = gfn_to_pfn_prot(kvm, gfn, write, NULL);
> > + 		struct page *page = __gfn_to_page(kvm, gfn, write);
> >   		void *maddr;
> >   		unsigned long num_tags;
> > - 		struct page *page;
> >  +		struct folio *folio;
> >   
> > - 		if (is_error_noslot_pfn(pfn)) {
> > + 		if (!page) {
> >   			ret = -EFAULT;
> >   			goto out;
> >   		}
> > @@@ -1099,12 -1090,8 +1097,12 @@@
> >   			/* uaccess failed, don't leave stale tags */
> >   			if (num_tags != MTE_GRANULES_PER_PAGE)
> >   				mte_clear_page_tags(maddr);
> >  -			set_page_mte_tagged(page);
> >  +			if (folio_test_hugetlb(folio))
> >  +				folio_set_hugetlb_mte_tagged(folio);
> >  +			else
> >  +				set_page_mte_tagged(page);
> >  +
> > - 			kvm_release_pfn_dirty(pfn);
> > + 			kvm_release_page_dirty(page);
> >   		}
> >   
> >   		if (num_tags != MTE_GRANULES_PER_PAGE) {
> 
> Thanks Stephen. The resolution looks fine

Looks correct to my eyes, too.  Thanks Stephen!

> and I'm happy to leave to Linus to fix it up during the merging window.
> 
> To the KVM maintainers, if you prefer a conflict-free linux-next, feel
> free to pull the arm64 for-next/mte branch with the above commit (and a
> kselftest). The other way around is not something I'd suggest we do,
> there are over 80 patches in that kvm series.

Not feeling lucky today? ;-)