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