diff mbox series

crypto: lib/arc4 - expose library interface

Message ID 20220714051221.22525-1-ansuelsmth@gmail.com
State New
Headers show
Series crypto: lib/arc4 - expose library interface | expand

Commit Message

Christian Marangi July 14, 2022, 5:12 a.m. UTC
Permit to compile the arc4 crypto lib without any user. This is required
by the backports project [1] that require this lib for any wireless
driver.

[1] https://backports.wiki.kernel.org/index.php/Main_Page

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
 lib/crypto/Kconfig | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Eric Biggers July 15, 2022, 2:04 a.m. UTC | #1
On Thu, Jul 14, 2022 at 07:12:21AM +0200, Christian Marangi wrote:
> Permit to compile the arc4 crypto lib without any user. This is required
> by the backports project [1] that require this lib for any wireless
> driver.
> 
> [1] https://backports.wiki.kernel.org/index.php/Main_Page
> 
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> ---
>  lib/crypto/Kconfig | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
> index 2082af43d51f..2dfc785a7817 100644
> --- a/lib/crypto/Kconfig
> +++ b/lib/crypto/Kconfig
> @@ -6,7 +6,11 @@ config CRYPTO_LIB_AES
>  	tristate
>  
>  config CRYPTO_LIB_ARC4
> -	tristate
> +	tristate "ARC4 library interface"
> +	help
> +	  Enable the ARC4 library interface. This interface is mainly
> +	  used by wireless drivers and is required by the backports
> +	  project.
>  
>  config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
>  	bool

I don't think this is appropriate for upstream, as the upstream kernel doesn't
support out-of-tree code.  This is also an internal API that can change from one
kernel version to the next.

- Eric
Christian Marangi July 15, 2022, 2:10 a.m. UTC | #2
On Fri, Jul 15, 2022 at 07:39:48AM +0000, David Laight wrote:
> From: Eric Biggers
> > Sent: 15 July 2022 03:05
> > 
> > On Thu, Jul 14, 2022 at 07:12:21AM +0200, Christian Marangi wrote:
> > > Permit to compile the arc4 crypto lib without any user. This is required
> > > by the backports project [1] that require this lib for any wireless
> > > driver.
> > >
> > > [1] https://backports.wiki.kernel.org/index.php/Main_Page
> > >
> > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > > ---
> > >  lib/crypto/Kconfig | 6 +++++-
> > >  1 file changed, 5 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
> > > index 2082af43d51f..2dfc785a7817 100644
> > > --- a/lib/crypto/Kconfig
> > > +++ b/lib/crypto/Kconfig
> > > @@ -6,7 +6,11 @@ config CRYPTO_LIB_AES
> > >  	tristate
> > >
> > >  config CRYPTO_LIB_ARC4
> > > -	tristate
> > > +	tristate "ARC4 library interface"
> > > +	help
> > > +	  Enable the ARC4 library interface. This interface is mainly
> > > +	  used by wireless drivers and is required by the backports
> > > +	  project.
> > >
> > >  config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
> > >  	bool
> > 
> > I don't think this is appropriate for upstream, as the upstream kernel doesn't
> > support out-of-tree code.  This is also an internal API that can change from one
> > kernel version to the next.
> 
> Out-of-tree code always has to allow for arbitrary changes to
> kernel interfaces between kernel versions.
> So the fact that the API might change isn't relevant.
> The continual API changes keep some of us in a job :-)
> 
> (It has to be said that if I needed RC4 I'd probably add a local copy.)
>

Wonder if I can ask you some advice about the topic... I understand that
this cannot be merged upstream.

So the correct solution would be having a copy of the arc4 lib in
backports?
David Laight July 15, 2022, 7:39 a.m. UTC | #3
From: Eric Biggers
> Sent: 15 July 2022 03:05
> 
> On Thu, Jul 14, 2022 at 07:12:21AM +0200, Christian Marangi wrote:
> > Permit to compile the arc4 crypto lib without any user. This is required
> > by the backports project [1] that require this lib for any wireless
> > driver.
> >
> > [1] https://backports.wiki.kernel.org/index.php/Main_Page
> >
> > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > ---
> >  lib/crypto/Kconfig | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
> > index 2082af43d51f..2dfc785a7817 100644
> > --- a/lib/crypto/Kconfig
> > +++ b/lib/crypto/Kconfig
> > @@ -6,7 +6,11 @@ config CRYPTO_LIB_AES
> >  	tristate
> >
> >  config CRYPTO_LIB_ARC4
> > -	tristate
> > +	tristate "ARC4 library interface"
> > +	help
> > +	  Enable the ARC4 library interface. This interface is mainly
> > +	  used by wireless drivers and is required by the backports
> > +	  project.
> >
> >  config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
> >  	bool
> 
> I don't think this is appropriate for upstream, as the upstream kernel doesn't
> support out-of-tree code.  This is also an internal API that can change from one
> kernel version to the next.

Out-of-tree code always has to allow for arbitrary changes to
kernel interfaces between kernel versions.
So the fact that the API might change isn't relevant.
The continual API changes keep some of us in a job :-)

(It has to be said that if I needed RC4 I'd probably add a local copy.)

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Eric Biggers July 16, 2022, 5:49 a.m. UTC | #4
On Fri, Jul 15, 2022 at 04:10:49AM +0200, Christian Marangi wrote:
> On Fri, Jul 15, 2022 at 07:39:48AM +0000, David Laight wrote:
> > From: Eric Biggers
> > > Sent: 15 July 2022 03:05
> > > 
> > > On Thu, Jul 14, 2022 at 07:12:21AM +0200, Christian Marangi wrote:
> > > > Permit to compile the arc4 crypto lib without any user. This is required
> > > > by the backports project [1] that require this lib for any wireless
> > > > driver.
> > > >
> > > > [1] https://backports.wiki.kernel.org/index.php/Main_Page
> > > >
> > > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > > > ---
> > > >  lib/crypto/Kconfig | 6 +++++-
> > > >  1 file changed, 5 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
> > > > index 2082af43d51f..2dfc785a7817 100644
> > > > --- a/lib/crypto/Kconfig
> > > > +++ b/lib/crypto/Kconfig
> > > > @@ -6,7 +6,11 @@ config CRYPTO_LIB_AES
> > > >  	tristate
> > > >
> > > >  config CRYPTO_LIB_ARC4
> > > > -	tristate
> > > > +	tristate "ARC4 library interface"
> > > > +	help
> > > > +	  Enable the ARC4 library interface. This interface is mainly
> > > > +	  used by wireless drivers and is required by the backports
> > > > +	  project.
> > > >
> > > >  config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
> > > >  	bool
> > > 
> > > I don't think this is appropriate for upstream, as the upstream kernel doesn't
> > > support out-of-tree code.  This is also an internal API that can change from one
> > > kernel version to the next.
> > 
> > Out-of-tree code always has to allow for arbitrary changes to
> > kernel interfaces between kernel versions.
> > So the fact that the API might change isn't relevant.
> > The continual API changes keep some of us in a job :-)
> > 
> > (It has to be said that if I needed RC4 I'd probably add a local copy.)
> >
> 
> Wonder if I can ask you some advice about the topic... I understand that
> this cannot be merged upstream.
> 
> So the correct solution would be having a copy of the arc4 lib in
> backports?
> 

In general you're going to need to change the kernel anyway, in which case you
can just patch your kernel to expose this option.

If you can't patch your kernel, then yes you'd need to have your own copy of the
arc4 lib.  Of course, that would only be a workaround for the arc4 lib.  You may
run into other things that have no workaround.  You need to accept that what
you're trying to do will sometimes be impossible without kernel changes.

- Eric
diff mbox series

Patch

diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
index 2082af43d51f..2dfc785a7817 100644
--- a/lib/crypto/Kconfig
+++ b/lib/crypto/Kconfig
@@ -6,7 +6,11 @@  config CRYPTO_LIB_AES
 	tristate
 
 config CRYPTO_LIB_ARC4
-	tristate
+	tristate "ARC4 library interface"
+	help
+	  Enable the ARC4 library interface. This interface is mainly
+	  used by wireless drivers and is required by the backports
+	  project.
 
 config CRYPTO_ARCH_HAVE_LIB_BLAKE2S
 	bool