Subject: Re: [PATCH] net/wireless: CFG80211_WEXT_EXPORT requires wireless extensions

From: Johannes Berg <[email-masked]>
Date: Sat, 11 Apr 2015 08:16:51 +0200

On Sat, 2015-04-11 at 00:29 +0200, Arnd Bergmann wrote:
> The CFG80211_WEXT_EXPORT symbol is selected by two drivers that
> make direct use of compat handlers for the wireless ioctls.
> However, this has no effect when the wireless extensions themselves
> are disabled, and results in a link error:
> 
> ERROR: "cfg80211_wext_giwrts" [drivers/net/wireless/orinoco/orinoco.ko] undefined!
> ERROR: "cfg80211_wext_siwfrag" [drivers/net/wireless/orinoco/orinoco.ko] undefined!
> ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined!
> 
> This changes the Kconfig logic so that CFG80211_WEXT can not
> be disabled when CFG80211_WEXT_EXPORT is set.

> +++ b/net/wireless/Kconfig
> @@ -178,7 +178,6 @@ config CFG80211_WEXT
>  	bool "cfg80211 wireless extensions compatibility"

(I added "if !CFG80211_WEXT_EXPORT" to this line)

>  	depends on CFG80211
>  	select WEXT_CORE
> -	default y if CFG80211_WEXT_EXPORT
>  	help
>  	  Enable this option if you need old userspace for wireless
>  	  extensions with cfg80211-based drivers.
> @@ -186,6 +185,7 @@ config CFG80211_WEXT
>  config CFG80211_WEXT_EXPORT
>  	bool
>  	depends on CFG80211
> +	select CFG80211_WEXT

This doesn't work afaict because select won't go through if this is
selected. I've already sent a fix for this in my latest pull request
that has the above.

johannes