Messages in this thread |  | | From | Michael Bommarito <> | | Date | Fri, 15 May 2026 08:05:33 -0400 | | Subject | Re: [PATCH v2] crypto: krb5 - filter out async aead implementations at alloc |
| |
On Fri, May 15, 2026 at 7:47 AM David Howells <dhowells@redhat.com> wrote: > > Michael Bommarito <michael.bommarito@gmail.com> wrote: > > > - ci = crypto_alloc_aead(krb5->encrypt_name, 0, 0); > > + ci = crypto_alloc_aead(krb5->encrypt_name, 0, CRYPTO_ALG_ASYNC); > > Apologies, but doesn't that do the opposite of what we want? > > Documentation/crypto/architecture.rst says: > > The mask flag restricts the type of cipher. The only allowed flag is > CRYPTO_ALG_ASYNC to restrict the cipher lookup function to > asynchronous ciphers. Usually, a caller provides a 0 for the mask > flag. > > Don't we want only synchronous ciphers?
This suggestion originally came from Herbert, but when I checked it, I missed that note and just looked at the code at crypto/api.c:71:
71 if ((q->cra_flags ^ type) & mask) 1 continue;
crypto_alloc_sync_aead does the same thing at L212 in aead.c.
So the bit mask should filter the way we want, despite the documentation's implication. Perhaps we should separately update that line in the docs to be more clear about filter and how to properly use it.
Thanks, Mike
|  |