Commit 1590a2e1 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'acpi-5.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI fixes from Rafael Wysocki:
 "Prevent bypassing kernel lockdown via the ACPI tables loading
  interface (Jason A. Donenfeld) and fix the handling of an ACPI sysfs
  attribute (Nathan Chancellor)"

* tag 'acpi-5.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI: sysfs: Fix pm_profile_attr type
  ACPI: configfs: Disallow loading ACPI tables when locked down
parents ed3e00e7 0f29c20b
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/configfs.h> #include <linux/configfs.h>
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/security.h>
#include "acpica/accommon.h" #include "acpica/accommon.h"
#include "acpica/actables.h" #include "acpica/actables.h"
...@@ -28,7 +29,10 @@ static ssize_t acpi_table_aml_write(struct config_item *cfg, ...@@ -28,7 +29,10 @@ static ssize_t acpi_table_aml_write(struct config_item *cfg,
{ {
const struct acpi_table_header *header = data; const struct acpi_table_header *header = data;
struct acpi_table *table; struct acpi_table *table;
int ret; int ret = security_locked_down(LOCKDOWN_ACPI_TABLES);
if (ret)
return ret;
table = container_of(cfg, struct acpi_table, cfg); table = container_of(cfg, struct acpi_table, cfg);
......
...@@ -938,13 +938,13 @@ static void __exit interrupt_stats_exit(void) ...@@ -938,13 +938,13 @@ static void __exit interrupt_stats_exit(void)
} }
static ssize_t static ssize_t
acpi_show_profile(struct device *dev, struct device_attribute *attr, acpi_show_profile(struct kobject *kobj, struct kobj_attribute *attr,
char *buf) char *buf)
{ {
return sprintf(buf, "%d\n", acpi_gbl_FADT.preferred_profile); return sprintf(buf, "%d\n", acpi_gbl_FADT.preferred_profile);
} }
static const struct device_attribute pm_profile_attr = static const struct kobj_attribute pm_profile_attr =
__ATTR(pm_profile, S_IRUGO, acpi_show_profile, NULL); __ATTR(pm_profile, S_IRUGO, acpi_show_profile, NULL);
static ssize_t hotplug_enabled_show(struct kobject *kobj, static ssize_t hotplug_enabled_show(struct kobject *kobj,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment