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

Re: [PATCH] x86/kexec: Fix kexec-reboot with CET active


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Tue, 8 Mar 2022 16:22:12 +0000
  • Accept-language: en-GB, en-US
  • 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=2tOxA7101Hx6xpBYG1rG8rx/WHUgXWK1sWB7SXyUwXc=; b=eBY3UF+/vTAjjUL0x7+bUZUzhemaIaIv/0zTETSc/rjH71R/LGlRjCOxA6BhW+/feuBp0LiWe+kCzTwaeOKo1Mu2UQezvJWtVNw53alu4DmpTTfNsRzG3juaUG4DoGN6klt3PwW5FfLDtyPri22uq8TgVDXJv7rX5nCjD7+EIpsocOvFsVWmqU4AY7jaclu+8d2NwB62/ikGkdjgVjd+zld6yUTq9rsEl9tIRgTAYjeEL33MvelJ/6vJLWfG87MzanIc++/sYtykV1zF1WoqHS5LtHNQ9V4mpspsJNRnvmsW9gualOJgspL66Ff6NCJ6BdjfWxDllp/twVyhikoYpA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=amE+oeYp+iuYqAEyVK7Z0LQ6ToAhmwvnNDes6iiTetEZIy5QKB6oZw2ebT+hfd/oDHZCvwrWvQxXzIZzOiDITNU/QborsnWUqlUuMmMIggZpOHhoPoylKWbtb+eHAnrvaGNck+WR/5iXn2iNOnLQnOCPUHwSv4LzPZiyLc4kAPZPOSAuSTBeV02J77vBRaYWcuhClmq/c7W2rAqSRzTNt0TMi1XFrWmzRCQ48cyJNgsSOcEG43pZNBRdb4wm0r5Pc51QZR9Rrjgil4VhbuHFE0G6shyU14tGy+wLMCSSHh9U2/WwqI9tniLvLQFdpiwnEMPEyvwenio8anhk5pW0Pw==
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com
  • Cc: Roger Pau Monne <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, David Vrabel <dvrabel@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 08 Mar 2022 16:22:27 +0000
  • Ironport-data: A9a23:gJNeH61Lf6XWYXzp4PbD5fpxkn2cJEfYwER7XKvMYLTBsI5bpzAOm mcZUGqDOvyJZGr8Kop0bYjj9UoOvcTTx4c1GQU/pC1hF35El5HIVI+TRqvS04J+DSFhoGZPt Zh2hgzodZhsJpPkjk7xdOCn9xGQ7InQLlbGILes1htZGEk1EE/NtTo5w7Rj2tUw0YDja++wk YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx /1vj66SSlc0EpfolcEyfitaGi9mOfRZreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr KJCbmpXN1ba2rzwkOnTpupE36zPKOHCOo8Ft24m5jbeFfs8GrjIQrnQ5M8e1zA17ixLNaiDO JBAMWI2BPjGSxNeGlsFGLs6peb2pkP6dH5FiGqShbVitgA/yyQuieOwYbI5YOeiSdtPl0yVo krN9mLlCxtcMtGDoRKV/3TpiuLRkCfTXIMJCKb+5vNsmEeUxGEYFFsRT1TTifuzh1O6WtlfA 1cJ4Sdopq83nGS0SvHtUhv+p2SL1iPwQPIJTbd8slvUjPOJvUDJXQDoUwKtdvQEjv0URmw3+ mWtkvbGKA5tubONTSuCo+L8QSyJBQAZKmoLZCkhRAQD4sX+rIxbsi8jXuqPA4bu0ISrRGiYL ySi6XFn2u5N1ZJjO7CToAif6w9AsKQlWeLcCu//emu+pj10a4e+D2BDwQiKtK0QRGp1o7Tog ZTlpyR8xL1WZX1uvHbUKAnoIF1Pz6zdWNE7qQQzd6TNDxz3pxaekXl4uVmS3ntBPMceYiPOa 0TOow5X75I7FCL0MfEpPNLsUJ16kPOI+THZuhb8NIEmjn9ZLlPvwc2TTRTIgzCFfLYEy8nTx qt3ge7zVC1HWMyLPRK9RvsH0K9D+8zN7Ti7eHwP9Dz+ieD2TCfMEd8taQLSBshkvPLsiFiEq L53aprVoyizpcWjO0E7B6ZIdgtURZX6bLirw/FqmhmrflI2SDt/WqWKndvMueVNxsxoqwsBx VnkMmdww1vjn3zXbwKMb3FocrT0Wphj63k8OEQR0ZyAhxDPva7HAH8jSqYK
  • Ironport-hdrordr: A9a23:UbPPAKtNdk8YsWkADPYqMlbC7skC2IMji2hC6mlwRA09TyXGra +TdaUguSMc1gx9ZJh5o6H8BEGBKUmskKKceeEqTPiftXrdyReVxeZZnMXfKlzbamHDH4tmu5 uIHJIOceEYYWIK7voSpTPIaerIo+P3sZxA592ut0uFJDsCA8oLjmdE40SgYzZLrWF9dMEE/f Gnl656Tk+bCBIqh7OAdx44tob41r/2vaOjRSRDKw8s6QGIgz/twqX9CQKk0hAXVC4K6as+8E De+jaJppmLgrWe8FvxxmXT55NZlJ/K0d1YHvGBjcATN3HFlhuoXoJ8QLeP1QpF491HqWxa0u UkkS1Qe/ib2EmhOV1dZiGdnTUI5QxerkMKD2Xo2EcL7/aJHA7SQPAx+r6xOiGplXbI+usMip 6jlljpx6a+R3n77VXAzsmNWBdwmkWup30+1eYVknxESIMbLKRctIoF4SpuYdw99Q/Bmcka+d NVfYnhDTdtACenRmGcunMqzM2nX3w1EBvDSk8eutaN2zwTmHxi1UMXyMEWg39FrfsGOtR5zv WBNr4tmKBFT8cQY644DOAdQdGvAmiIRR7XKmqdLVnuCalCMXPQrJz85qkz+YiRCdY15Yp3nI 6EXEJTtGY0dU6rAcqS3IdT+hSIW2m5VSSF8LAp23G4gMyKeFPGC1zwdLl1qbrSnxw2OLyvZ8 qO
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYMmV+YpEym/vCiE+yJp1ocNsJiqy1JJaAgACH8wA=
  • Thread-topic: [PATCH] x86/kexec: Fix kexec-reboot with CET active

