lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 4 Jun 2015 19:51:36 +0200
From:	Radim Krčmář <rkrcmar@...hat.com>
To:	Stephen Rothwell <sfr@...b.auug.org.au>
Cc:	Darren Hart <dvhart@...radead.org>, linux-next@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: linux-next: build failure after merge of the drivers-x86 tree

2015-06-04 18:13+1000, Stephen Rothwell:
> After merging the drivers-x86 tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
> 
> ERROR: "acpi_bus_get_status_handle" [drivers/platform/x86/pvpanic.ko] undefined!
> 
> Caused by commit b8f8cf6b02b6 ("pvpanic: handle missing _STA correctly").

Classic, I only built with Y, sorry.

acpi_bus_get_status_handle is not exported, so a simple solution would
be to make it so.  Or it's possible to rewrite the patch in a way that
uses current infrastructure.

Would you prefer a patch to export it, a build fix on top of
b8f8cf6b02b6 or a replacement patch?

Thanks.

A fix on top of b8f8cf6b02b6:
---8<---
pvpanic: use acpi_bus_get_status to fix build

The previous version used acpi_bus_get_status_handle, which was not
being exported, so module build blew up;  switch to acpi_bus_get_status
and use the status it populates.

Populated status is a bitfield so we can make the code self-documenting.
We do not check 'present' because 'enabled' has to be false in that case
by specification.  Older QEMUs set 0xff to status and newer ones do 0xb.

Signed-off-by: Radim Krčmář <rkrcmar@...hat.com>
---
 drivers/platform/x86/pvpanic.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/platform/x86/pvpanic.c b/drivers/platform/x86/pvpanic.c
index 7b6860333267..fd86daba7ffd 100644
--- a/drivers/platform/x86/pvpanic.c
+++ b/drivers/platform/x86/pvpanic.c
@@ -92,12 +92,13 @@ pvpanic_walk_resources(struct acpi_resource *res, void *context)
 
 static int pvpanic_add(struct acpi_device *device)
 {
-	acpi_status status;
-	u64 ret;
+	int ret;
 
-	status = acpi_bus_get_status_handle(device->handle, &ret);
+	ret = acpi_bus_get_status(device);
+	if (ret < 0)
+		return ret;
 
-	if (ACPI_FAILURE(status) || (ret & 0x0B) != 0x0B)
+	if (!device->status.enabled || !device->status.functional)
 		return -ENODEV;
 
 	acpi_walk_resources(device->handle, METHOD_NAME__CRS,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