Subject: Re: [PATCH v2] net: enable wireless core features with LEGACY_WEXT_ALLCONFIG

From: Greg KH <[email-masked]>
Date: Mon, 9 Sep 2019 23:58:04 +0100

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 <[email-masked]>
> > > Cc: [email-masked]
> > > Cc: Johannes Berg <[email-masked]>
> > > Cc: "David S. Miller" <[email-masked]>
> > > Cc: Marcel Holtmann <[email-masked]>
> > > Cc: [email-masked]
> > > Cc: [email-masked]
> > > Cc: [email-masked]
> > > Cc: [email-masked] # 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