From: Jarkko Sakkinen <jarkko@kernel.org>
To: Andrew Halaney <andrew@amutable.com>
Cc: David Howells <dhowells@redhat.com>,
Alasdair Kergon <agk@redhat.com>,
Mike Snitzer <snitzer@kernel.org>,
Mikulas Patocka <mpatocka@redhat.com>,
Benjamin Marzinski <bmarzins@redhat.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
Eric Biggers <ebiggers@kernel.org>,
"Theodore Y. Ts'o" <tytso@mit.edu>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Randy Dunlap <rdunlap@infradead.org>,
dm-devel@lists.linux.dev, linux-kernel@vger.kernel.org,
keyrings@vger.kernel.org, linux-security-module@vger.kernel.org,
bpf@vger.kernel.org, fsverity@lists.linux.dev,
linux-doc@vger.kernel.org,
"Christian Brauner (Amutable)" <brauner@kernel.org>
Subject: Re: [PATCH 1/3] keys: add KEY_SPEC_DM_VERITY_KEYRING
Date: Thu, 8 Oct 2026 23:15:49 +0300 [thread overview]
Message-ID: <asf59fhpYD1z_diw@kernel.org> (raw)
In-Reply-To: <asfhi1DSO_mhqxWZ@toolbx>
On Thu, Oct 08, 2026 at 01:41:55PM -0500, Andrew Halaney wrote:
> On Thu, Oct 08, 2026 at 08:33:45PM +0300, Jarkko Sakkinen wrote:
> > On Wed, Oct 07, 2026 at 10:30:14AM -0500, Andrew Halaney wrote:
> > > On Fri, Sep 25, 2026 at 11:39:28AM +0300, Jarkko Sakkinen wrote:
> > > > On Fri, Sep 18, 2026 at 02:59:49PM -0500, Andrew Halaney wrote:
> > > > > On Fri, Sep 18, 2026 at 09:05:26AM +0100, David Howells wrote:
> > > > > > Jarkko Sakkinen <jarkko@kernel.org> wrote:
> > > > > >
> > > > > > > This is great for discussion but what we want for the commit message
> > > > > > > is just motivation and resolution.
> > > > > >
> > > > > > Actually, I think it's useful that Andrew wrote up the issues in the commit
> > > > > > message - and I think it shows part of the motivation. The 'writing a fake
> > > > > > /proc/keys line in the description' is something I hadn't considered.
> > > > >
> > > > > I'll defer to what you all want in the message here, I found it valuable
> > > > > but I trend on the side of overly verbose admittedly!
> > > > >
> > > > > >
> > > > > > > I don't think we need all this just to say that /proc/keys in a racy
> > > > > > > query mechanism for production, which is an issue for dm-verity, given
> > > > > > > that nothing else is available.
> > > > > >
> > > > > > I think at some point, we will need a system call to search all for all
> > > > > > accessible keys matching certain criteria by actually walking the key
> > > > > > database. The problem there is that there may be multiple hits, so we may
> > > > > > need something like:
> > > > > >
> > > > > > int count = find_key(key_serial_t start_id,
> > > > > > const char *type, const char *desc_prefix,
> > > > > > key_serial_t *results, size_t results_size,
> > > > > > unsigned int flags);
> > > > > >
> > > > > > Allowing you to do:
> > > > > >
> > > > > > key_serial_t dm_key;
> > > > > > int n = find_key(0, "keyring", ".dm_verity", &dm_key, 1,
> > > > > > FIND_KEY_EXACT_DESC);
> > > > > >
> > > > > > This wouldn't be as fast as a direct lookup since it would have to walk the
> > > > > > key tree, doing name comparisons and perm checks on each key of the type.
> > > > > >
> > > > > > > And secondly special keys are meant for implicit keyrings so isn't
> > > > > > > that all there's to it?
> > > > > >
> > > > > > I have no particular objection to setting aside a block of negative key IDs
> > > > > > for special keyrings that need to be accessed a lot - though I would make
> > > > > > common reg/unreg functions that take the ID to be registered and, say, set the
> > > > > > block at -257..-512. Moving the BFP keyring to -257 and DM to -258.
> > > > >
> > > > > To be clear are you suggesting I do that for v2 here? Happy to make the
> > > > > change and add some reuse to the registration functions, etc. I'm
> > > > > guessing its fine to change the bpf id since its still only in -next?
> > > > >
> > > > > The only awkward bit with making that more generic is that dm-verity
> > > > > isn't __ro_after_init since its coming from a module possibly, and
> > > > > because of the module usage I also protected it with a spinlock in case
> > > > > someone's accessing it while you unload the module. Could just use one
> > > > > spinlock for the whole generic array, and drop the __ro_after_init I
> > > > > suppose.
> > > > >
> > > > > Let me know if I'm not following properly!
> > > >
> > > > I just read David's response and I think he made fair arguments,
> > > > and patches look fine to me.
> > > >
> > > > David, did you have anything? I could pick these.
> > > >
> > > > Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
> > > >
> > >
> > > Gentle ping :)
> >
> > Understandable :-)
> >
> > >
> > > Are we happy with these to get picked up?
> >
> > Can you just do a resend that applies on top of latest mainline
> > or my tree? I.e. b4 shazam was not happy about this.
> >
> > Full log:
> >
> > $ b4 shazam https://lore.kernel.org/keyrings/20260914-ajhalaney-dmverity-key-identifier-v1-2-01922dc1366a@amutable.com/
> > Grabbing thread from lore.kernel.org/all/20260914-ajhalaney-dmverity-key-identifier-v1-2-01922dc1366a@amutable.com/t.mbox.gz
> >
> > Breaking thread to remove parents of 20260914-ajhalaney-dmverity-key-identifier-v1-0-01922dc1366a@amutable.com
> > Checking for newer revisions
> > Grabbing search results from lore.kernel.org
> > Analyzing 10 messages in the thread
> > Analyzing 0 code-review messages
> > Checking attestation on all messages, may take a moment...
> > ---
> > ✗ [PATCH 1/3] keys: add KEY_SPEC_DM_VERITY_KEYRING
> > + Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> (✓ DKIM/kernel.org)
> > + Reviewed-by: Christian Brauner (Amutable) <brauner@kernel.org> (✓ DKIM/kernel.org)
> > ✗ [PATCH 2/3] keys: add KEY_SPEC_FS_VERITY_KEYRING
> > + Reviewed-by: Christian Brauner (Amutable) <brauner@kernel.org> (✓ DKIM/kernel.org)
> > ✗ [PATCH 3/3] Documentation: keys: document IDs added since KEY_SPEC_REQKEY_AUTH_KEY
> > + Reviewed-by: Christian Brauner (Amutable) <brauner@kernel.org> (✓ DKIM/kernel.org)
> > ---
> > ✗ BADSIG: DKIM/amutable-com.20251104.gappssmtp.com
> > ---
> > Total patches: 3
> > ---
> > Base: base-commit 1a1de54f7369cd2b5bac0f265910e60ad3a6b4c3 not known, ignoring
> > Applying: keys: add KEY_SPEC_DM_VERITY_KEYRING
> > Patch failed at 0001 keys: add KEY_SPEC_DM_VERITY_KEYRING
> > error: patch failed: include/linux/key.h:441
> > error: include/linux/key.h: patch does not apply
> > error: patch failed: include/uapi/linux/keyctl.h:25
> > error: include/uapi/linux/keyctl.h: patch does not apply
> > error: patch failed: security/keys/process_keys.c:25
> > error: security/keys/process_keys.c: patch does not apply
> > hint: Use 'git am --show-current-patch=diff' to see the failed patch
> > hint: When you have resolved this problem, run "git am --continue".
> > hint: If you prefer to skip this patch, run "git am --skip" instead.
> > hint: To restore the original branch and stop patching, run "git am --abort".
> > hint: Disable this message with "git config advice.mergeConflict false"
>
> Egh, sorry I was on linux-next. I'm also realizing that the
> KEY_SPEC_BPF_KEYRING bit this sort of depends on is only in bpf-next
> (i.e. 264d8fd2794f ("bpf, keys: Add a bpf keyring for program signature validation")).
> Otherwise as is this conflicts on mainline and we'd just have to skip
> the -9 the bpf keyring is using at the moment.
>
> Should I just base on bpf-next that and send thru there instead? I can't recall
> how kernel maintainers typically handle this other than cutting a stable
> branch that both subsystems pull from, etc.
I don't mind if you would take care of the PR through that route.
You can add my r-by to each patch.
>
> Thanks,
> Andrew
Br, Jarkko
next prev parent reply other threads:[~2026-10-08 20:15 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-14 16:41 [PATCH 0/3] keys: Add well known IDs for fs-verity/dm-verity keys Andrew Halaney
2026-09-14 16:41 ` [PATCH 1/3] keys: add KEY_SPEC_DM_VERITY_KEYRING Andrew Halaney
2026-09-18 2:29 ` Jarkko Sakkinen
2026-09-18 8:05 ` David Howells
2026-09-18 19:59 ` Andrew Halaney
2026-09-25 8:39 ` Jarkko Sakkinen
2026-10-07 15:30 ` Andrew Halaney
2026-10-08 17:33 ` Jarkko Sakkinen
2026-10-08 18:41 ` Andrew Halaney
2026-10-08 20:15 ` Jarkko Sakkinen [this message]
2026-09-14 16:41 ` [PATCH 2/3] keys: add KEY_SPEC_FS_VERITY_KEYRING Andrew Halaney
2026-09-14 16:41 ` [PATCH 3/3] Documentation: keys: document IDs added since KEY_SPEC_REQKEY_AUTH_KEY Andrew Halaney
2026-09-15 12:39 ` [PATCH 0/3] keys: Add well known IDs for fs-verity/dm-verity keys Christian Brauner
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=asf59fhpYD1z_diw@kernel.org \
--to=jarkko@kernel.org \
--cc=agk@redhat.com \
--cc=andrew@amutable.com \
--cc=bmarzins@redhat.com \
--cc=bpf@vger.kernel.org \
--cc=brauner@kernel.org \
--cc=corbet@lwn.net \
--cc=dhowells@redhat.com \
--cc=dm-devel@lists.linux.dev \
--cc=ebiggers@kernel.org \
--cc=fsverity@lists.linux.dev \
--cc=jmorris@namei.org \
--cc=keyrings@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=paul@paul-moore.com \
--cc=rdunlap@infradead.org \
--cc=serge@hallyn.com \
--cc=skhan@linuxfoundation.org \
--cc=snitzer@kernel.org \
--cc=tytso@mit.edu \
/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.