Re: [PATCH] x86/paravirt: Detect oversized patching bugs as they happen and BUG_ON() to avoid later crashes

From: Peter Zijlstra
Date: Thu Apr 25 2019 - 05:21:40 EST


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.

Not patching should at the very least cause a WARN with RETPOLINE
kernels though, we hard rely on the patching actually working and
writing at least a direct call.