All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dominique Martinet <asmadeus@codewreck.org>
To: Eric Biggers <ebiggers@kernel.org>
Cc: Demi Marie Obenour <demiobenour@gmail.com>,
	Harald Freudenberger <freude@linux.ibm.com>,
	acme@kernel.org, adrian.hunter@intel.com,
	alexander.shishkin@linux.intel.com, ardb@kernel.org,
	axboe@kernel.dk, corbet@lwn.net, davem@davemloft.net,
	edumazet@google.com, herbert@gondor.apana.org.au,
	horms@kernel.org, io-uring@vger.kernel.org, irogers@google.com,
	james.clark@linaro.org, jolsa@kernel.org, kuba@kernel.org,
	kuniyu@google.com, linux-crypto@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org, mark.rutland@arm.com,
	mingo@redhat.com, namhyung@kernel.org, netdev@vger.kernel.org,
	pabeni@redhat.com, peterz@infradead.org,
	skhan@linuxfoundation.org, willemb@google.com,
	linux-s390@vger.kernel.org
Subject: Re: [PATCH 2/3] AF_ALG: Drop support for off-CPU cryptography
Date: Tue, 28 Jul 2026 08:40:12 +0900	[thread overview]
Message-ID: <amfsXHoeOH71b1Bs@codewreck.org> (raw)
In-Reply-To: <20260725174903.GA150173@quark>

Eric Biggers wrote on Sat, Jul 25, 2026 at 10:49:03AM -0700:
> > "Inline crypto engine" seems to be a qualcomm marketing term, but from
> > looking at their doc the API seems to be PKCS#11 smart card?
> > Having worked on these for some other hardware I can't say I find it
> > easier to use than af alg, but it's definitely something that can be
> > worked out.
> 
> I guess I should have written "inline encryption hardware", which is the
> vendor-independent term we've been using in the kernel, just in case
> anyone thinks "inline crypto engine" means the "Qualcomm Inline Crypto
> Engine" specifically (but really, IMO they are just descriptive phrases
> that mean the same thing).  There are many different hardware vendors
> that have inline encryption hardware for UFS and/or eMMC.
>
> Their interface is quite simple and doesn't use PKCS#11 at all.  I don't
> know where you're seeing anything about PKCS#11.

PKCS#11 is something I (wrongly) picked up from Qualcomm doc here:
https://docs.qualcomm.com/doc/80-70018-11/topic/key-management.html#key-management

But honestly I hadn't read up all that much, and I had been confused as
the previous page talked about their inline crypto engine but this seems
to be more general.
It's been a busy weekend/week/month/year...

> See also the documentation in Documentation/block/inline-encryption.rst

Thanks for this pointer as well; this is much more clear to me, and also
seems to cover keys generated directly on hardware that are not
accessible so it pretty much covers what we're doing manually as well
(once I finally realized that this sits on the SoC side, not the
UFS/eMMC side, as key generation didn't make sense there)

> > I was just curious about the double-take approach taken with these two patches:
> >  crypto: af_alg - Drop support for off-CPU cryptography (this)
> >  crypto: af_alg - Add af_alg_restrict sysctl, defaulting to 1 ([4])
> > [4] https://lore.kernel.org/linux-crypto/20260622234803.6982-1-ebiggers@kernel.org/T/#u
> > 
> > I assume part of it was just that the whitelist wasn't ready yet when
> > this patch was merged, but as far as I understand if the whitelist
> > sysctl is implemented this is basically noop?
> > (Well, I guess it'll allow code simplification over time, but these
> > hopefully won't be backported to stable kernels too aggressively.. While
> > I fully expect to see this "Drop support for off-CPU crypto" patch to
> > show up in a couple of weeks in older stable trees; and for practical
> > purposes I don't see much way around just reverting it for now)
> 
> Neither of these patches is tagged with 'Cc stable', and I don't expect
> them to be backported to stable kernels soon.  That being said, it seems
> the people using LLMs to find vulnerabilities haven't focused much on
> drivers/crypto/ yet.  Once they do, well, they will of course find
> vulnerabilities everywhere (accessible from unprivileged userspace via
> AF_ALG), and when that happens there may be little choice.

From my 9p maintainer hat I see plenty of patches without 'Cc stable'
get backported every merge window, but this is a potential breakage so
I guess it might not have made it (my patches merged in v7.2-rc1 (same
time as this) were backported last week)

I generally agree with your assessement of vulnerabilities everywhere so
would have expected it to make the cut, time will tell.

> The addition of the af_alg_restrict sysctl (and the possibility of
> userspace explicitly choosing to disable restrictions by setting
> af_alg_restrict=0) doesn't necessarily mean that problematic
> functionality should be, or should have been, moved under
> af_alg_restrict=0 rather than removed outright.  It's just an option
> that can be used if needed for compatibility reasons, if actual user
> reports come in.  If something is not needed at all it can just be
> dropped right away.  This actually happens way more often than people
> might think, due to the immense amount of unnecessary functionality that
> AF_ALG has: *many* crypto algorithms have been removed from AF_ALG over
> the years without any complaints, since they were never used.

Right, I can definitely relate to this, and it's hard to know who
actually uses what especially when vendors add their own sauce on top of
it and don't seem to bother about updating much...

> I'll also note that hardware crypto "decelerator" driver authors are
> actually now *depending* on the drivers no longer being usable from
> AF_ALG in mainline in order to argue for more relaxed driver inclusion
> criteria.  I don't think they can have it both ways!

FWIW I'm not affiliated with NXP or any SoC vendor (we're making
embedded boards and providing an OS for it); I'm just bouncing around
between a rock and a hard place trying to ensure my users can keep
updating their kernel without losing access to their data :)

