Messages in this thread | | | From | KY Srinivasan <> | Subject | RE: [PATCH] x86/idt: Unbreak MS HyperV hypercall vector install | Date | Fri, 8 Sep 2017 17:15:22 +0000 |
| |
> -----Original Message----- > From: Thomas Gleixner [mailto:tglx@linutronix.de] > Sent: Friday, September 8, 2017 10:09 AM > To: Stephen Hemminger <stephen@networkplumber.org> > Cc: LKML <linux-kernel@vger.kernel.org>; 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: Re: [PATCH] x86/idt: Unbreak MS HyperV hypercall vector install > > On Fri, 8 Sep 2017, Stephen Hemminger wrote: > > On Fri, 8 Sep 2017 01:19:52 -0700 > > "Thomas Gleixner" <tglx@linutronix.de> wrote: > > > > > 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> > > > > This fixes it, thanks. > > > > Tested-by: Stephen Hemminger <sthemmin@microsoft.com> > > What's the reason that the vector is not set up early in the boot process?
No specific reason other than that was the way I had coded it up initially. I will send in a patch to fix that.
Regards,
K. Y > > Thanks, > > tglx >
| |