linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] net: enable wireless core features with LEGACY_WEXT_ALLCONFIG
@ 2019-09-06 19:24 Mark Salyzyn
  2019-09-06 23:30 ` Greg KH
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Salyzyn @ 2019-09-06 19:24 UTC (permalink / raw)
  To: linux-kernel
  Cc: kernel-team, Mark Salyzyn, Johannes Berg, David S. Miller,
	Marcel Holtmann, linux-wireless, netdev, stable

In embedded environments the requirements are to be able to pick and
chose which features one requires built into the kernel.  If an
embedded environment wants to supports loading modules that have been
kbuilt out of tree, there is a need to enable hidden configurations
for legacy wireless core features to provide the API surface for
them to load.

Introduce CONFIG_LEGACY_WEXT_ALLCONFIG to select all legacy wireless
extension core features by activating in turn all the associated
hidden configuration options, without having to specifically select
any wireless module(s).

Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Cc: kernel-team@android.com
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Marcel Holtmann <marcel@holtmann.org>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org # 4.19
---
v2: change name and documentation to CONFIG_LEGACY_WEXT_ALLCONFIG
---
 net/wireless/Kconfig | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
index 67f8360dfcee..0d646cf28de5 100644
--- a/net/wireless/Kconfig
+++ b/net/wireless/Kconfig
@@ -17,6 +17,20 @@ config WEXT_SPY
 config WEXT_PRIV
 	bool
 
+config LEGACY_WEXT_ALLCONFIG
+	bool "allconfig for legacy wireless extensions"
+	select WIRELESS_EXT
+	select WEXT_CORE
+	select WEXT_PROC
+	select WEXT_SPY
+	select WEXT_PRIV
+	help
+	  Config option used to enable all the legacy wireless extensions to
+	  the core functionality used by add-in modules.
+
+	  If you are not building a kernel to be used for a variety of
+	  out-of-kernel built wireless modules, say N here.
+
 config CFG80211
 	tristate "cfg80211 - wireless configuration API"
 	depends on RFKILL || !RFKILL
-- 
2.23.0.187.g17f5b7556c-goog


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] net: enable wireless core features with LEGACY_WEXT_ALLCONFIG
  2019-09-06 19:24 [PATCH v2] net: enable wireless core features with LEGACY_WEXT_ALLCONFIG Mark Salyzyn
@ 2019-09-06 23:30 ` Greg KH
  2019-09-09 14:24   ` Mark Salyzyn
  0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2019-09-06 23:30 UTC (permalink / raw)
  To: Mark Salyzyn
  Cc: linux-kernel, kernel-team, Johannes Berg, David S. Miller,
	Marcel Holtmann, linux-wireless, netdev, stable

On Fri, Sep 06, 2019 at 12:24:00PM -0700, Mark Salyzyn wrote:
> In embedded environments the requirements are to be able to pick and
> chose which features one requires built into the kernel.  If an
> embedded environment wants to supports loading modules that have been
> kbuilt out of tree, there is a need to enable hidden configurations
> for legacy wireless core features to provide the API surface for
> them to load.
> 
> Introduce CONFIG_LEGACY_WEXT_ALLCONFIG to select all legacy wireless
> extension core features by activating in turn all the associated
> hidden configuration options, without having to specifically select
> any wireless module(s).
> 
> Signed-off-by: Mark Salyzyn <salyzyn@android.com>
> Cc: kernel-team@android.com
> Cc: Johannes Berg <johannes@sipsolutions.net>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Marcel Holtmann <marcel@holtmann.org>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: stable@vger.kernel.org # 4.19
> ---
> v2: change name and documentation to CONFIG_LEGACY_WEXT_ALLCONFIG
> ---
>  net/wireless/Kconfig | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
> index 67f8360dfcee..0d646cf28de5 100644
> --- a/net/wireless/Kconfig
> +++ b/net/wireless/Kconfig
> @@ -17,6 +17,20 @@ config WEXT_SPY
>  config WEXT_PRIV
>  	bool
>  
> +config LEGACY_WEXT_ALLCONFIG
> +	bool "allconfig for legacy wireless extensions"
> +	select WIRELESS_EXT
> +	select WEXT_CORE
> +	select WEXT_PROC
> +	select WEXT_SPY
> +	select WEXT_PRIV
> +	help
> +	  Config option used to enable all the legacy wireless extensions to
> +	  the core functionality used by add-in modules.
> +
> +	  If you are not building a kernel to be used for a variety of
> +	  out-of-kernel built wireless modules, say N here.
> +
>  config CFG80211
>  	tristate "cfg80211 - wireless configuration API"
>  	depends on RFKILL || !RFKILL
> -- 
> 2.23.0.187.g17f5b7556c-goog
> 

How is this patch applicable to stable kernels???

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] net: enable wireless core features with LEGACY_WEXT_ALLCONFIG
  2019-09-06 23:30 ` Greg KH
