aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.9.21/0054-sysfs-cpu-Add-vulnerability-folder.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0054-sysfs-cpu-Add-vulnerability-folder.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.9.21/0054-sysfs-cpu-Add-vulnerability-folder.patch157
1 files changed, 0 insertions, 157 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0054-sysfs-cpu-Add-vulnerability-folder.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0054-sysfs-cpu-Add-vulnerability-folder.patch
deleted file mode 100644
index a7a0183b..00000000
--- a/common/recipes-kernel/linux/linux-yocto-4.9.21/0054-sysfs-cpu-Add-vulnerability-folder.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From a03760456446357758d4f6702df7cb9446e022e0 Mon Sep 17 00:00:00 2001
-From: Thomas Gleixner <tglx@linutronix.de>
-Date: Sun, 7 Jan 2018 22:48:00 +0100
-Subject: [PATCH 054/103] sysfs/cpu: Add vulnerability folder
-
-commit 87590ce6e373d1a5401f6539f0c59ef92dd924a9 upstream.
-
-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
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- 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 4987417..8b30a48 100644
---- a/Documentation/ABI/testing/sysfs-devices-system-cpu
-+++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
-@@ -350,3 +350,19 @@ Contact: Linux ARM Kernel Mailing list <linux-arm-kernel@lists.infradead.org>
- Description: AArch64 CPU registers
- 'identification' directory exposes the CPU ID registers for
- identifying model and revision of the 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 d02e7c0..0651010 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
-
-diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
-index 4c28e1a..56b6c85 100644
---- a/drivers/base/cpu.c
-+++ b/drivers/base/cpu.c
-@@ -499,10 +499,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 e571128..2f475ad 100644
---- a/include/linux/cpu.h
-+++ b/include/linux/cpu.h
-@@ -44,6 +44,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.7.4
-