All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Vitaly Kuznetsov <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: vkuznets@redhat.com, luto@kernel.org, hpa@zytor.com,
	mmorsy@redhat.com, pbonzini@redhat.com, sthemmin@microsoft.com,
	rkagan@virtuozzo.com, Michael.H.Kelley@microsoft.com,
	mingo@kernel.org, haiyangz@microsoft.com, cavery@redhat.com,
	tglx@linutronix.de, kys@microsoft.com, rkrcmar@redhat.com,
	linux-kernel@vger.kernel.org
Subject: [tip:x86/hyperv] x86/hyperv: Check for required priviliges in hyperv_init()
Date: Tue, 30 Jan 2018 15:00:45 -0800	[thread overview]
Message-ID: <tip-89a8f6d4904c8cf3ff8fee9fdaff392a6bbb8bf6@git.kernel.org> (raw)
In-Reply-To: <20180124132337.30138-2-vkuznets@redhat.com>

Commit-ID:  89a8f6d4904c8cf3ff8fee9fdaff392a6bbb8bf6
Gitweb:     https://git.kernel.org/tip/89a8f6d4904c8cf3ff8fee9fdaff392a6bbb8bf6
Author:     Vitaly Kuznetsov <vkuznets@redhat.com>
AuthorDate: Wed, 24 Jan 2018 14:23:31 +0100
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Tue, 30 Jan 2018 23:55:32 +0100

x86/hyperv: Check for required priviliges in hyperv_init()

In hyperv_init() its presumed that it always has access to VP index and
hypercall MSRs while according to the specification it should be checked if
it's allowed to access the corresponding MSRs before accessing them.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: kvm@vger.kernel.org
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: "Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com>
Cc: Roman Kagan <rkagan@virtuozzo.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: devel@linuxdriverproject.org
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Cathy Avery <cavery@redhat.com>
Cc: Mohammed Gamal <mmorsy@redhat.com>
Link: https://lkml.kernel.org/r/20180124132337.30138-2-vkuznets@redhat.com

---
 arch/x86/hyperv/hv_init.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 189a398..21f9d53 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -110,12 +110,19 @@ static int hv_cpu_init(unsigned int cpu)
  */
 void hyperv_init(void)
 {
-	u64 guest_id;
+	u64 guest_id, required_msrs;
 	union hv_x64_msr_hypercall_contents hypercall_msr;
 
 	if (x86_hyper_type != X86_HYPER_MS_HYPERV)
 		return;
 
+	/* Absolutely required MSRs */
+	required_msrs = HV_X64_MSR_HYPERCALL_AVAILABLE |
+		HV_X64_MSR_VP_INDEX_AVAILABLE;
+
+	if ((ms_hyperv.features & required_msrs) != required_msrs)
+		return;
+
 	/* Allocate percpu VP index */
 	hv_vp_index = kmalloc_array(num_possible_cpus(), sizeof(*hv_vp_index),
 				    GFP_KERNEL);

  reply	other threads:[~2018-01-30 23:02 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-24 13:23 [PATCH v4 0/7] x86/kvm/hyperv: stable clocksource for L2 guests when running nested KVM on Hyper-V Vitaly Kuznetsov
2018-01-24 13:23 ` Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 1/7] x86/hyper-v: check for required priviliges in hyperv_init() Vitaly Kuznetsov
2018-01-24 13:23   ` Vitaly Kuznetsov
2018-01-30 23:00   ` tip-bot for Vitaly Kuznetsov [this message]
2018-01-24 13:23 ` [PATCH v4 2/7] x86/hyper-v: add a function to read both TSC and TSC page value simulateneously Vitaly Kuznetsov
2018-01-24 13:23   ` Vitaly Kuznetsov
2018-01-30 23:01   ` [tip:x86/hyperv] x86/hyperv: Add " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 3/7] x86/hyper-v: reenlightenment notifications support Vitaly Kuznetsov
2018-01-24 13:23   ` Vitaly Kuznetsov
2018-01-30 23:01   ` [tip:x86/hyperv] x86/hyperv: Reenlightenment " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 4/7] x86/hyper-v: redirect reenlightment notifications on CPU offlining Vitaly Kuznetsov
2018-01-24 13:23   ` Vitaly Kuznetsov
2018-01-30 23:02   ` [tip:x86/hyperv] x86/hyperv: Redirect " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 5/7] x86/irq: Count Hyper-V reenlightenment interrupts Vitaly Kuznetsov
2018-01-24 13:23   ` Vitaly Kuznetsov
2018-01-24 14:58   ` Radim Krčmář
2018-01-24 14:58     ` Radim Krčmář
2018-01-29 21:48     ` Thomas Gleixner
2018-01-29 21:48       ` Thomas Gleixner
2018-01-30 14:02       ` Radim Krčmář
2018-01-30 14:02         ` Radim Krčmář
2018-01-30 14:35         ` Thomas Gleixner
2018-01-30 23:48           ` Thomas Gleixner
2018-01-30 23:48             ` Thomas Gleixner
2018-01-30 23:02   ` [tip:x86/hyperv] " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 6/7] x86/kvm: pass stable clocksource to guests when running nested on Hyper-V Vitaly Kuznetsov
2018-01-24 13:23   ` Vitaly Kuznetsov
2018-01-30 23:02   ` [tip:x86/hyperv] x86/kvm: Pass " tip-bot for Vitaly Kuznetsov
2018-01-24 13:23 ` [PATCH v4 7/7] x86/kvm: support Hyper-V reenlightenment Vitaly Kuznetsov
2018-01-24 13:23   ` Vitaly Kuznetsov
2018-01-30 23:03   ` [tip:x86/hyperv] x86/kvm: Support " tip-bot for Vitaly Kuznetsov

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=tip-89a8f6d4904c8cf3ff8fee9fdaff392a6bbb8bf6@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=Michael.H.Kelley@microsoft.com \
    --cc=cavery@redhat.com \
    --cc=haiyangz@microsoft.com \
    --cc=hpa@zytor.com \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@kernel.org \
    --cc=mmorsy@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=rkagan@virtuozzo.com \
    --cc=rkrcmar@redhat.com \
    --cc=sthemmin@microsoft.com \
    --cc=tglx@linutronix.de \
    --cc=vkuznets@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.