@ 2019-09-09 14:24   ` Mark Salyzyn
  2019-09-09 15:44     ` Johannes Berg
  2019-09-09 22:58     ` Greg KH
  0 siblings, 2 replies; 6+ messages in thread
From: Mark Salyzyn @ 2019-09-09 14:24 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-kernel, kernel-team, Johannes Berg, David S. Miller,
	Marcel Holtmann, linux-wireless, netdev, stable

On 9/6/19 4:30 PM, Greg KH wrote:
> On Fri, Sep 06, 2019 at 12:24:00PM -0700, Mark Salyzyn wrote:
>> In embedded environments the requirements are to be able to pick and
>> chose which features one requires built into the kernel.  If an
>> embedded environment wants to supports loading modules that have been
>> kbuilt out of tree, there is a need to enable hidden configurations
>> for legacy wireless core features to provide the API surface for
>> them to load.
>>
>> Introduce CONFIG_LEGACY_WEXT_ALLCONFIG to select all legacy wireless
>> extension core features by activating in turn all the associated
>> hidden configuration options, without having to specifically select
>> any wireless module(s).
>>
>> Signed-off-by: Mark Salyzyn <salyzyn@android.com>
>> Cc: kernel-team@android.com
>> Cc: Johannes Berg <johannes@sipsolutions.net>
>> Cc: "David S. Miller" <davem@davemloft.net>
>> Cc: Marcel Holtmann <marcel@holtmann.org>
>> Cc: linux-wireless@vger.kernel.org
>> Cc: netdev@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>> Cc: stable@vger.kernel.org # 4.19
>> ---
>> v2: change name and documentation to CONFIG_LEGACY_WEXT_ALLCONFIG
>> ---
>>   net/wireless/Kconfig | 14 ++++++++++++++
>>   1 file changed, 14 insertions(+)
>>
>> diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
>> index 67f8360dfcee..0d646cf28de5 100644
>> --- a/net/wireless/Kconfig
>> +++ b/net/wireless/Kconfig
>> @@ -17,6 +17,20 @@ config WEXT_SPY
>>   config WEXT_PRIV
>>   	bool
>>   
>> +config LEGACY_WEXT_ALLCONFIG
>> +	bool "allconfig for legacy wireless extensions"
>> +	select WIRELESS_EXT
>> +	select WEXT_CORE
>> +	select WEXT_PROC
>> +	select WEXT_SPY
>> +	select WEXT_PRIV
>> +	help
>> +	  Config option used to enable all the legacy wireless extensions to
>> +	  the core functionality used by add-in modules.
>> +
>> +	  If you are not building a kernel to be used for a variety of
>> +	  out-of-kernel built wireless modules, say N here.
>> +
>>   config CFG80211
>>   	tristate "cfg80211 - wireless configuration API"
>>   	depends on RFKILL || !RFKILL
>> -- 
>> 2.23.0.187.g17f5b7556c-goog
>>
> How is this patch applicable to stable kernels???

A) worth a shot ;-}

B) there is a shortcoming in _all_ kernel versions with respect to 
hidden configurations options like this, hoping to set one precedent in 
how to handle them if acceptable to the community.

C) [AGENDA ALERT] Android _will_ be back-porting this to android-4.19 
kernel anyway, would help maintenance if via stable. <holding hat in hand>

D) Not an ABI or interface break, does not introduce instability, but 
rather keeps downstream kernels of any distributions from having to hack 
in their own alternate means of dealing with this problem leading to 
further fragmentation.

E) Timely discussion item for LPC?

Sincerely -- Mark Salyzyn


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] net: enable wireless core features with LEGACY_WEXT_ALLCONFIG
  2019-09-09 14:24   ` Mark Salyzyn
@ 2019-09-09 15:44     ` Johannes Berg
  2019-09-09 19:54       ` Jeff Johnson
  2019-09-09 22:58     ` Greg KH
  1 sibling, 1 reply; 6+ messages in thread
From: Johannes Berg @ 2019-09-09 15:44 UTC (permalink / raw)
  To: Mark Salyzyn, Greg KH
  Cc: linux-kernel, kernel-team, David S. Miller, Marcel Holtmann,
	linux-wireless, netdev, stable

On Mon, 2019-09-09 at 07:24 -0700, Mark Salyzyn wrote:
> 
> > How is this patch applicable to stable kernels???

I'm not sure I even buy the arguments to get it into the regular kernel.

> B) there is a shortcoming in _all_ kernel versions with respect to 
> hidden configurations options like this, hoping to set one precedent in 
> how to handle them if acceptable to the community.

This really is the only argument, I think, but I don't really see it as
a shortcoming. The kernel is handling this properly, after all, with
respect to itself. You just have issues with out-of-tree modules.

And while it is true, setting that precedent might ultimately mean we'll
end up with ~80 (**) new Kconfig options in net/ alone ... That's
certainly *NOT* a precedent I want to set nor the way I want to see this
handled, when we already get complaints that we're adding too many
Kconfig options (and those are ones we really do need).

Obviously, nothing stops you from putting this into your kernel (and I
guess you already are), but I don't really see how it benefits us as a
kernel community.

> E) Timely discussion item for LPC?

Perhaps you should indeed drive that discussion there, this really is
bigger than this particular wireless feature. At the very least, to
avoid Kconfig complexity explosion, add a single new

config OPTIONS_FOR_OUT_OF_TREE_MODULES
	bool "..."
	depends on EXPERT
	help
	  ...

and make LEGACY_WEXT_ALLCONFIG depend on that.

But if you're honest and obvious about it like that, I have a hard time
seeing you get that into the tree past Greg or Linus...


Also, you probably know this, but in this particular case you really
should just get rid of your wext dependencies ... this stuff is
literally decades old, and while that isn't necessarily a bad thing, it
also has issues that have been known for a decade or so that simply
cannot be solved.


(**) git grep "bool$" and "tristate$" in Kconfig files under net/ yields
a bit more, but here you already set 5, who knows. Still, even if it's
only 20 in the end that's too much.

johannes



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] net: enable wireless core features with LEGACY_WEXT_ALLCONFIG
  2019-09-09 15:44     ` Johannes Berg
@ 2019-09-09 19:54       ` Jeff Johnson
  0 siblings, 0 replies; 6+ messages in thread
From: Jeff Johnson @ 2019-09-09 19:54 UTC (permalink / raw)
  To: Johannes Berg
  Cc: Mark Salyzyn, Greg KH, linux-kernel, kernel-team,
	David S. Miller, Marcel Holtmann, linux-wireless, netdev, stable,
	linux-wireless-owner

On 2019-09-09 08:44, Johannes Berg wrote:
> Also, you probably know this, but in this particular case you really
> should just get rid of your wext dependencies

This.

Particularly for one out-of-tree driver with which I'm intimately 
familiar there has been considerable recent work to make all WEXT code 
correctly conditional, and nothing in the Android support should be 
reliant upon WEXT.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v2] net: enable wireless core features with LEGACY_WEXT_ALLCONFIG
  2019-09-09 14:24   ` Mark Salyzyn
  2019-09-09 15:44     ` Johannes Berg
@ 2019-09-09 22:58     ` Greg KH
  1 sibling, 0 replies; 6+ messages in thread
From: Greg KH @ 2019-09-09 22:58 UTC (permalink / raw)
  To: Mark Salyzyn
  Cc: linux-kernel, kernel-team, Johannes Berg, David S. Miller,
	Marcel Holtmann, linux-wireless, netdev, stable

On Mon, Sep 09, 2019 at 07:24:29AM -0700, Mark Salyzyn wrote:
> On 9/6/19 4:30 PM, Greg KH wrote:
> > On Fri, Sep 06, 2019 at 12:24:00PM -0700, Mark Salyzyn wrote:
> > > In embedded environments the requirements are to be able to pick and
> > > chose which features one requires built into the kernel.  If an
> > > embedded environment wants to supports loading modules that have been
> > > kbuilt out of tree, there is a need to enable hidden configurations
> > > for legacy wireless core features to provide the API surface for
> > > them to load.
> > > 
> > > Introduce CONFIG_LEGACY_WEXT_ALLCONFIG to select all legacy wireless
> > > extension core features by activating in turn all the associated
> > > hidden configuration options, without having to specifically select
> > > any wireless module(s).
> > > 
> > > Signed-off-by: Mark Salyzyn <salyzyn@android.com>
> > > Cc: kernel-team@android.com
> > > Cc: Johannes Berg <johannes@sipsolutions.net>
> > > Cc: "David S. Miller" <davem@davemloft.net>
> > > Cc: Marcel Holtmann <marcel@holtmann.org>
> > > Cc: linux-wireless@vger.kernel.org
> > > Cc: netdev@vger.kernel.org
> > > Cc: linux-kernel@vger.kernel.org
> > > Cc: stable@vger.kernel.org # 4.19
> > > ---
> > > v2: change name and documentation to CONFIG_LEGACY_WEXT_ALLCONFIG
> > > ---
> > >   net/wireless/Kconfig | 14 ++++++++++++++
> > >   1 file changed, 14 insertions(+)
> > > 
> > > diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
> > > index 67f8360dfcee..0d646cf28de5 100644
> > > --- a/net/wireless/Kconfig
> > > +++ b/net/wireless/Kconfig
> > > @@ -17,6 +17,20 @@ config WEXT_SPY
> > >   config WEXT_PRIV
> > >   	bool
> > > +config LEGACY_WEXT_ALLCONFIG
> > > +	bool "allconfig for legacy wireless extensions"
> > > +	select WIRELESS_EXT
> > > +	select WEXT_CORE
> > > +	select WEXT_PROC
> > > +	select WEXT_SPY
> > > +	select WEXT_PRIV
> > > +	help
> > > +	  Config option used to enable all the legacy wireless extensions to
> > > +	  the core functionality used by add-in modules.
> > > +
> > > +	  If you are not building a kernel to be used for a variety of
> > > +	  out-of-kernel built wireless modules, say N here.
> > > +
> > >   config CFG80211
> > >   	tristate "cfg80211 - wireless configuration API"
> > >   	depends on RFKILL || !RFKILL
> > > -- 
> > > 2.23.0.187.g17f5b7556c-goog
> > > 
> > How is this patch applicable to stable kernels???
> 
> A) worth a shot ;-}

Not nice, please, you know better :)

> B) there is a shortcoming in _all_ kernel versions with respect to hidden
> configurations options like this, hoping to set one precedent in how to
> handle them if acceptable to the community.

That's fine, but it's a new feature, not for stable.

> C) [AGENDA ALERT] Android _will_ be back-porting this to android-4.19 kernel
> anyway, would help maintenance if via stable. <holding hat in hand>

That's fine, lots of distros backport loads of stuff for new features
for stuff that is upstream.  That's trivial to do, don't try to abuse
the stable tree for new features like this please.  It only makes
maintainers grumpy when you do so :(

> D) Not an ABI or interface break, does not introduce instability, but rather
> keeps downstream kernels of any distributions from having to hack in their
> own alternate means of dealing with this problem leading to further
> fragmentation.

Again, new feature, not fixing a bug, so not applicable for stable.

For penance I require a handwritten copy of:
    https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-09-09 23:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-06 19:24 [PATCH v2] net: enable wireless core features with LEGACY_WEXT_ALLCONFIG Mark Salyzyn
2019-09-06 23:30 ` Greg KH
2019-09-09 14:24   ` Mark Salyzyn
2019-09-09 15:44     ` Johannes Berg
2019-09-09 19:54       ` Jeff Johnson
2019-09-09 22:58     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).