Re: [PATCH] crypto: lib/arc4 - expose library interface

From: Eric Biggers
Date: Sat Jul 16 2022 - 01:49:41 EST


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@xxxxxxxxx>
> > > > ---
> > > > 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