From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
"Wei Liu" <wl@xen.org>, "Roger Pau Monné" <roger.pau@citrix.com>
Subject: Re: [PATCH 2/4] x86: reduce CET-SS related #ifdef-ary
Date: Tue, 28 Jul 2020 21:33:23 +0200 [thread overview]
Message-ID: <d3eb260b-e9e8-1178-828e-73eb119a01ba@suse.com> (raw)
In-Reply-To: <5abaf9e1-c7ba-a58c-d735-47430013eb65@citrix.com>
On 28.07.2020 16:29, Andrew Cooper wrote:
> On 15/07/2020 11:48, Jan Beulich wrote:
>> Now that I've done this I'm not longer sure which direction is better to
>> follow: On one hand this introduces dead code (even if just NOPs) into
>> CET-SS-disabled builds. Otoh this is a step towards breaking the tool
>> chain version dependency of the feature.
>
> The toolchain dependency can't be broken, because of incssp and wrss in C.
>
> There is 0 value and added complexity to trying to partially support
> legacy toolchains.
Complexity: Yes. Zero value - surely not. I'm having a hard time seeing
why you may think so. Would you mind explaining yourself?
> Furthermore, this adds a pile of nops into builds
> which have specifically opted out of CONFIG_XEN_SHSTK, which isn't ideal
> for embedded usecases.
>
> As a consequence, I think its better to keep things consistent with how
> they are now.
>
> One thing I already considered was to make cpu_has_xen_shstk return
> false for !CONFIG_XEN_SHSTK, which subsumes at least one hunk in this
> change.
One is better than nothing, but still pretty little.
>> --- a/xen/arch/x86/x86_64/compat/entry.S
>> +++ b/xen/arch/x86/x86_64/compat/entry.S
>> @@ -198,9 +198,7 @@ ENTRY(cr4_pv32_restore)
>>
>> /* See lstar_enter for entry register state. */
>> ENTRY(cstar_enter)
>> -#ifdef CONFIG_XEN_SHSTK
>> ALTERNATIVE "", "setssbsy", X86_FEATURE_XEN_SHSTK
>> -#endif
>
> I can't currently think of any option better than leaving these ifdef's
> in place, other than perhaps
>
> #ifdef CONFIG_XEN_SHSTK
> # define MAYBE_SETSSBSY ALTERNATIVE "", "setssbsy", X86_FEATURE_XEN_SHSTK
> #else
> # define MAYBE_SETSSBSY
> #endif
>
> and I don't like it much.
Neither do I. Then we'd also switch STAC/CLAC to MAYBE_STAC / MAYBE_CLAC.
> The think is that everything present there is semantically relevant
> information, and dropping it makes the code worse rather than better.
Everything? I don't see why the #ifdef-s are semantically relevant
(the needed infor is already conveyed by the ALTERNATIVE and its
arguments). I consider them primarily harming readability, and thus I
think we should strive to eliminate them if we can. Hence this patch
...
Jan
next prev parent reply other threads:[~2020-07-28 19:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-15 10:47 [PATCH 0/4] x86: some assembler macro rework Jan Beulich
2020-07-15 10:48 ` [PATCH 1/4] x86: replace __ASM_{CL,ST}AC Jan Beulich
2020-07-27 14:55 ` Roger Pau Monné
2020-07-27 19:47 ` Jan Beulich
2020-07-28 9:06 ` Roger Pau Monné
2020-07-31 8:05 ` Jan Beulich
2020-07-31 8:12 ` Roger Pau Monné
2020-07-28 13:59 ` Andrew Cooper
2020-07-28 19:24 ` Jan Beulich
2020-07-28 13:55 ` Andrew Cooper
2020-07-28 19:18 ` Jan Beulich
2020-07-31 8:00 ` Jan Beulich
2020-07-15 10:48 ` [PATCH 2/4] x86: reduce CET-SS related #ifdef-ary Jan Beulich
2020-07-27 15:00 ` Roger Pau Monné
2020-07-27 19:50 ` Jan Beulich
2020-07-28 8:36 ` Roger Pau Monné
2020-07-28 14:29 ` Andrew Cooper
2020-07-28 19:33 ` Jan Beulich [this message]
2020-07-15 10:49 ` [PATCH 3/4] x86: drop ASM_{CL,ST}AC Jan Beulich
2020-07-27 15:10 ` Roger Pau Monné
2020-07-28 14:51 ` Andrew Cooper
2020-07-28 19:41 ` Jan Beulich
2020-07-15 10:49 ` [PATCH 4/4] x86: fold indirect_thunk_asm.h into asm-defns.h Jan Beulich
2020-07-27 15:16 ` Roger Pau Monné
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d3eb260b-e9e8-1178-828e-73eb119a01ba@suse.com \
--to=jbeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=roger.pau@citrix.com \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.