[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LSU.2.21.2111151353550.29981@pobox.suse.cz>
Date: Mon, 15 Nov 2021 13:59:36 +0100 (CET)
From: Miroslav Benes <mbenes@...e.cz>
To: Josh Poimboeuf <jpoimboe@...hat.com>
cc: Peter Zijlstra <peterz@...radead.org>,
David Laight <David.Laight@...lab.com>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Bill Wendling <morbo@...gle.com>,
"x86@...nel.org" <x86@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"mark.rutland@....com" <mark.rutland@....com>,
"dvyukov@...gle.com" <dvyukov@...gle.com>,
"seanjc@...gle.com" <seanjc@...gle.com>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"llvm@...ts.linux.dev" <llvm@...ts.linux.dev>,
"linux-toolchains@...r.kernel.org" <linux-toolchains@...r.kernel.org>,
live-patching@...r.kernel.org
Subject: Re: [PATCH 20/22] x86,word-at-a-time: Remove .fixup usage
On Fri, 12 Nov 2021, Josh Poimboeuf wrote:
> If the child schedules out, and then the parent gets patched, things can
> go off-script if the child later jumps back to the unpatched version of
> the parent, and then for example the old parent tries to call another
> patched function with a since-changed ABI.
...
> I don't know about other patch creation tooling, but I'd imagine they
> also need to know about .cold functions, unless they have that
> optimization disabled. Because the func and its .cold counterpart
> always need to be patched together.
We, at SUSE, solve the issue differently... the new patched parent would
call that another patched function with a changed ABI statically in a live
patch. So in that example, .cold child would jump back to the unpatched
parent which would then call, also, the unpatched function.
The situation would change if we ever were to have some notion of global
consistency. Then it would be really fragile, so it is worth of improving
this, I think.
Miroslav
Powered by blists - more mailing lists