On Sun, Nov 25, 2018 at 07:33:32PM +0100, Thomas Gleixner wrote:
> The Spectre V2 printout in cpu_show_common() handles conditionals for the
> various mitigation methods directly in the sprintf() argument list. That's
> hard to read and will become unreadable if more complex decisions need to
> be made for a particular method.
> 
> Move the conditionals for STIBP and IBPB string selection into helper
> functions, so they can be extended later on.
> 

Yeeey!


Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>

Thank you!
> Signed-off-by: Tim Chen <tim.c.c...@linux.intel.com>
> Signed-off-by: Thomas Gleixner <t...@linutronix.de>
> 
> ---
>  arch/x86/kernel/cpu/bugs.c |   20 ++++++++++++++++++--
>  1 file changed, 18 insertions(+), 2 deletions(-)
> 
> --- a/arch/x86/kernel/cpu/bugs.c
> +++ b/arch/x86/kernel/cpu/bugs.c
> @@ -844,6 +844,22 @@ static ssize_t l1tf_show_state(char *buf
>  }
>  #endif
>  
> +static char *stibp_state(void)
> +{
> +     if (x86_spec_ctrl_base & SPEC_CTRL_STIBP)
> +             return ", STIBP";
> +     else
> +             return "";
> +}
> +
> +static char *ibpb_state(void)
> +{
> +     if (boot_cpu_has(X86_FEATURE_USE_IBPB))
> +             return ", IBPB";
> +     else
> +             return "";
> +}
> +
>  static ssize_t cpu_show_common(struct device *dev, struct device_attribute 
> *attr,
>                              char *buf, unsigned int bug)
>  {
> @@ -865,9 +881,9 @@ static ssize_t cpu_show_common(struct de
>  
>       case X86_BUG_SPECTRE_V2:
>               return sprintf(buf, "%s%s%s%s%s%s\n", 
> spectre_v2_strings[spectre_v2_enabled],
> -                            boot_cpu_has(X86_FEATURE_USE_IBPB) ? ", IBPB" : 
> "",
> +                            ibpb_state(),
>                              boot_cpu_has(X86_FEATURE_USE_IBRS_FW) ? ", 
> IBRS_FW" : "",
> -                            (x86_spec_ctrl_base & SPEC_CTRL_STIBP) ? ", 
> STIBP" : "",
> +                            stibp_state(),
>                              boot_cpu_has(X86_FEATURE_RSB_CTXSW) ? ", RSB 
> filling" : "",
>                              spectre_v2_module_string());
>  
> 
> 

Reply via email to