[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1709081907460.1888@nanos>
Date: Fri, 8 Sep 2017 19:09:18 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Stephen Hemminger <stephen@...workplumber.org>
cc: LKML <linux-kernel@...r.kernel.org>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Simon Xiao <sixiao@...rosoft.com>,
KY Srinivasan <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Steven Rostedt <rostedt@...dmis.org>,
Peter Zijlstra <peterz@...radead.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Josh Poimboeuf <jpoimboe@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Denys Vlasenko <dvlasenk@...hat.com>,
Brian Gerst <brgerst@...il.com>,
Borislav Petkov <bp@...en8.de>,
Andy Lutomirski <luto@...nel.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@...utronix.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@...rosoft.com>
> > Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
>
> This fixes it, thanks.
>
> Tested-by: Stephen Hemminger <sthemmin@...rosoft.com>
What's the reason that the vector is not set up early in the boot process?
Thanks,
tglx
Powered by blists - more mailing lists