Skip to content

Commit

Permalink
ACPI: Create acpi_table_taint() function to avoid code duplication
Browse files Browse the repository at this point in the history
There are two ways of overriding ACPI tables now, both need to taint the
the kernel.

Signed-off-by: Thomas Renninger <trenn@suse.de>
Link: http://lkml.kernel.org/r/1349043837-22659-6-git-send-email-trenn@suse.de
Cc: Len Brown <lenb@kernel.org>
Cc: Robert Moore <robert.moore@intel.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
  • Loading branch information
Thomas Renninger authored and H. Peter Anvin committed Oct 1, 2012
1 parent b2a3500 commit 325a8d3
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions drivers/acpi/osl.c
Original file line number Diff line number Diff line change
Expand Up @@ -656,6 +656,15 @@ void __init acpi_initrd_override(void *data, size_t size)
}
#endif /* CONFIG_ACPI_INITRD_TABLE_OVERRIDE */

static void acpi_table_taint(struct acpi_table_header *table)
{
pr_warn(PREFIX
"Override [%4.4s-%8.8s], this is unsafe: tainting kernel\n",
table->signature, table->oem_table_id);
add_taint(TAINT_OVERRIDDEN_ACPI_TABLE);
}


acpi_status
acpi_os_table_override(struct acpi_table_header * existing_table,
struct acpi_table_header ** new_table)
Expand All @@ -669,13 +678,8 @@ acpi_os_table_override(struct acpi_table_header * existing_table,
if (strncmp(existing_table->signature, "DSDT", 4) == 0)
*new_table = (struct acpi_table_header *)AmlCode;
#endif
if (*new_table != NULL) {
printk(KERN_WARNING PREFIX "Override [%4.4s-%8.8s], "
"this is unsafe: tainting kernel\n",
existing_table->signature,
existing_table->oem_table_id);
add_taint(TAINT_OVERRIDDEN_ACPI_TABLE);
}
if (*new_table != NULL)
acpi_table_taint(existing_table);
return AE_OK;
}

Expand Down Expand Up @@ -736,6 +740,8 @@ acpi_os_physical_table_override(struct acpi_table_header *existing_table,
break;
} while (table_offset + ACPI_HEADER_SIZE < all_tables_size);

if (*address != 0)
acpi_table_taint(existing_table);
return AE_OK;
#endif
}
Expand Down

0 comments on commit 325a8d3

Please sign in to comment.