[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] x86/entry: Partially revert IST-exit checks
- To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- From: Jan Beulich <jbeulich@xxxxxxxx>
- Date: Tue, 19 Sep 2023 17:19:23 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.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=cwQ/77f2HwI4YE4l1+opbRe7CbBa5Kl5pUJ+LjrDpJU=; b=idjYwJnXexaucMnWcYvpIcAzyBHL4795J5E3XAx5OMiIHk3BRy4zeyG3zwYGQV4eukEFFwXxnzkc/ImnT6PPr57DN5Podw9jqBpuFAPkMaN6onPg530kqWaI4jv/h4qFenbu/B9AgFnz9obffpN24r33U0vi3kTd1W82krqZM9FC/gE+ucsLsQ92YQHCaJ5olarGw8aqC5+NwmB1nSqpvrkeA5Zi3kcJTHsjJ1OBYq6fWx778LwS9kk8JCM2sSaYhXdDBDKlc9kBPSX7u8Uurw1VIePme25/jJGY40YjfbuQSXnDy1aga1qF0dX54E7z/vSaFLSJZ4WZ+rM1KwTGlA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ldYhESAKjYrdcnx1PYmRMyhCULJ4CR6uQfYrrStopVlIS1qcepBOEOakE3vBgadGfKIZIsLQgEjdXz/K9/9XV88g/xebbUc7rf3ecZNBOQ0T0Ch41mBy614tqkzUjQy70/scpg42vCMxLOBT+7IZFAK3guxz39kWx5tcmsQklKLkFP1dMX3Z/pmXQ0YxHcmnEn62ycfj2ayqlslEkyIDDyM/0aMAtBbnx3bb8EUUQusVJFkK/F09eGs8SWiffIQSzh1sjiM5KdmGWF9sltWniMt6z3iBbtAvSZYMYRukpnh1NOX5aD0r7yOz/H4mnZ+kUlLks9RYoQac/G2N7RbEWA==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
- Cc: Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Tue, 19 Sep 2023 15:19:33 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 19.09.2023 17:01, Andrew Cooper wrote:
> The patch adding check_ist_exit() neglected to consider reset_stack_and_jump()
> leaving C and entering one of the Xen exit paths. The value in %r12 is stale,
> and depending on compiler decisions may not be 0.
And it may also not be zero that we would be looking for. I think this
wants expressing differently. The value in %r12 simply doesn't survive,
and this has at best little to do with compiler decisions.
> This shows up in Gitlab CI for the Clang build:
>
> https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/5112783827
>
> and in OSSTest for GCC 8:
>
>
> http://logs.test-lab.xenproject.org/osstest/logs/183045/test-amd64-amd64-xl-qemuu-debianhvm-amd64/serial-pinot0.log
>
> There's no straightforward way to reconstruct the IST-exit-ness on the
> exit-to-guest path after a context switch. For now, we only need IST-exit on
> the return-to-Xen path.
>
> Fixes: 21bdc25b05a0 ("x86/entry: Track the IST-ness of an entry for the exit
> paths")
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Code change itself:
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
Jan
|