The discussion has been enlightening anyway, and thanks to Richard I've
seen a way forward if we get a backport (or even possibly even move
forward with it ahead of stable), it's appreciated.

Thanks again,
-- 
Dominique Martinet

  reply	other threads:[~2026-07-27 23:40 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-23 19:43 [PATCH 0/3] AF_ALG: Remove support for AIO and old-style drivers Demi Marie Obenour
2026-05-23 19:43 ` Demi Marie Obenour via B4 Relay
2026-05-23 19:43 ` [PATCH 1/3] net: Remove support for AIO on sockets Demi Marie Obenour
2026-05-23 19:43   ` Demi Marie Obenour via B4 Relay
2026-05-25  8:03   ` Christoph Hellwig
2026-05-26 15:58     ` Jens Axboe
2026-05-27  8:13       ` Christoph Hellwig
2026-05-28 16:56         ` Jens Axboe
2026-05-29 13:59           ` Christoph Hellwig
2026-05-27  1:40   ` Jakub Kicinski
2026-05-30  0:47   ` sashiko-bot
2026-05-23 19:43 ` [PATCH 2/3] AF_ALG: Drop support for off-CPU cryptography Demi Marie Obenour
2026-05-23 19:43   ` Demi Marie Obenour via B4 Relay
2026-05-30  0:47   ` sashiko-bot
2026-06-03 13:33   ` Harald Freudenberger
2026-07-24 15:35     ` Dominique Martinet
2026-07-24 16:00       ` Eric Biggers
2026-07-24 16:32         ` Dominique Martinet
2026-07-24 18:09           ` Eric Biggers
2026-07-25  7:37             ` Dominique Martinet
2026-07-25 10:18               ` Simon Richter
2026-07-25 17:38               ` Demi Marie Obenour
2026-07-25 17:49               ` Eric Biggers
2026-07-27 23:40                 ` Dominique Martinet [this message]
2026-07-24 20:35           ` Demi Marie Obenour
2026-07-25 20:55           ` Richard Weinberger
2026-07-25 22:04             ` Eric Biggers
2026-07-25 23:09               ` Eric Biggers
2026-07-26  7:30                 ` Richard Weinberger
2026-07-26  7:28               ` Richard Weinberger
2026-07-26 15:50                 ` Eric Biggers
2026-07-26 20:10                   ` Richard Weinberger
2026-07-27 17:20                     ` Eric Biggers
2026-05-23 19:43 ` [PATCH 3/3] AF_ALG: Document that it is *always* slower Demi Marie Obenour
2026-05-23 19:43   ` Demi Marie Obenour via B4 Relay
2026-05-30  0:47   ` sashiko-bot
2026-05-29  6:09 ` [PATCH 0/3] AF_ALG: Remove support for AIO and old-style drivers Herbert Xu

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=amfsXHoeOH71b1Bs@codewreck.org \
    --to=asmadeus@codewreck.org \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=ardb@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=corbet@lwn.net \
    --cc=davem@davemloft.net \
    --cc=demiobenour@gmail.com \
    --cc=ebiggers@kernel.org \
    --cc=edumazet@google.com \
    --cc=freude@linux.ibm.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=horms@kernel.org \
    --cc=io-uring@vger.kernel.org \
    --cc=irogers@google.com \
    --cc=james.clark@linaro.org \
    --cc=jolsa@kernel.org \
    --cc=kuba@kernel.org \
    --cc=kuniyu@google.com \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=peterz@infradead.org \
    --cc=skhan@linuxfoundation.org \
    --cc=willemb@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.