2022-07-04 19:56:26

by Vladis Dronov

[permalink] [raw]
Subject: [PATCH] wireguard: Kconfig: select CRYPTO_CHACHA_S390

Select the new implementation of CHACHA20 for S390 when available,
it is faster than the generic software implementation.

Reported-by: kernel test robot <[email protected]>
Link: https://lore.kernel.org/linux-kernel/[email protected]/
Signed-off-by: Vladis Dronov <[email protected]>
---
drivers/net/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index b2a4f998c180..8c1eeb5a8db8 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -94,6 +94,7 @@ config WIREGUARD
select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON
select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2
select CRYPTO_POLY1305_MIPS if MIPS
+ select CRYPTO_CHACHA_S390 if S390
help
WireGuard is a secure, fast, and easy to use replacement for IPSec
that uses modern cryptography and clever networking tricks. It's
--
2.36.1


2022-07-05 01:05:35

by Jason A. Donenfeld

[permalink] [raw]
Subject: Re: [PATCH] wireguard: Kconfig: select CRYPTO_CHACHA_S390

Hi Vladis,

On Mon, Jul 04, 2022 at 09:15:35PM +0200, Vladis Dronov wrote:
> Select the new implementation of CHACHA20 for S390 when available,
> it is faster than the generic software implementation.
>
> Reported-by: kernel test robot <[email protected]>
> Link: https://lore.kernel.org/linux-kernel/[email protected]/
> Signed-off-by: Vladis Dronov <[email protected]>
> ---
> drivers/net/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index b2a4f998c180..8c1eeb5a8db8 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -94,6 +94,7 @@ config WIREGUARD
> select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON
> select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2
> select CRYPTO_POLY1305_MIPS if MIPS
> + select CRYPTO_CHACHA_S390 if S390
> help
> WireGuard is a secure, fast, and easy to use replacement for IPSec
> that uses modern cryptography and clever networking tricks. It's
> --
> 2.36.1

Thanks for the patch. Queued up as:
https://git.zx2c4.com/wireguard-linux/commit/?id=1b4ab028730cd00c144eaa51160865504b780961

I'll include this in my series to net.git soon.

Regards,
Jason

2022-07-05 02:23:07

by Jason A. Donenfeld

[permalink] [raw]
Subject: Re: [PATCH] wireguard: Kconfig: select CRYPTO_CHACHA_S390

On Tue, Jul 05, 2022 at 02:49:19AM +0200, Jason A. Donenfeld wrote:
> Hi Vladis,
>
> On Mon, Jul 04, 2022 at 09:15:35PM +0200, Vladis Dronov wrote:
> > Select the new implementation of CHACHA20 for S390 when available,
> > it is faster than the generic software implementation.
> >
> > Reported-by: kernel test robot <[email protected]>
> > Link: https://lore.kernel.org/linux-kernel/[email protected]/
> > Signed-off-by: Vladis Dronov <[email protected]>
> > ---
> > drivers/net/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> > index b2a4f998c180..8c1eeb5a8db8 100644
> > --- a/drivers/net/Kconfig
> > +++ b/drivers/net/Kconfig
> > @@ -94,6 +94,7 @@ config WIREGUARD
> > select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON
> > select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2
> > select CRYPTO_POLY1305_MIPS if MIPS
> > + select CRYPTO_CHACHA_S390 if S390
> > help
> > WireGuard is a secure, fast, and easy to use replacement for IPSec
> > that uses modern cryptography and clever networking tricks. It's
> > --
> > 2.36.1
>
> Thanks for the patch. Queued up as:
> https://git.zx2c4.com/wireguard-linux/commit/?id=1b4ab028730cd00c144eaa51160865504b780961
>
> I'll include this in my series to net.git soon.

This actually leads to a minor problem:

WARNING: unmet direct dependencies detected for CRYPTO_CHACHA_S390
Depends on [n]: CRYPTO [=y] && CRYPTO_HW [=n] && S390 [=y]

This is of course harmless, since this doesn't *actually* depend on
CRYPTO_HW. In fact, the dependency on CRYPTO_HW is entirely a mistake
here that was repeated a few times. I cleaned this up and fixed it in
this patch:

https://lore.kernel.org/linux-crypto/[email protected]/

So hopefully Herbert will take that for 5.19 and then we'll be all set
here.

Jason

2022-07-05 13:11:03

by Vladis Dronov

[permalink] [raw]
Subject: Re: [PATCH] wireguard: Kconfig: select CRYPTO_CHACHA_S390

Hi,

On Tue, Jul 5, 2022 at 3:51 AM Jason A. Donenfeld <[email protected]> wrote:
>
> On Tue, Jul 05, 2022 at 02:49:19AM +0200, Jason A. Donenfeld wrote:
> > Hi Vladis,
> >
> > On Mon, Jul 04, 2022 at 09:15:35PM +0200, Vladis Dronov wrote:
> > > Select the new implementation of CHACHA20 for S390 when available,
> > > it is faster than the generic software implementation.
> > >
> > > Reported-by: kernel test robot <[email protected]>
> > > Link: https://lore.kernel.org/linux-kernel/[email protected]/
> > > Signed-off-by: Vladis Dronov <[email protected]>
> > > ... skip ...
> >
> > Thanks for the patch. Queued up as:
> > https://git.zx2c4.com/wireguard-linux/commit/?id=1b4ab028730cd00c144eaa51160865504b780961
> >
> > I'll include this in my series to net.git soon.

Thanks a ton, Jason!
Most appreciated.

> This actually leads to a minor problem:
>
> WARNING: unmet direct dependencies detected for CRYPTO_CHACHA_S390
> Depends on [n]: CRYPTO [=y] && CRYPTO_HW [=n] && S390 [=y]
>
> This is of course harmless, since this doesn't *actually* depend on
> CRYPTO_HW. In fact, the dependency on CRYPTO_HW is entirely a mistake
> here that was repeated a few times. I cleaned this up and fixed it in
> this patch:
>
> https://lore.kernel.org/linux-crypto/[email protected]/
>
> So hopefully Herbert will take that for 5.19 and then we'll be all set
> here.
>
> Jason

Whoa, that's... funny. Honestly, I was always wondering why CRYPTO_CHACHA_S390
and friends live in drivers/crypto/Kconfig. Now I know why. The patch
looks great, thank you.

Best regards,
Vladis Dronov | Red Hat, Inc. | The Core Kernel | Senior Software Engineer

2022-07-05 15:03:42

by Jason A. Donenfeld

[permalink] [raw]
Subject: Re: [PATCH] wireguard: Kconfig: select CRYPTO_CHACHA_S390

Hi Vlad,

On Tue, Jul 05, 2022 at 02:07:40PM +0200, Vlad Dronov wrote:
> Whoa, that's... funny. Honestly, I was always wondering why CRYPTO_CHACHA_S390
> and friends live in drivers/crypto/Kconfig. Now I know why.

Well... now you know that somebody else thought it was strange too. But
not quite why. At least I don't know why, other than assuming it was
a simple human mistake. But maybe the s390 developers will have an
interesting explanation or something. Herbert CC'd them into that
thread, so I look forward to seeing their response (if any).

Jason