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 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. -- Catalin