diff options
Diffstat (limited to 'drivers/acpi/tables.c')
-rw-r--r-- | drivers/acpi/tables.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c index b32327759380..180ac4329763 100644 --- a/drivers/acpi/tables.c +++ b/drivers/acpi/tables.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/memblock.h> | 20 | #include <linux/memblock.h> |
21 | #include <linux/earlycpio.h> | 21 | #include <linux/earlycpio.h> |
22 | #include <linux/initrd.h> | 22 | #include <linux/initrd.h> |
23 | #include <linux/security.h> | ||
23 | #include "internal.h" | 24 | #include "internal.h" |
24 | 25 | ||
25 | #ifdef CONFIG_ACPI_CUSTOM_DSDT | 26 | #ifdef CONFIG_ACPI_CUSTOM_DSDT |
@@ -578,6 +579,11 @@ void __init acpi_table_upgrade(void) | |||
578 | if (table_nr == 0) | 579 | if (table_nr == 0) |
579 | return; | 580 | return; |
580 | 581 | ||
582 | if (security_locked_down(LOCKDOWN_ACPI_TABLES)) { | ||
583 | pr_notice("kernel is locked down, ignoring table override\n"); | ||
584 | return; | ||
585 | } | ||
586 | |||
581 | acpi_tables_addr = | 587 | acpi_tables_addr = |
582 | memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS, | 588 | memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS, |
583 | all_tables_size, PAGE_SIZE); | 589 | all_tables_size, PAGE_SIZE); |