[SRU][Xenial][PATCH] UBUNTU: SAUCE: x86/speculation: Only report IBPB/IBRS state changes
Juerg Haefliger
juerg.haefliger at canonical.com
Tue Nov 27 09:27:42 UTC 2018
Only print the IBPB/IBRS state to the log if it actually changes. Otherwise
the log is polluted everytime the procfs file is read from.
Signed-off-by: Juerg Haefliger <juergh at canonical.com>
---
kernel/sysctl.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 11c626dd1b1c..59fe90f934fb 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -213,15 +213,17 @@ static unsigned int __ibpb_enabled = 0; /* procfs shadow variable */
int set_ibpb_enabled(unsigned int val)
{
int error = 0;
+ unsigned int prev = ibpb_enabled;
mutex_lock(&spec_ctrl_mutex);
/* Only enable IBPB if the CPU supports it */
if (boot_cpu_has(X86_FEATURE_IBPB)) {
ibpb_enabled = val;
- pr_info("Spectre V2 : Spectre v2 mitigation: %s Indirect "
- "Branch Prediction Barrier\n",
- ibpb_enabled ? "Enabling" : "Disabling");
+ if (ibpb_enabled != prev)
+ pr_info("Spectre V2 : Spectre v2 mitigation: %s "
+ "Indirect Branch Prediction Barrier\n",
+ ibpb_enabled ? "Enabling" : "Disabling");
} else {
ibpb_enabled = 0;
if (val) {
@@ -260,16 +262,18 @@ int set_ibrs_enabled(unsigned int val)
{
int error = 0;
unsigned int cpu;
+ unsigned int prev = ibrs_enabled;
mutex_lock(&spec_ctrl_mutex);
/* Only enable/disable IBRS if the CPU supports it */
if (boot_cpu_has(X86_FEATURE_IBRS)) {
ibrs_enabled = val;
- pr_info("Spectre V2 : Spectre v2 mitigation: %s Indirect "
- "Branch Restricted Speculation%s\n",
- ibrs_enabled ? "Enabling" : "Disabling",
- ibrs_enabled == 2 ? " (user space)" : "");
+ if (ibrs_enabled != prev)
+ pr_info("Spectre V2 : Spectre v2 mitigation: %s "
+ "Indirect Branch Restricted Speculation%s\n",
+ ibrs_enabled ? "Enabling" : "Disabling",
+ ibrs_enabled == 2 ? " (user space)" : "");
if (ibrs_enabled == 0) {
/* Always disable IBRS */
--
2.19.1
More information about the kernel-team
mailing list