summaryrefslogtreecommitdiffstats
path: root/0002-sysfs-cpu-Add-vulnerability-folder.patch
diff options
context:
space:
mode:
Diffstat (limited to '0002-sysfs-cpu-Add-vulnerability-folder.patch')
-rw-r--r--0002-sysfs-cpu-Add-vulnerability-folder.patch154
1 files changed, 0 insertions, 154 deletions
diff --git a/0002-sysfs-cpu-Add-vulnerability-folder.patch b/0002-sysfs-cpu-Add-vulnerability-folder.patch
deleted file mode 100644
index 8f1ae3a6a..000000000
--- a/0002-sysfs-cpu-Add-vulnerability-folder.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From 87590ce6e373d1a5401f6539f0c59ef92dd924a9 Mon Sep 17 00:00:00 2001
-From: Thomas Gleixner <tglx@linutronix.de>
-Date: Sun, 7 Jan 2018 22:48:00 +0100
-Subject: [PATCH 2/2] sysfs/cpu: Add vulnerability folder
-
-As the meltdown/spectre problem affects several CPU architectures, it makes
-sense to have common way to express whether a system is affected by a
-particular vulnerability or not. If affected the way to express the
-mitigation should be common as well.
-
-Create /sys/devices/system/cpu/vulnerabilities folder and files for
-meltdown, spectre_v1 and spectre_v2.
-
-Allow architectures to override the show function.
-
-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.096657732@linutronix.de
----
- Documentation/ABI/testing/sysfs-devices-system-cpu | 16 ++++++++
- drivers/base/Kconfig | 3 ++
- drivers/base/cpu.c | 48 ++++++++++++++++++++++
- include/linux/cpu.h | 7 ++++
- 4 files changed, 74 insertions(+)
-
-diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu
-index f3d5817c4ef0..bd3a88e16d8b 100644
---- a/Documentation/ABI/testing/sysfs-devices-system-cpu
-+++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
-@@ -373,3 +373,19 @@ Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
- Description: information about CPUs heterogeneity.
-
- cpu_capacity: capacity of cpu#.
-+
-+What: /sys/devices/system/cpu/vulnerabilities
-+ /sys/devices/system/cpu/vulnerabilities/meltdown
-+ /sys/devices/system/cpu/vulnerabilities/spectre_v1
-+ /sys/devices/system/cpu/vulnerabilities/spectre_v2
-+Date: Januar 2018
-+Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
-+Description: Information about CPU vulnerabilities
-+
-+ The files are named after the code names of CPU
-+ vulnerabilities. The output of those files reflects the
-+ state of the CPUs in the system. Possible output values:
-+
-+ "Not affected" CPU is not affected by the vulnerability
-+ "Vulnerable" CPU is affected and no mitigation in effect
-+ "Mitigation: $M" CPU is affetcted and mitigation $M is in effect
-diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
-index 2f6614c9a229..37a71fd9043f 100644
---- a/drivers/base/Kconfig
-+++ b/drivers/base/Kconfig
-@@ -235,6 +235,9 @@ config GENERIC_CPU_DEVICES
- config GENERIC_CPU_AUTOPROBE
- bool
-
-+config GENERIC_CPU_VULNERABILITIES
-+ bool
-+
- config SOC_BUS
- bool
- select GLOB
-diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
-index 321cd7b4d817..825964efda1d 100644
---- a/drivers/base/cpu.c
-+++ b/drivers/base/cpu.c
-@@ -501,10 +501,58 @@ static void __init cpu_dev_register_generic(void)
- #endif
- }
-
-+#ifdef CONFIG_GENERIC_CPU_VULNERABILITIES
-+
-+ssize_t __weak cpu_show_meltdown(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ return sprintf(buf, "Not affected\n");
-+}
-+
-+ssize_t __weak cpu_show_spectre_v1(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ return sprintf(buf, "Not affected\n");
-+}
-+
-+ssize_t __weak cpu_show_spectre_v2(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ return sprintf(buf, "Not affected\n");
-+}
-+
-+static DEVICE_ATTR(meltdown, 0444, cpu_show_meltdown, NULL);
-+static DEVICE_ATTR(spectre_v1, 0444, cpu_show_spectre_v1, NULL);
-+static DEVICE_ATTR(spectre_v2, 0444, cpu_show_spectre_v2, NULL);
-+
-+static struct attribute *cpu_root_vulnerabilities_attrs[] = {
-+ &dev_attr_meltdown.attr,
-+ &dev_attr_spectre_v1.attr,
-+ &dev_attr_spectre_v2.attr,
-+ NULL
-+};
-+
-+static const struct attribute_group cpu_root_vulnerabilities_group = {
-+ .name = "vulnerabilities",
-+ .attrs = cpu_root_vulnerabilities_attrs,
-+};
-+
-+static void __init cpu_register_vulnerabilities(void)
-+{
-+ if (sysfs_create_group(&cpu_subsys.dev_root->kobj,
-+ &cpu_root_vulnerabilities_group))
-+ pr_err("Unable to register CPU vulnerabilities\n");
-+}
-+
-+#else
-+static inline void cpu_register_vulnerabilities(void) { }
-+#endif
-+
- void __init cpu_dev_init(void)
- {
- if (subsys_system_register(&cpu_subsys, cpu_root_attr_groups))
- panic("Failed to register CPU subsystem");
-
- cpu_dev_register_generic();
-+ cpu_register_vulnerabilities();
- }
-diff --git a/include/linux/cpu.h b/include/linux/cpu.h
-index 938ea8ae0ba4..c816e6f2730c 100644
---- a/include/linux/cpu.h
-+++ b/include/linux/cpu.h
-@@ -47,6 +47,13 @@ extern void cpu_remove_dev_attr(struct device_attribute *attr);
- extern int cpu_add_dev_attr_group(struct attribute_group *attrs);
- extern void cpu_remove_dev_attr_group(struct attribute_group *attrs);
-
-+extern ssize_t cpu_show_meltdown(struct device *dev,
-+ struct device_attribute *attr, char *buf);
-+extern ssize_t cpu_show_spectre_v1(struct device *dev,
-+ struct device_attribute *attr, char *buf);
-+extern ssize_t cpu_show_spectre_v2(struct device *dev,
-+ struct device_attribute *attr, char *buf);
-+
- extern __printf(4, 5)
- struct device *cpu_device_create(struct device *parent, void *drvdata,
- const struct attribute_group **groups,
---
-2.14.3
-