From: Marc Zyngier <maz@kernel.org>
To: gregkh@linuxfoundation.org
Cc: catalin.marinas@arm.com, rick.p.edgecombe@intel.com,
stable@vger.kernel.org
Subject: Re: FAILED: patch "[PATCH] KVM: Forbid the use of tagged userspace addresses for" failed to apply to 5.4-stable tree
Date: Mon, 01 Feb 2021 13:29:02 +0000 [thread overview]
Message-ID: <6253bf3c8ccea96cd36bc225ff5f7ed6@kernel.org> (raw)
In-Reply-To: <16121832895919@kroah.com>
Hi Greg,
On 2021-02-01 12:41, gregkh@linuxfoundation.org wrote:
> The patch below does not apply to the 5.4-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@vger.kernel.org>.
>
> thanks,
>
> greg k-h
>
> ------------------ original commit in Linus's tree ------------------
>
> From 139bc8a6146d92822c866cf2fd410159c56b3648 Mon Sep 17 00:00:00 2001
> From: Marc Zyngier <maz@kernel.org>
> Date: Thu, 21 Jan 2021 12:08:15 +0000
> Subject: [PATCH] KVM: Forbid the use of tagged userspace addresses for
> memslots
>
> The use of a tagged address could be pretty confusing for the
> whole memslot infrastructure as well as the MMU notifiers.
>
> Forbid it altogether, as it never quite worked the first place.
>
> Cc: stable@vger.kernel.org
> Reported-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
>
> diff --git a/Documentation/virt/kvm/api.rst
> b/Documentation/virt/kvm/api.rst
> index 4e5316ed10e9..c347b7083abf 100644
> --- a/Documentation/virt/kvm/api.rst
> +++ b/Documentation/virt/kvm/api.rst
> @@ -1269,6 +1269,9 @@ field userspace_addr, which must point at user
> addressable memory for
> the entire memory slot size. Any object may back this memory,
> including
> anonymous memory, ordinary files, and hugetlbfs.
>
> +On architectures that support a form of address tagging,
> userspace_addr must
> +be an untagged address.
> +
> It is recommended that the lower 21 bits of guest_phys_addr and
> userspace_addr
> be identical. This allows large pages in the guest to be backed by
> large
> pages in the host.
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 2541a17ff1c4..a9abaf5f8e53 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -1290,6 +1290,7 @@ int __kvm_set_memory_region(struct kvm *kvm,
> return -EINVAL;
> /* We can read the guest memory with __xxx_user() later on. */
> if ((mem->userspace_addr & (PAGE_SIZE - 1)) ||
> + (mem->userspace_addr != untagged_addr(mem->userspace_addr)) ||
> !access_ok((void __user *)(unsigned long)mem->userspace_addr,
> mem->memory_size))
> return -EINVAL;
I'll post a revised patch for 5.4. No need to go beyond that as that's
the point where we allowed tagged addresses at the syscall boundary.
Thanks,
M.
--
Jazz is not dead. It just smells funny...
next prev parent reply other threads:[~2021-02-01 13:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-01 12:41 FAILED: patch "[PATCH] KVM: Forbid the use of tagged userspace addresses for" failed to apply to 5.4-stable tree gregkh
2021-02-01 13:29 ` Marc Zyngier [this message]
2021-02-01 13:50 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6253bf3c8ccea96cd36bc225ff5f7ed6@kernel.org \
--to=maz@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=gregkh@linuxfoundation.org \
--cc=rick.p.edgecombe@intel.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox