[PATCH] KVM: arm64: Pass the actual page address to mte_clear_page_tags()

Cornelia Huck cohuck at redhat.com
Fri Jan 20 06:14:48 PST 2023


On Thu, Jan 19 2023, Catalin Marinas <catalin.marinas at arm.com> wrote:

> Commit d77e59a8fccd ("arm64: mte: Lock a page for MTE tag
> initialisation") added a call to mte_clear_page_tags() in case a
> prior mte_copy_tags_from_user() failed in order to avoid stale tags in
> the guest page (it should have really been a separate commit).
> Unfortunately, the argument passed to this function was the address of
> the struct page rather than the actual page address. Fix this function
> call.
>
> Fixes: d77e59a8fccd ("arm64: mte: Lock a page for MTE tag initialisation")
> Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Marc Zyngier <maz at kernel.org>
> ---
>  arch/arm64/kvm/guest.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c
> index 5626ddb540ce..cf4c495a4321 100644
> --- a/arch/arm64/kvm/guest.c
> +++ b/arch/arm64/kvm/guest.c
> @@ -1079,7 +1079,7 @@ long kvm_vm_ioctl_mte_copy_tags(struct kvm *kvm,
>  
>  			/* uaccess failed, don't leave stale tags */
>  			if (num_tags != MTE_GRANULES_PER_PAGE)
> -				mte_clear_page_tags(page);
> +				mte_clear_page_tags(maddr);
>  			set_page_mte_tagged(page);
>  
>  			kvm_release_pfn_dirty(pfn);

Oops.

Reviewed-by: Cornelia Huck <cohuck at redhat.com>




More information about the linux-arm-kernel mailing list