lkml.org 
[lkml]   [2018]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 11/76] x86/cpu: Implement CPU vulnerabilites sysfs functions
    3.16.56-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Thomas Gleixner <tglx@linutronix.de>

    commit 61dc0f555b5c761cdafb0ba5bd41ecf22d68a4c4 upstream.

    Implement the CPU vulnerabilty show functions for meltdown, spectre_v1 and
    spectre_v2.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Linus Torvalds <torvalds@linuxfoundation.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: David Woodhouse <dwmw@amazon.co.uk>
    Link: https://lkml.kernel.org/r/20180107214913.177414879@linutronix.de
    [bwh: Backported to 3.16:
    - Meltdown mitigation feature flag is KAISER
    - Adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    arch/x86/Kconfig | 1 +
    arch/x86/kernel/cpu/bugs.c | 29 +++++++++++++++++++++++++++++
    2 files changed, 30 insertions(+)

    --- a/arch/x86/Kconfig
    +++ b/arch/x86/Kconfig
    @@ -130,6 +130,7 @@ config X86
    select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64
    select HAVE_CC_STACKPROTECTOR
    select GENERIC_CPU_AUTOPROBE
    + select GENERIC_CPU_VULNERABILITIES
    select HAVE_ARCH_AUDITSYSCALL
    select ARCH_SUPPORTS_ATOMIC_RMW

    --- a/arch/x86/kernel/cpu/bugs.c
    +++ b/arch/x86/kernel/cpu/bugs.c
    @@ -9,6 +9,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>
    @@ -122,3 +123,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_KAISER))
    + 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
    \
     
     \ /
      Last update: 2018-03-12 04:15    [W:4.063 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site