On Sun, Jan 07, 2018 at 09:57:50PM +0100, Thomas Gleixner wrote: > 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.
I like this, minor nits below: > > Allow architextures to override the show function. > > Signed-off-by: Thomas Gleixner <[email protected]> > --- > drivers/base/Kconfig | 3 +++ > drivers/base/cpu.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ > include/linux/cpu.h | 7 +++++++ > 3 files changed, 58 insertions(+) A Documentation/ABI/ update is needed for the new sysfs files. > +#ifdef CONFIG_GENERIC_CPU_VULNERABILITIES > + > +ssize_t __weak cpu_show_meltdown(struct device *dev, > + struct device_attribute *attr, char *buf) > +{ > + return snprintf(buf, PAGE_SIZE - 2, "Not affected\n"); sysfs is one-value-per-file, so you never need to care about the page size, a simple sprintf() is fine. No need to change if you don't want to, your call. > +} > + > +ssize_t __weak cpu_show_spectre_v1(struct device *dev, > + struct device_attribute *attr, char *buf) > +{ > + return snprintf(buf, PAGE_SIZE - 2, "Not affected\n"); > +} > + > +ssize_t __weak cpu_show_spectre_v2(struct device *dev, > + struct device_attribute *attr, char *buf) > +{ > + return snprintf(buf, PAGE_SIZE - 2, "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); DEVICE_ATTR_RO() please. Yeah, that does make the global symbols a bit different, meltdown_show() and the like. Hm, I guess this is ok, given that it's ment to be overridden. Oh, nevermind. So, just a documentation update please, that can always be an add-on patch if you promise to do it :) thanks, greg k-h

