summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2020-09-27 16:03:55 +0000
committerkettenis <kettenis@openbsd.org>2020-09-27 16:03:55 +0000
commit42aac20c4a6cca7720b6c7f27f9ccdaf859b037c (patch)
treebedb1b05a7a771b8e78affe9b5705e35d74127cb
parentopenssh 8.4 (diff)
downloadwireguard-openbsd-42aac20c4a6cca7720b6c7f27f9ccdaf859b037c.tar.xz
wireguard-openbsd-42aac20c4a6cca7720b6c7f27f9ccdaf859b037c.zip
Make sure acpicpu(4) doesn't attach to Processor nodes that happen to have
a _HID. Should fix the issues with broken AML that Janne Johansson reported. This issue should be fixed in a more generic way, but that is too risky for the upcoming release. tested by jmc@ ok deraadt@
-rw-r--r--sys/dev/acpi/acpicpu.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/acpi/acpicpu.c b/sys/dev/acpi/acpicpu.c
index c8bf64edaa3..9e112d75872 100644
--- a/sys/dev/acpi/acpicpu.c
+++ b/sys/dev/acpi/acpicpu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpicpu.c,v 1.88 2020/08/27 01:08:55 jmatthew Exp $ */
+/* $OpenBSD: acpicpu.c,v 1.89 2020/09/27 16:03:55 kettenis Exp $ */
/*
* Copyright (c) 2005 Marco Peereboom <marco@openbsd.org>
* Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
@@ -654,7 +654,9 @@ acpicpu_match(struct device *parent, void *match, void *aux)
struct cfdata *cf = match;
struct acpi_softc *acpi = (struct acpi_softc *)parent;
- if (acpi_matchhids(aa, acpicpu_hids, cf->cf_driver->cd_name)) {
+ if (acpi_matchhids(aa, acpicpu_hids, cf->cf_driver->cd_name) &&
+ aa->aaa_node && aa->aaa_node->value &&
+ aa->aaa_node->value->type == AML_OBJTYPE_DEVICE) {
/*
* Record that we've seen a Device() CPU object,
* so we won't attach any Processor() nodes.