[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250713165401.GA1773@quark>
Date: Sun, 13 Jul 2025 09:54:01 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: "Elliott, Robert (Servers)" <elliott@....com>
Cc: "linux-crypto@...r.kernel.org" <linux-crypto@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Ard Biesheuvel <ardb@...nel.org>,
"Jason A . Donenfeld" <Jason@...c4.com>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>,
"linux-mips@...r.kernel.org" <linux-mips@...r.kernel.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-s390@...r.kernel.org" <linux-s390@...r.kernel.org>,
"sparclinux@...r.kernel.org" <sparclinux@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>
Subject: Re: [PATCH 03/26] lib/crypto: sha1: Add SHA-1 library functions
On Sun, Jul 13, 2025 at 03:05:16PM +0000, Elliott, Robert (Servers) wrote:
> > -----Original Message-----
> > From: Eric Biggers <ebiggers@...nel.org>
> > Sent: Saturday, July 12, 2025 6:23 PM
> > Subject: [PATCH 03/26] lib/crypto: sha1: Add SHA-1 library functions
> ...
> > +static void __maybe_unused sha1_blocks_generic(struct sha1_block_state
> > *state,
> > + const u8 *data, size_t nblocks)
> > +{
> > + u32 workspace[SHA1_WORKSPACE_WORDS];
> > +
> > + do {
> > + sha1_transform(state->h, data, workspace);
> > + data += SHA1_BLOCK_SIZE;
> > + } while (--nblocks);
> > +
> > + memzero_explicit(workspace, sizeof(workspace));
> > +}
>
> That assumes the caller will never pass nblocks of 0... should that be
> checked first?
No. This is a static function, and it's easy to verify that all callers
pass a positive nblocks. All these code paths are also well-covered by
sha1_kunit. Also, lib/crypto/sha256.c and lib/crypto/sha512.c do the
exact same thing. Also, most of the architecture-specfiic
implementations of sha{1,256,512}_blocks() assume positive nblocks too.
- Eric
Powered by blists - more mailing lists