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()); > > >