mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
x86/bugs: Concentrate bug reporting into a separate function
commit d1059518b4789cabe34bb4b714d07e6089c82ca1 upstream Those SysFS functions have a similar preamble, as such make common code to handle them. Suggested-by: Borislav Petkov <bp@suse.de> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Borislav Petkov <bp@suse.de> Reviewed-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
69dc738059
commit
3ce1634f61
@ -314,30 +314,48 @@ retpoline_auto:
|
|||||||
#undef pr_fmt
|
#undef pr_fmt
|
||||||
|
|
||||||
#ifdef CONFIG_SYSFS
|
#ifdef CONFIG_SYSFS
|
||||||
|
|
||||||
|
ssize_t cpu_show_common(struct device *dev, struct device_attribute *attr,
|
||||||
|
char *buf, unsigned int bug)
|
||||||
|
{
|
||||||
|
if (!boot_cpu_has_bug(bug))
|
||||||
|
return sprintf(buf, "Not affected\n");
|
||||||
|
|
||||||
|
switch (bug) {
|
||||||
|
case X86_BUG_CPU_MELTDOWN:
|
||||||
|
if (boot_cpu_has(X86_FEATURE_PTI))
|
||||||
|
return sprintf(buf, "Mitigation: PTI\n");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case X86_BUG_SPECTRE_V1:
|
||||||
|
return sprintf(buf, "Mitigation: __user pointer sanitization\n");
|
||||||
|
|
||||||
|
case X86_BUG_SPECTRE_V2:
|
||||||
|
return sprintf(buf, "%s%s%s%s\n", spectre_v2_strings[spectre_v2_enabled],
|
||||||
|
boot_cpu_has(X86_FEATURE_USE_IBPB) ? ", IBPB" : "",
|
||||||
|
boot_cpu_has(X86_FEATURE_USE_IBRS_FW) ? ", IBRS_FW" : "",
|
||||||
|
spectre_v2_module_string());
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return sprintf(buf, "Vulnerable\n");
|
||||||
|
}
|
||||||
|
|
||||||
ssize_t cpu_show_meltdown(struct device *dev, struct device_attribute *attr, char *buf)
|
ssize_t cpu_show_meltdown(struct device *dev, struct device_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
if (!boot_cpu_has_bug(X86_BUG_CPU_MELTDOWN))
|
return cpu_show_common(dev, attr, buf, X86_BUG_CPU_MELTDOWN);
|
||||||
return sprintf(buf, "Not affected\n");
|
|
||||||
if (boot_cpu_has(X86_FEATURE_PTI))
|
|
||||||
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)
|
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 cpu_show_common(dev, attr, buf, X86_BUG_SPECTRE_V1);
|
||||||
return sprintf(buf, "Not affected\n");
|
|
||||||
return sprintf(buf, "Mitigation: __user pointer sanitization\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t cpu_show_spectre_v2(struct device *dev, struct device_attribute *attr, char *buf)
|
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 cpu_show_common(dev, attr, buf, X86_BUG_SPECTRE_V2);
|
||||||
return sprintf(buf, "Not affected\n");
|
|
||||||
|
|
||||||
return sprintf(buf, "%s%s%s%s\n", spectre_v2_strings[spectre_v2_enabled],
|
|
||||||
boot_cpu_has(X86_FEATURE_USE_IBPB) ? ", IBPB" : "",
|
|
||||||
boot_cpu_has(X86_FEATURE_USE_IBRS_FW) ? ", IBRS_FW" : "",
|
|
||||||
spectre_v2_module_string());
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user