lkml.org 
[lkml]   [2017]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH] x86/idt: Unbreak MS HyperV hypercall vector install
Date


> -----Original Message-----
> From: Thomas Gleixner [mailto:tglx@linutronix.de]
> Sent: Friday, September 8, 2017 4:20 AM
> To: LKML <linux-kernel@vger.kernel.org>
> Cc: Stephen Hemminger <sthemmin@microsoft.com>; Simon Xiao
> <sixiao@microsoft.com>; KY Srinivasan <kys@microsoft.com>; Haiyang Zhang
> <haiyangz@microsoft.com>; Steven Rostedt <rostedt@goodmis.org>; Peter
> Zijlstra <peterz@infradead.org>; Linus Torvalds <torvalds@linux-
> foundation.org>; Josh Poimboeuf <jpoimboe@redhat.com>; H. Peter Anvin
> <hpa@zytor.com>; Denys Vlasenko <dvlasenk@redhat.com>; Brian Gerst
> <brgerst@gmail.com>; Borislav Petkov <bp@alien8.de>; Andy Lutomirski
> <luto@kernel.org>
> Subject: [PATCH] x86/idt: Unbreak MS HyperV hypercall vector install
>
> The rework of the IDT setup changed the way how unused system gates are
> accounted. At the end of the gate initialization all unused gates in the
> system vector area are set to the spurios handler and marked as used for
> consistency reasons.
>
> Marking them as used breaks MS HyperV because it installs its hypercall
> vector after that point and the installation is guarded by the bit in
> the
> used_vectors map. So the hyperv vector stays directed to the spurious
> interrupt handler.
>
> Leave them marked as unused again and unbreak HyperV that way.
>
> Fixes: dc20b2d52653 ("x86/idt: Move interrupt gate initialization to IDT
> code")
> Reported-by: Stephen Hemminger <sthemmin@microsoft.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Thanks for the quick response.
I tested the patch and the kernel boots up on Hyper-V now.

Reviewed-and-Tested-by: Haiyang Zhang <haiyangz@microsoft.com>

\
 
 \ /
  Last update: 2017-09-08 18:13    [W:0.133 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site