[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] x86/asm: ELF metadata for simple cases


  • To: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Fri, 24 Feb 2023 16:34:57 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=pExa22XpCdf6FMWlmzdPxVnFn0mfgpC5FgLzzUVB3Rs=; b=EPn9ik3e5pNiqz3I1sgwxiVoYSBjUmVtzohMoKTrNe4m83HOZplHj4ZMIwmzOdy/J/9acXfxYdDMFGiXnQNbnSE7IdY4u7ycn/zsV/uiRD1e6RMqcRl6jFu6l0h7zkJ1GE3r6m50P1mtNkO7pxjOwZwkTP9YlUqmxTaxhppVJONbTYTqPVMxnFFTbErq3cQqXpOgMOaXIKgVP6eNO/1Z6LvtO1OT2H8sJ2xEtf4jMjms/Q6F8l70q1tIzbEsz9Rh1HmZ8fG4/oeGeTKvuvkJDDUu0lhlfVeAHSif0ZSTAeiuQMDYJpcr5fD/coRYNIg7WFVaEBBEtEjEVpYA53bWxQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k9eR73bjmjlCbw2L+Wm+DeDObUIUNbQmkh+SrFBzp+Xx6uy+vCDZslfKLLN8hOPLzlf6+LY1VgujJytckz+snLu+oPe448Uj7JQVWIln9CPfao+648HxxBlb6H1s6Iz9FIIbyCGjKq1RjYqxNMAHQosTCB257HGq+xf0b+dvf6rkKT5Vk2+atYK6slFEg5M31wS45B3THOrUUGpER8knnHSx5SbTHg48bdp9/W57U8MBtideolIPafDdCicgcgyMejZ+EDv4fdTfOAgC/GuwKTkj4CxPbFoUeNwbbZyYxC3d9Rm8AmOijT2Agq1CFl1zwXDgTnVVSK3DAnFQREsn/g==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Jan Beulich <JBeulich@xxxxxxxx>, Roger Pau Monne <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
  • Delivery-date: Fri, 24 Feb 2023 16:35:25 +0000
  • Ironport-data: A9a23:O7/uiq5PHhjkPW+PiDLG4wxRtAPGchMFZxGqfqrLsTDasY5as4F+v jcXWGnQa/jZZWvxcth2OYTg80gP6MTUztBrHlA/pCxmHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0 fv/uMSaM1K+s9JOGjt8B5mr9VU+45wehBtC5gZlPaoR4AeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m7 uIqdW4gbU+/u+eq46KwS7kygtRyI5y+VG8fkikIITDxK98DGcyGb4CUoNhS0XE3m9xEGuvYa 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Ml0otgdABM/KMEjCObexTklyVu STt+GPhDwtBHNee1SCE4jSngeqncSbTCdJOT+zlr64CbFu790wCKwcvCwqCnLqS0VD5Z80YN h0v9X97xUQ13AnxJjXnZDWorXjBshMCVt54F+wh9BrL2qfS+xyeBGUPUnhGctNOnO0cSCEu1 1SJt8j0HjEpu7qQIVqC8p+EoDX0PjIaRUcBYikeRAdD/Njno6k0lBvEStslG6mw5uAZAhn1y jGO6SQ72bMaiJZX073hpQyWxTWxupLOUwg5oB3NWX6o5R94Y4jjYJG07V/c7rBLK4PxokS9g UXoUvO2tIgmZaxhXgTWKAnRNNlFP8q4DQA=
  • Ironport-hdrordr: A9a23:Ivy3xKvpZnPeR09JJiTG2Pk87skCbYAji2hC6mlwRA09TyXGra 2TdaUgvyMc1gx7ZJh5o6H4BEGBKUm8yXcH2/hoAV7CZniRhILMFu1fBOTZsljd8kHFmdK1kJ 0QFZSWa+eARGSS7/yKhDVQeuxIqOVvsprY4ts2pE0McegeUdAD0+4PMHf5LqQZfmd7LKt8MK DZyttMpjKmd3hSRsOnBkMdV+yGi8zXmIngaRsmAQdizAWVlzun5JPzDhDdh34lInhy6IZn1V KAvx3y562lvf3+4hjA11XL55ATtMr9xsBFDMmsjNFQDjn3kA6naKloRrXHljEop+OE7kosjb D30l8dFvU2z0mUUnC+oBPr1QWl+i0p8WXexViRhmamidDlRRohYvAxyL5xQ1/80Q4Nrdt82K VE0yayrJxMFy7Nmyz7+pzhSwxqrEypunAv+NRjw0C3ELFuJ4O5n7ZvvX+9I61wXB4SL7pXU9 WGOfusqsq+t2nqLUwx8FMfheBEFU5DZStuCnJywPB9lQIm1kyRhnFoufA3jzMO8okwRIJD4P mBOqN0lKtWRstTdq5lAvwdKPHHf1AlbCi8Q156G26XZp0vKjbIsdr68b817OaldNgBy4Yzgo 3IVBdduXQpc0zjBMWS1NkTmyq9N1mVTHDo0IVT9pJ5srrzSP7iNjCCUkknl4+lr+8ECsPWVv 6vMNZdAuPlL2HpBYFVtjeOL6V6OD0bSokYq9w7U1WBrobCLZDrrPXSdLLJKL/kAV8fKxPC67 s4LUnOzel7nz6WsyXD8WTsslvWCzPCwa4=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 20/02/2023 11:51 am, Ross Lagerwall wrote:
>> From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>> Sent: Monday, February 20, 2023 11:04 AM
>> To: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
>> Cc: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>; Jan Beulich 
>> <JBeulich@xxxxxxxx>; Roger Pau Monne <roger.pau@xxxxxxxxxx>; Wei Liu 
>> <wl@xxxxxxx>; Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>; Ross Lagerwall 
>> <ross.lagerwall@xxxxxxxxxx>
>> 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



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.