Linux v4.15-rc8
This commit is contained in:
parent
56578f5c35
commit
825a0e7a9c
@ -1,66 +0,0 @@
|
|||||||
From e4d0e84e490790798691aaa0f2e598637f1867ec Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Lendacky <thomas.lendacky@amd.com>
|
|
||||||
Date: Mon, 8 Jan 2018 16:09:21 -0600
|
|
||||||
Subject: [PATCH 1/2] x86/cpu/AMD: Make LFENCE a serializing instruction
|
|
||||||
|
|
||||||
To aid in speculation control, make LFENCE a serializing instruction
|
|
||||||
since it has less overhead than MFENCE. This is done by setting bit 1
|
|
||||||
of MSR 0xc0011029 (DE_CFG). Some families that support LFENCE do not
|
|
||||||
have this MSR. For these families, the LFENCE instruction is already
|
|
||||||
serializing.
|
|
||||||
|
|
||||||
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
|
|
||||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
||||||
Reviewed-by: Reviewed-by: Borislav Petkov <bp@suse.de>
|
|
||||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
||||||
Cc: Tim Chen <tim.c.chen@linux.intel.com>
|
|
||||||
Cc: Dave Hansen <dave.hansen@intel.com>
|
|
||||||
Cc: Borislav Petkov <bp@alien8.de>
|
|
||||||
Cc: Dan Williams <dan.j.williams@intel.com>
|
|
||||||
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
|
||||||
Cc: Greg Kroah-Hartman <gregkh@linux-foundation.org>
|
|
||||||
Cc: David Woodhouse <dwmw@amazon.co.uk>
|
|
||||||
Cc: Paul Turner <pjt@google.com>
|
|
||||||
Link: https://lkml.kernel.org/r/20180108220921.12580.71694.stgit@tlendack-t1.amdoffice.net
|
|
||||||
---
|
|
||||||
arch/x86/include/asm/msr-index.h | 2 ++
|
|
||||||
arch/x86/kernel/cpu/amd.c | 10 ++++++++++
|
|
||||||
2 files changed, 12 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
|
|
||||||
index ab022618a50a..1e7d710fef43 100644
|
|
||||||
--- a/arch/x86/include/asm/msr-index.h
|
|
||||||
+++ b/arch/x86/include/asm/msr-index.h
|
|
||||||
@@ -352,6 +352,8 @@
|
|
||||||
#define FAM10H_MMIO_CONF_BASE_MASK 0xfffffffULL
|
|
||||||
#define FAM10H_MMIO_CONF_BASE_SHIFT 20
|
|
||||||
#define MSR_FAM10H_NODE_ID 0xc001100c
|
|
||||||
+#define MSR_F10H_DECFG 0xc0011029
|
|
||||||
+#define MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT 1
|
|
||||||
|
|
||||||
/* K8 MSRs */
|
|
||||||
#define MSR_K8_TOP_MEM1 0xc001001a
|
|
||||||
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
|
|
||||||
index bcb75dc97d44..5b438d81beb2 100644
|
|
||||||
--- a/arch/x86/kernel/cpu/amd.c
|
|
||||||
+++ b/arch/x86/kernel/cpu/amd.c
|
|
||||||
@@ -829,6 +829,16 @@ static void init_amd(struct cpuinfo_x86 *c)
|
|
||||||
set_cpu_cap(c, X86_FEATURE_K8);
|
|
||||||
|
|
||||||
if (cpu_has(c, X86_FEATURE_XMM2)) {
|
|
||||||
+ /*
|
|
||||||
+ * A serializing LFENCE has less overhead than MFENCE, so
|
|
||||||
+ * use it for execution serialization. On families which
|
|
||||||
+ * don't have that MSR, LFENCE is already serializing.
|
|
||||||
+ * msr_set_bit() uses the safe accessors, too, even if the MSR
|
|
||||||
+ * is not present.
|
|
||||||
+ */
|
|
||||||
+ msr_set_bit(MSR_F10H_DECFG,
|
|
||||||
+ MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT);
|
|
||||||
+
|
|
||||||
/* MFENCE stops RDTSC speculation */
|
|
||||||
set_cpu_cap(c, X86_FEATURE_MFENCE_RDTSC);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.14.3
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
|||||||
From 99c6fa2511d8a683e61468be91b83f85452115fa Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Woodhouse <dwmw@amazon.co.uk>
|
|
||||||
Date: Sat, 6 Jan 2018 11:49:23 +0000
|
|
||||||
Subject: [PATCH 1/2] x86/cpufeatures: Add X86_BUG_SPECTRE_V[12]
|
|
||||||
|
|
||||||
Add the bug bits for spectre v1/2 and force them unconditionally for all
|
|
||||||
cpus.
|
|
||||||
|
|
||||||
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
|
|
||||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
||||||
Cc: gnomes@lxorguk.ukuu.org.uk
|
|
||||||
Cc: Rik van Riel <riel@redhat.com>
|
|
||||||
Cc: Andi Kleen <ak@linux.intel.com>
|
|
||||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
||||||
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
|
||||||
Cc: Jiri Kosina <jikos@kernel.org>
|
|
||||||
Cc: Andy Lutomirski <luto@amacapital.net>
|
|
||||||
Cc: Dave Hansen <dave.hansen@intel.com>
|
|
||||||
Cc: Kees Cook <keescook@google.com>
|
|
||||||
Cc: Tim Chen <tim.c.chen@linux.intel.com>
|
|
||||||
Cc: Greg Kroah-Hartman <gregkh@linux-foundation.org>
|
|
||||||
Cc: Paul Turner <pjt@google.com>
|
|
||||||
Cc: stable@vger.kernel.org
|
|
||||||
Link: https://lkml.kernel.org/r/1515239374-23361-2-git-send-email-dwmw@amazon.co.uk
|
|
||||||
---
|
|
||||||
arch/x86/include/asm/cpufeatures.h | 2 ++
|
|
||||||
arch/x86/kernel/cpu/common.c | 3 +++
|
|
||||||
2 files changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
|
|
||||||
index 21ac898df2d8..1641c2f96363 100644
|
|
||||||
--- a/arch/x86/include/asm/cpufeatures.h
|
|
||||||
+++ b/arch/x86/include/asm/cpufeatures.h
|
|
||||||
@@ -342,5 +342,7 @@
|
|
||||||
#define X86_BUG_MONITOR X86_BUG(12) /* IPI required to wake up remote CPU */
|
|
||||||
#define X86_BUG_AMD_E400 X86_BUG(13) /* CPU is among the affected by Erratum 400 */
|
|
||||||
#define X86_BUG_CPU_MELTDOWN X86_BUG(14) /* CPU is affected by meltdown attack and needs kernel page table isolation */
|
|
||||||
+#define X86_BUG_SPECTRE_V1 X86_BUG(15) /* CPU is affected by Spectre variant 1 attack with conditional branches */
|
|
||||||
+#define X86_BUG_SPECTRE_V2 X86_BUG(16) /* CPU is affected by Spectre variant 2 attack with indirect branches */
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_CPUFEATURES_H */
|
|
||||||
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
|
|
||||||
index 2d3bd2215e5b..372ba3fb400f 100644
|
|
||||||
--- a/arch/x86/kernel/cpu/common.c
|
|
||||||
+++ b/arch/x86/kernel/cpu/common.c
|
|
||||||
@@ -902,6 +902,9 @@ static void __init early_identify_cpu(struct cpuinfo_x86 *c)
|
|
||||||
if (c->x86_vendor != X86_VENDOR_AMD)
|
|
||||||
setup_force_cpu_bug(X86_BUG_CPU_MELTDOWN);
|
|
||||||
|
|
||||||
+ setup_force_cpu_bug(X86_BUG_SPECTRE_V1);
|
|
||||||
+ setup_force_cpu_bug(X86_BUG_SPECTRE_V2);
|
|
||||||
+
|
|
||||||
fpu__init_system(c);
|
|
||||||
|
|
||||||
#ifdef CONFIG_X86_32
|
|
||||||
--
|
|
||||||
2.14.3
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -1,82 +0,0 @@
|
|||||||
From 9c6a73c75864ad9fa49e5fa6513e4c4071c0e29f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tom Lendacky <thomas.lendacky@amd.com>
|
|
||||||
Date: Mon, 8 Jan 2018 16:09:32 -0600
|
|
||||||
Subject: [PATCH 2/2] x86/cpu/AMD: Use LFENCE_RDTSC in preference to
|
|
||||||
MFENCE_RDTSC
|
|
||||||
|
|
||||||
With LFENCE now a serializing instruction, use LFENCE_RDTSC in preference
|
|
||||||
to MFENCE_RDTSC. However, since the kernel could be running under a
|
|
||||||
hypervisor that does not support writing that MSR, read the MSR back and
|
|
||||||
verify that the bit has been set successfully. If the MSR can be read
|
|
||||||
and the bit is set, then set the LFENCE_RDTSC feature, otherwise set the
|
|
||||||
MFENCE_RDTSC feature.
|
|
||||||
|
|
||||||
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
|
|
||||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
||||||
Reviewed-by: Reviewed-by: Borislav Petkov <bp@suse.de>
|
|
||||||
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
||||||
Cc: Tim Chen <tim.c.chen@linux.intel.com>
|
|
||||||
Cc: Dave Hansen <dave.hansen@intel.com>
|
|
||||||
Cc: Borislav Petkov <bp@alien8.de>
|
|
||||||
Cc: Dan Williams <dan.j.williams@intel.com>
|
|
||||||
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
|
||||||
Cc: Greg Kroah-Hartman <gregkh@linux-foundation.org>
|
|
||||||
Cc: David Woodhouse <dwmw@amazon.co.uk>
|
|
||||||
Cc: Paul Turner <pjt@google.com>
|
|
||||||
Link: https://lkml.kernel.org/r/20180108220932.12580.52458.stgit@tlendack-t1.amdoffice.net
|
|
||||||
---
|
|
||||||
arch/x86/include/asm/msr-index.h | 1 +
|
|
||||||
arch/x86/kernel/cpu/amd.c | 18 ++++++++++++++++--
|
|
||||||
2 files changed, 17 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h
|
|
||||||
index 1e7d710fef43..fa11fb1fa570 100644
|
|
||||||
--- a/arch/x86/include/asm/msr-index.h
|
|
||||||
+++ b/arch/x86/include/asm/msr-index.h
|
|
||||||
@@ -354,6 +354,7 @@
|
|
||||||
#define MSR_FAM10H_NODE_ID 0xc001100c
|
|
||||||
#define MSR_F10H_DECFG 0xc0011029
|
|
||||||
#define MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT 1
|
|
||||||
+#define MSR_F10H_DECFG_LFENCE_SERIALIZE BIT_ULL(MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT)
|
|
||||||
|
|
||||||
/* K8 MSRs */
|
|
||||||
#define MSR_K8_TOP_MEM1 0xc001001a
|
|
||||||
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
|
|
||||||
index 5b438d81beb2..ea831c858195 100644
|
|
||||||
--- a/arch/x86/kernel/cpu/amd.c
|
|
||||||
+++ b/arch/x86/kernel/cpu/amd.c
|
|
||||||
@@ -829,6 +829,9 @@ static void init_amd(struct cpuinfo_x86 *c)
|
|
||||||
set_cpu_cap(c, X86_FEATURE_K8);
|
|
||||||
|
|
||||||
if (cpu_has(c, X86_FEATURE_XMM2)) {
|
|
||||||
+ unsigned long long val;
|
|
||||||
+ int ret;
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* A serializing LFENCE has less overhead than MFENCE, so
|
|
||||||
* use it for execution serialization. On families which
|
|
||||||
@@ -839,8 +842,19 @@ static void init_amd(struct cpuinfo_x86 *c)
|
|
||||||
msr_set_bit(MSR_F10H_DECFG,
|
|
||||||
MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT);
|
|
||||||
|
|
||||||
- /* MFENCE stops RDTSC speculation */
|
|
||||||
- set_cpu_cap(c, X86_FEATURE_MFENCE_RDTSC);
|
|
||||||
+ /*
|
|
||||||
+ * Verify that the MSR write was successful (could be running
|
|
||||||
+ * under a hypervisor) and only then assume that LFENCE is
|
|
||||||
+ * serializing.
|
|
||||||
+ */
|
|
||||||
+ ret = rdmsrl_safe(MSR_F10H_DECFG, &val);
|
|
||||||
+ if (!ret && (val & MSR_F10H_DECFG_LFENCE_SERIALIZE)) {
|
|
||||||
+ /* A serializing LFENCE stops RDTSC speculation */
|
|
||||||
+ set_cpu_cap(c, X86_FEATURE_LFENCE_RDTSC);
|
|
||||||
+ } else {
|
|
||||||
+ /* MFENCE stops RDTSC speculation */
|
|
||||||
+ set_cpu_cap(c, X86_FEATURE_MFENCE_RDTSC);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
--
|
|
||||||
2.14.3
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
From e5d5c9682aa02a6b9c0c6bd446d433b924441679 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
|
|
||||||
Date: Tue, 28 Nov 2017 10:02:35 +0100
|
|
||||||
Subject: [PATCH 3/3] x86/PCI: limit the size of the 64bit BAR to 256GB
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
This avoids problems with Xen which hides some memory resources from the
|
|
||||||
OS and potentially also allows memory hotplug while this fixup is
|
|
||||||
enabled.
|
|
||||||
|
|
||||||
Signed-off-by: Christian König <christian.koenig@amd.com>
|
|
||||||
---
|
|
||||||
arch/x86/pci/fixup.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c
|
|
||||||
index c817ab85dc82..149adbc7f2a3 100644
|
|
||||||
--- a/arch/x86/pci/fixup.c
|
|
||||||
+++ b/arch/x86/pci/fixup.c
|
|
||||||
@@ -701,7 +701,7 @@ static void pci_amd_enable_64bit_bar(struct pci_dev *dev)
|
|
||||||
res->name = "PCI Bus 0000:00";
|
|
||||||
res->flags = IORESOURCE_PREFETCH | IORESOURCE_MEM |
|
|
||||||
IORESOURCE_MEM_64 | IORESOURCE_WINDOW;
|
|
||||||
- res->start = 0x100000000ull;
|
|
||||||
+ res->start = 0xbd00000000ull;
|
|
||||||
res->end = 0xfd00000000ull - 1;
|
|
||||||
|
|
||||||
/* Just grab the free area behind system memory for this */
|
|
||||||
--
|
|
||||||
2.11.0
|
|
||||||
|
|
15
kernel.spec
15
kernel.spec
@ -67,9 +67,9 @@ Summary: The Linux kernel
|
|||||||
# The next upstream release sublevel (base_sublevel+1)
|
# The next upstream release sublevel (base_sublevel+1)
|
||||||
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
|
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
|
||||||
# The rc snapshot level
|
# The rc snapshot level
|
||||||
%global rcrev 7
|
%global rcrev 8
|
||||||
# The git snapshot level
|
# The git snapshot level
|
||||||
%define gitrev 4
|
%define gitrev 0
|
||||||
# Set rpm version accordingly
|
# Set rpm version accordingly
|
||||||
%define rpmversion 4.%{upstream_sublevel}.0
|
%define rpmversion 4.%{upstream_sublevel}.0
|
||||||
%endif
|
%endif
|
||||||
@ -619,9 +619,6 @@ Patch630: 0001-HID-multitouch-Properly-deal-with-Win8-PTP-reports-w.patch
|
|||||||
Patch631: 0002-HID-multitouch-Only-look-at-non-touch-fields-in-firs.patch
|
Patch631: 0002-HID-multitouch-Only-look-at-non-touch-fields-in-firs.patch
|
||||||
Patch632: 0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch
|
Patch632: 0003-HID-multitouch-Combine-all-left-button-events-in-a-f.patch
|
||||||
|
|
||||||
# Reported upstream
|
|
||||||
Patch635: 0003-x86-PCI-limit-the-size-of-the-64bit-BAR-to-256GB.patch
|
|
||||||
|
|
||||||
# Make SATA link powermanagement policy configurable for:
|
# Make SATA link powermanagement policy configurable for:
|
||||||
# https://fedoraproject.org/wiki/Changes/ImprovedLaptopBatteryLife
|
# https://fedoraproject.org/wiki/Changes/ImprovedLaptopBatteryLife
|
||||||
# Queued upstream for merging into 4.16
|
# Queued upstream for merging into 4.16
|
||||||
@ -637,11 +634,6 @@ Patch641: 0001-Bluetooth-btusb-Disable-autosuspend-on-QCA-Rome-devi.patch
|
|||||||
|
|
||||||
# Speculative Execution patches
|
# Speculative Execution patches
|
||||||
Patch642: prevent-bounds-check-bypass-via-speculative-execution.patch
|
Patch642: prevent-bounds-check-bypass-via-speculative-execution.patch
|
||||||
Patch643: 0001-x86-cpufeatures-Add-X86_BUG_SPECTRE_V-12.patch
|
|
||||||
Patch644: 0002-sysfs-cpu-Add-vulnerability-folder.patch
|
|
||||||
Patch645: 0001-x86-cpu-AMD-Make-LFENCE-a-serializing-instruction.patch
|
|
||||||
Patch646: 0002-x86-cpu-AMD-Use-LFENCE_RDTSC-in-preference-to-MFENCE.patch
|
|
||||||
Patch647: retpoline.patch
|
|
||||||
|
|
||||||
|
|
||||||
# END OF PATCH DEFINITIONS
|
# END OF PATCH DEFINITIONS
|
||||||
@ -1902,6 +1894,9 @@ fi
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 15 2018 Laura Abbott <labbott@redhat.com> - 4.15.0-0.rc8.git0.1
|
||||||
|
- Linux v4.15-rc8
|
||||||
|
|
||||||
* Mon Jan 15 2018 Laura Abbott <labbott@redhat.com>
|
* Mon Jan 15 2018 Laura Abbott <labbott@redhat.com>
|
||||||
- Disable debugging options.
|
- Disable debugging options.
|
||||||
|
|
||||||
|
1480
retpoline.patch
1480
retpoline.patch
File diff suppressed because it is too large
Load Diff
3
sources
3
sources
@ -1,4 +1,3 @@
|
|||||||
SHA512 (linux-4.14.tar.xz) = 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
|
SHA512 (linux-4.14.tar.xz) = 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
|
||||||
SHA512 (perf-man-4.14.tar.gz) = 76a9d8adc284cdffd4b3fbb060e7f9a14109267707ce1d03f4c3239cd70d8d164f697da3a0f90a363fbcac42a61d3c378afbcc2a86f112c501b9cb5ce74ef9f8
|
SHA512 (perf-man-4.14.tar.gz) = 76a9d8adc284cdffd4b3fbb060e7f9a14109267707ce1d03f4c3239cd70d8d164f697da3a0f90a363fbcac42a61d3c378afbcc2a86f112c501b9cb5ce74ef9f8
|
||||||
SHA512 (patch-4.15-rc7.xz) = 1c9c74917f5bc5e259d4b918d429d606419f4564ae15f754ef01404234f53d02c8782db0bcce75bf8103510231e723df2fa4a8c8cca8ea4db458b585c0e01570
|
SHA512 (patch-4.15-rc8.xz) = 1a70ada185b738586ca79cf7497582a3d0198746cebac028fc8e7558d00984e089242e1f3c48cec80eb2baf0ba1b519873a73dd418c9c209dd5568f0c5604634
|
||||||
SHA512 (patch-4.15-rc7-git4.xz) = c3d84079ff6b6ea9163a2e6e3d7d6cfef6729f37ecded5eba0b0ee37fe39c4b6ca1e5bfd8e37aab50bd212e5e868384cfc49890738bd4a57ef90888ab7eb8170
|
|
||||||
|
Loading…
Reference in New Issue
Block a user