Message ID | 20241028170310.3051da53@canb.auug.org.au (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | linux-next: manual merge of the kvm tree with the arm64 tree | expand |
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.
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? ;-)
diff --cc arch/arm64/kvm/guest.c index e738a353b20e,4cd7ffa76794..000000000000 --- a/arch/arm64/kvm/guest.c