[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211115230737.27gqnzwvkaxoi7es@treble>
Date: Tue, 16 Nov 2021 13:27:45 -0800
From: Josh Poimboeuf <jpoimboe@...hat.com>
To: Miroslav Benes <mbenes@...e.cz>
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 Mon, Nov 15, 2021 at 01:59:36PM +0100, Miroslav Benes wrote:
> 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.
So if I understand correctly, if a function's ABI changes then you don't
patch it directly, but only patch its callers to call the replacement?
Is there a reason for that?
--
Josh
Powered by blists - more mailing lists