On 08/03/2022 08:15, Jan Beulich wrote:
> On 07.03.2022 21:53, Andrew Cooper wrote:
>> --- a/xen/arch/x86/machine_kexec.c
>> +++ b/xen/arch/x86/machine_kexec.c
>> @@ -156,6 +156,16 @@ void machine_kexec(struct kexec_image *image)
>>       */
>>      local_irq_disable();
>>  
>> +    /* Reset CPUID masking and faulting to the host's default. */
>> +    ctxt_switch_levelling(NULL);
>> +
>> +    /* Disable CET. */
>> +    if ( read_cr4() & X86_CR4_CET )
>> +    {
>> +        wrmsrl(MSR_S_CET, 0);
>> +        write_cr4(read_cr4() & ~X86_CR4_CET);
>> +    }
>> +
>>      /* Now regular interrupts are disabled, we need to reduce the impact
>>       * of interrupts not disabled by 'cli'.
>>       *
> Besides introducing somewhat of a disconnect between the comment in
> context here and the earlier local_irq_disable(), is it really
> necessary to do both actions with IRQs off?

We are a handful of instructions away from discarding Xen's context
entirely.  IRQs are not a relevant concern.

If we're nitpicking, irqs want to be off before kexecing gets set,
because absolutely nothing good can come of handling interrupts later
than that point.

~Andrew

 


Rackspace

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