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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160210131741.GA15492@wunner.de>
Date:	Wed, 10 Feb 2016 14:17:41 +0100
From:	Lukas Wunner <lukas@...ner.de>
To:	Stephen Rothwell <sfr@...b.auug.org.au>
Cc:	Daniel Vetter <daniel.vetter@...ll.ch>,
	intel-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Darren Hart <dvhart@...ux.intel.com>,
	"Rafael J. Wysocki" <rjw@...ysocki.net>, linux-acpi@...r.kernel.org
Subject: Re: linux-next: build failure after merge of the drm-misc tree

Hi,

On Wed, Feb 10, 2016 at 09:41:38AM +0100, Lukas Wunner wrote:
> On Wed, Feb 10, 2016 at 12:24:51PM +1100, Stephen Rothwell wrote:
> > Hi all,
> > 
> > After merging the drm-misc tree, today's linux-next build (arm
> > multi_v7_defconfig) failed like this:
> > 
> > In file included from drivers/gpu/drm/nouveau/nouveau_drm.c:25:0:
> > include/linux/apple-gmux.h: In function 'apple_gmux_present':
> > include/linux/apple-gmux.h:36:42: error: implicit declaration of function 'acpi_dev_present' [-Werror=implicit-function-declaration]
> >   return IS_ENABLED(CONFIG_APPLE_GMUX) && acpi_dev_present(GMUX_ACPI_HID);
> >                                           ^
> > 
> > Caused by commit
> > 
> >   2413306c2566 ("apple-gmux: Add helper for presence detect")
> > 
> > I have used the drm-misc tree from next-20160209 for today.
> 
> Ugh, apologies, I didn't have a non-ACPI platform available to test
> this on.
> 
> Solution is to either add to include/linux/acpi.h
> 
> static inline bool acpi_dev_present(const char *hid)
> {
> 	return false;
> }
> 
> somewhere below
> 
> #else	/* !CONFIG_ACPI */
> 
> or alternatively to add to include/linux/apple-gmux.h
> 
> IS_ENABLED(CONFIG_ACPI)
> 
> in apple_gmux_present().
> 
> I'll check the other users of acpi_dev_present() to see which of
> these two solutions is more appropriate and will post a fix shortly.

The patch included below fixes the build if CONFIG_ACPI is not set.

@Daniel Vetter: Would it be possible to squash this with 2413306c2566
("apple-gmux: Add helper for presence detect") on topic/drm-misc so
as to avoid build breakage for anyone trying to bisect between that
commit and this fix?

I checked all other users of acpi_dev_present() and all of them are
only compiled if CONFIG_ACPI is set. Hence I opted to fix this in
<linux/apple-gmux.h> rather than in <linux/acpi.h>.

Thanks again Stephen for reporting this at such an early stage,
though doubtlessly it would have been better if I had thought of
this possibility when preparing the original patch, or if I had
compile-tested without CONFIG_ACPI. :-(

Lukas

-- >8 --
Subject: [PATCH] apple-gmux: Fix build breakage if !CONFIG_ACPI

The DRM drivers i915, nouveau and radeon may be compiled with
CONFIG_ACPI not set, in which case acpi_dev_present() is undefined.

Add a no-op stub for apple_gmux_present() which is used if
CONFIG_APPLE_GMUX is not enabled to avoid build breakage.
(CONFIG_APPLE_GMUX depends on CONFIG_ACPI.)

Reported-by: Stephen Rothwell <sfr@...b.auug.org.au>
Signed-off-by: Lukas Wunner <lukas@...ner.de>
---
 include/linux/apple-gmux.h | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/include/linux/apple-gmux.h b/include/linux/apple-gmux.h
index feebc28..b2d32e0 100644
--- a/include/linux/apple-gmux.h
+++ b/include/linux/apple-gmux.h
@@ -22,6 +22,8 @@
 
 #define GMUX_ACPI_HID "APP000B"
 
+#if IS_ENABLED(CONFIG_APPLE_GMUX)
+
 /**
  * apple_gmux_present() - detect if gmux is built into the machine
  *
@@ -33,7 +35,16 @@
  */
 static inline bool apple_gmux_present(void)
 {
-	return IS_ENABLED(CONFIG_APPLE_GMUX) && acpi_dev_present(GMUX_ACPI_HID);
+	return acpi_dev_present(GMUX_ACPI_HID);
 }
 
+#else  /* !CONFIG_APPLE_GMUX */
+
+static inline bool apple_gmux_present(void)
+{
+	return false;
+}
+
+#endif /* !CONFIG_APPLE_GMUX */
+
 #endif /* LINUX_APPLE_GMUX_H */
-- 
1.8.5.2 (Apple Git-48)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