Netdev List
 help / color / mirror / Atom feed
From: Eric Biggers <ebiggers@kernel.org>
To: Hendrik Donner <hd@os-cillation.de>
Cc: linux-crypto@vger.kernel.org,
	Herbert Xu <herbert@gondor.apana.org.au>,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Steffen Klassert <steffen.klassert@secunet.com>,
	Thomas Huth <thuth@redhat.com>
Subject: Re: [PATCH 1/2] crypto: pcrypt - Remove pcrypt
Date: Tue, 21 Jul 2026 19:50:04 +0000	[thread overview]
Message-ID: <20260721195004.GA3383223@google.com> (raw)
In-Reply-To: <37ecba68-947a-45ad-9ec4-361facc06a05@os-cillation.de>

On Tue, Jul 21, 2026 at 08:59:21PM +0200, Hendrik Donner wrote:
> Hello,
> 
> On 7/14/26 00:32, Eric Biggers wrote:
> > pcrypt was originally intended to improve IPsec performance.  However,
> > it's no longer useful for that.  Reports from the rare cases that anyone
> > has actually tried to use it over the years indicate that it actually
> > reduces IPsec performance, e.g.:
> > 
> > * https://github.com/libreswan/libreswan/wiki/Internals:-Cryptographic-Acceleration#obsoleted-ipsec-accelerations
> > * https://users.strongswan.narkive.com/liqTaTq8/strongswan-problem-with-pcrypt
> > * https://unix.stackexchange.com/questions/594336/ipsec-multithreading-via-pcrypt-worse-than-single-thread
> > 
> > It's also undocumented and quite difficult to actually use.  Its design
> > is also broken, in that any unprivileged program can enable pcrypt
> > systemwide at any time (by instantiating it using AF_ALG).
> > 
> > Meanwhile, pcrypt has been a regular source of bugs, including at least
> > four that have received CVEs.
> > 
> > Let's just remove it.  No one seems to care about it anymore other than
> > people looking for vulnerabilities.
> > 
> 
> my company is a user. We have a hardware platform based on an IMX6 SoC
> using IPSec and configure pcrypt using crconf. Current performance
> difference:
> 
> iperf3 -c <IP> --time 60 -R
> 
> pcrypt:
> Download: 107 Mbits/sec
> 
> No pcrypt:
> Download: 59.3 Mbits/sec
> 
> iperf3 -c <IP> --time 60
> 
> pcrypt:
> Upload: 65.9 Mbits/sec
> 
> No pcrypt:
> Upload: 52.0 Mbits/sec
> 
> The relevant crypto templates are configured in early userspace and
> since i got curious, that has been the case since 2017.
> 
> Mostly using
> 
> pcrypt(gcm_base(ctr-aes-neonbs,ghash-generic))
> 
> nowadays, AES-CBC in the past/as a fallback option.
> 
> So at least on some platforms there is still a significant performance
> boots, at least for downloads in this case.

Thanks for bringing up your use case.

Have you looked into alternative solutions such as Receive Side Scaling
(https://docs.kernel.org/networking/scaling.html#rss-receive-side-scaling)?
AFAIK it's not just the crypto performance that makes pcrypt unnecessary
these days, but also the design of the networking layer.

I understand that i.MX6 doesn't have the ARMv8 crypto extensions.
However, surely you could at least use the NEON-optimized GHASH code?
Is there a reason you're not using it?

- Eric

  reply	other threads:[~2026-07-21 19:50 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-13 22:32 [PATCH 0/2] Remove pcrypt Eric Biggers
2026-07-13 22:32 ` [PATCH 1/2] crypto: pcrypt - " Eric Biggers
2026-07-14  4:20   ` Thomas Huth
2026-07-21 18:59   ` Hendrik Donner
2026-07-21 19:50     ` Eric Biggers [this message]
2026-07-13 22:32 ` [PATCH 2/2] padata: Remove serialized job support Eric Biggers
2026-07-14  4:28   ` Thomas Huth
2026-07-17 20:32   ` Daniel Jordan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260721195004.GA3383223@google.com \
    --to=ebiggers@kernel.org \
    --cc=hd@os-cillation.de \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=steffen.klassert@secunet.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox