[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190425102210.GM4038@hirez.programming.kicks-ass.net>
Date: Thu, 25 Apr 2019 12:22:10 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Ingo Molnar <mingo@...nel.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
Juergen Gross <jgross@...e.com>,
Andi Kleen <ak@...ux.intel.com>
Subject: Re: x86/paravirt: Detect over-sized patching bugs in
paravirt_patch_call()
On Thu, Apr 25, 2019 at 11:50:39AM +0200, Ingo Molnar wrote:
>
> * Peter Zijlstra <peterz@...radead.org> wrote:
>
> > On Thu, Apr 25, 2019 at 11:17:17AM +0200, Ingo Molnar wrote:
> > > It basically means that we silently won't do any patching and the kernel
> > > will crash later on in mysterious ways, because paravirt patching is
> > > usually relied on.
> >
> > That's OK. The compiler emits an indirect CALL/JMP to the pv_ops
> > structure contents. That _should_ stay valid and function correctly at
> > all times.
>
> It might result in a correctly executing kernel in terms of code
> generation, but it doesn't result in a viable kernel: some of the places
> rely on the patching going through and don't know what to do when it
> doesn't and misbehave or crash in interesting ways.
>
> Guess how I know this. ;-)
What sites would that be? It really should work AFAIK.
Powered by blists - more mailing lists