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-next>] [day] [month] [year] [list]
Date:	Sat, 26 Apr 2008 22:34:08 +0200
From:	Luca Tettamanti <kronos.it@...il.com>
To:	linux-kernel@...r.kernel.org
Cc:	linux-wireless@...r.kernel.org,
	"David S. Miller" <davem@...emloft.net>
Subject: [PATCH] Fix compile error with wifi & leds

Hi,
I encountered a build error with current git tree:

  CC [M]  net/mac80211/led.o
/home/kronos/src/linux-2.6.git/net/mac80211/led.c: In function 'ieee80211_led_init':
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:58: error: invalid application of 'sizeof' to incomplete type 'struct led_trigger'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:62: error: dereferencing pointer to incomplete type
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:63: error: implicit declaration of function 'led_trigger_register'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:69: error: invalid application of 'sizeof' to incomplete type 'struct led_trigger'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:73: error: dereferencing pointer to incomplete type
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:80: error: invalid application of 'sizeof' to incomplete type 'struct led_trigger'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:84: error: dereferencing pointer to incomplete type
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:91: error: invalid application of 'sizeof' to incomplete type 'struct led_trigger'
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:95: error: dereferencing pointer to incomplete type
/home/kronos/src/linux-2.6.git/net/mac80211/led.c: In function 'ieee80211_led_exit':
/home/kronos/src/linux-2.6.git/net/mac80211/led.c:106: error: implicit declaration of function 'led_trigger_unregister'
make[3]: *** [net/mac80211/led.o] Error 1
make[2]: *** [net/mac80211] Error 2
make[1]: *** [net] Error 2
make: *** [sub-make] Error 2

This has been caused by commit e82404ad612ebabc65d15c3d59b971cb35c3ff36
from David Miller:

 config IWL4965_LEDS
        bool "Enable LEDS features in iwl4965 driver"
-       depends on IWL4965 && MAC80211_LEDS && LEDS_CLASS
+       depends on IWL4965
+       select MAC80211_LEDS
+       select LEDS_CLASS


the problem is that MAC80211_LEDS *depends* on LEDS_TRIGGER but does not
_select_ it. IOW enabling IWL4965_LEDS enables MAC80211_LEDS which in
turn does not compile if LEDS_TRIGGER is not enabled.

LEDS_TRIGGER is not enough though, NEW_LEDS (which is a menuconfig
guarding the aforementioned symbol) must also be selected.

---

Since MAC80211_LEDS is selected by wireless drivers it must select its
own dependencies otherwise a build error may occur (kbuild will select
the symbol regardless of "depends" constraints).

Signed-Off-By: Luca Tettamanti <kronos.it@...il.com>

---

 net/mac80211/Kconfig |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig
index 520a518..a24b459 100644
--- a/net/mac80211/Kconfig
+++ b/net/mac80211/Kconfig
@@ -73,7 +73,9 @@ config MAC80211_MESH

 config MAC80211_LEDS
 	bool "Enable LED triggers"
-	depends on MAC80211 && LEDS_TRIGGERS
+	depends on MAC80211
+	select NEW_LEDS
+	select LEDS_TRIGGERS
 	---help---
 	  This option enables a few LED triggers for different
 	  packet receive/transmit events.


Luca
-- 
Io sono un uomo che non deve chiedere mai. Di solito imploro.
--
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