On 20/02/2023 11:51 am, Ross Lagerwall wrote:
>> From: Andrew Cooper <andrew.coop...@citrix.com>
>> Sent: Monday, February 20, 2023 11:04 AM
>> To: Xen-devel <xen-devel@lists.xenproject.org>
>> Cc: Andrew Cooper <andrew.coop...@citrix.com>; Jan Beulich 
>> <jbeul...@suse.com>; Roger Pau Monne <roger....@citrix.com>; Wei Liu 
>> <w...@xen.org>; Konrad Rzeszutek Wilk <konrad.w...@oracle.com>; Ross 
>> Lagerwall <ross.lagerw...@citrix.com>
>> Subject: [PATCH] x86/asm: ELF metadata for simple cases 
>>  
>> This is generally good practice, and necessary for livepatch binary diffing 
>> to
>> work.
>>
>> With this, livepatching of the SVM entry path works.  The only complication 
>> is
>> with svm_stgi_label which is only used by oprofile to guestimate (not
>> completely correctly) when an NMI hit guest context.
>>
>> Livepatching of VMX is still an open question, because the logic doesn't form
>> anything remotely resembling functions.  Both code fragments jump into each
>> other so need to be updated in tandem.  Also, both code fragment entries need
>> trampolines in the case that patching actually occurs.  For now, just treat 
>> it
>> as a single function.
> If it is treated as two functions and both functions are always included in
> the live patch, would that work?

I think so, but only because the first jumped-to label in
vmx_asm_do_vmentry is beyond the trampoline.

But I guess the question is how to tie the two symbols together.  We
don't want to be hardcoding this in livepatch-build-tools IMO.

Perhaps we want a CONFIG_LIVEPATCH build of Xen to include a
section/note/something identifying "grouped symbols", meaning "if
there's a delta in one, include all even if they haven't changed" ?

I'm getting the distinct impression that we're going to need it it for
the PV entry/exit paths too.

~Andrew

Reply via email to