Messages in this thread |  | | Date | Sun, 7 Jan 2018 17:14:57 -0500 | From | Konrad Rzeszutek Wilk <> | Subject | Re: [patch V2 2/2] x86/cpu: Implement CPU vulnerabilites sysfs functions |
| |
On Sun, Jan 07, 2018 at 10:48:01PM +0100, Thomas Gleixner wrote: > Implement the CPU vulnerabilty show functions for meltdown, spectre_v1 and > spectre_v2. > > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thank you! > --- > arch/x86/Kconfig | 1 + > arch/x86/kernel/cpu/bugs.c | 29 +++++++++++++++++++++++++++++ > 2 files changed, 30 insertions(+) > > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -89,6 +89,7 @@ config X86 > select GENERIC_CLOCKEVENTS_MIN_ADJUST > select GENERIC_CMOS_UPDATE > select GENERIC_CPU_AUTOPROBE > + select GENERIC_CPU_VULNERABILITIES > select GENERIC_EARLY_IOREMAP > select GENERIC_FIND_FIRST_BIT > select GENERIC_IOMAP > --- a/arch/x86/kernel/cpu/bugs.c > +++ b/arch/x86/kernel/cpu/bugs.c > @@ -10,6 +10,7 @@ > */ > #include <linux/init.h> > #include <linux/utsname.h> > +#include <linux/cpu.h> > #include <asm/bugs.h> > #include <asm/processor.h> > #include <asm/processor-flags.h> > @@ -60,3 +61,31 @@ void __init check_bugs(void) > set_memory_4k((unsigned long)__va(0), 1); > #endif > } > + > +#ifdef CONFIG_SYSFS > +ssize_t cpu_show_meltdown(struct device *dev, > + struct device_attribute *attr, char *buf) > +{ > + if (!boot_cpu_has_bug(X86_BUG_CPU_MELTDOWN)) > + return sprintf(buf, "Not affected\n"); > + if (boot_cpu_has(X86_FEATURE_PTI)) > + return sprintf(buf, "Mitigation: PTI\n"); > + return sprintf(buf, "Vulnerable\n"); > +} > + > +ssize_t cpu_show_spectre_v1(struct device *dev, > + struct device_attribute *attr, char *buf) > +{ > + if (!boot_cpu_has_bug(X86_BUG_SPECTRE_V1)) > + return sprintf(buf, "Not affected\n"); > + return sprintf(buf, "Vulnerable\n"); > +} > + > +ssize_t cpu_show_spectre_v2(struct device *dev, > + struct device_attribute *attr, char *buf) > +{ > + if (!boot_cpu_has_bug(X86_BUG_SPECTRE_V2)) > + return sprintf(buf, "Not affected\n"); > + return sprintf(buf, "Vulnerable\n"); > +} > +#endif > >
|  |