[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <043472e83b086681ff3a6d0130bfa01ceeff5fa8.camel@gmail.com>
Date: Tue, 17 Jun 2025 07:32:28 +0200
From: Klaus Kudielka <klaus.kudielka@...il.com>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: Corentin Labbe <clabbe.montjoie@...il.com>, regressions@...ts.linux.dev,
linux-kernel@...r.kernel.org, Linux Crypto Mailing List
<linux-crypto@...r.kernel.org>, Boris Brezillon <bbrezillon@...nel.org>,
EBALARD Arnaud <Arnaud.Ebalard@....gouv.fr>, Romain Perier
<romain.perier@...il.com>
Subject: Re: [PATCH] crypto: marvell/cesa - Avoid empty transfer descriptor
Hello,
Plain v6.16-rc1 with marvell-cesa as module and CRYPTO_SELFTESTS enabled.
Identical behaviour as reported previously with the cryptodev tree (see below).
According to /proc/crypto, all marvell-cesa selftests (including ahash) appear to pass reliably again.
If we can trust the information in /proc/crypto, I would suggest to revert commit
e845d2399a00f866f287e0cefbd4fc7d8ef0d2f7 ("crypto: marvell/cesa - Disable hash algorithms")
Best regards, Klaus
On Fri, 2025-05-16 at 19:36 +0200, Klaus Kudielka wrote:
> On Fri, 2025-05-16 at 12:12 +0800, Herbert Xu wrote:
> >
> > Something doesn't look right. There are zero ahash lines in your
> > dmesg. IOW all the output was from skcipher tests alone.
> >
> > That could explain why ahash appears to be working.
> >
> > What does /proc/crypto show after boot-up? Do the cesa ahash
> > algorithms show up as tested in there?
> >
> > Cheers,
>
> Plain cryptodev tree, marvell-cesa as module.
> Directly after boot, only the builtin crc32c-generic shows up.
> After loading the module, the marvell-cesa ahash show up with "selftest : passed".
> But whether they REALLY were tested, I can't say.
>
> # cat /proc/crypto
> name : crc32c
> driver : crc32c-generic
> module : kernel
> priority : 100
> refcnt : 1
> selftest : passed
> internal : no
> type : shash
> blocksize : 1
> digestsize : 4
>
> # modprobe marvell-cesa
> # cat /proc/crypto
> name : hmac(sha256)
> driver : mv-hmac-sha256
> module : marvell_cesa
> priority : 0
> refcnt : 1
> selftest : passed
> internal : no
> type : ahash
> async : yes
> blocksize : 64
> digestsize : 32
>
> name : hmac(sha1)
> driver : mv-hmac-sha1
> module : marvell_cesa
> priority : 0
> refcnt : 1
> selftest : passed
> internal : no
> type : ahash
> async : yes
> blocksize : 64
> digestsize : 20
>
> name : hmac(md5)
> driver : mv-hmac-md5
> module : marvell_cesa
> priority : 0
> refcnt : 1
> selftest : passed
> internal : no
> type : ahash
> async : yes
> blocksize : 64
> digestsize : 16
>
> name : sha256
> driver : mv-sha256
> module : marvell_cesa
> priority : 0
> refcnt : 1
> selftest : passed
> internal : no
> type : ahash
> async : yes
> blocksize : 64
> digestsize : 32
>
> name : sha1
> driver : mv-sha1
> module : marvell_cesa
> priority : 0
> refcnt : 1
> selftest : passed
> internal : no
> type : ahash
> async : yes
> blocksize : 64
> digestsize : 20
>
> name : md5
> driver : mv-md5
> module : marvell_cesa
> priority : 0
> refcnt : 1
> selftest : passed
> internal : no
> type : ahash
> async : yes
> blocksize : 64
> digestsize : 16
>
> name : cbc(aes)
> driver : mv-cbc-aes
> module : marvell_cesa
> priority : 300
> refcnt : 1
> selftest : passed
> internal : no
> type : skcipher
> async : yes
> blocksize : 16
> min keysize : 16
> max keysize : 32
> ivsize : 16
> chunksize : 16
> walksize : 16
> statesize : 0
>
> name : ecb(aes)
> driver : mv-ecb-aes
> module : marvell_cesa
> priority : 300
> refcnt : 1
> selftest : passed
> internal : no
> type : skcipher
> async : yes
> blocksize : 16
> min keysize : 16
> max keysize : 32
> ivsize : 0
> chunksize : 16
> walksize : 16
> statesize : 0
>
> name : cbc(des3_ede)
> driver : mv-cbc-des3-ede
> module : marvell_cesa
> priority : 300
> refcnt : 1
> selftest : passed
> internal : no
> type : skcipher
> async : yes
> blocksize : 8
> min keysize : 24
> max keysize : 24
> ivsize : 8
> chunksize : 8
> walksize : 8
> statesize : 0
>
> name : ecb(des3_ede)
> driver : mv-ecb-des3-ede
> module : marvell_cesa
> priority : 300
> refcnt : 1
> selftest : passed
> internal : no
> type : skcipher
> async : yes
> blocksize : 8
> min keysize : 24
> max keysize : 24
> ivsize : 0
> chunksize : 8
> walksize : 8
> statesize : 0
>
> name : cbc(des)
> driver : mv-cbc-des
> module : marvell_cesa
> priority : 300
> refcnt : 1
> selftest : passed
> internal : no
> type : skcipher
> async : yes
> blocksize : 8
> min keysize : 8
> max keysize : 8
> ivsize : 8
> chunksize : 8
> walksize : 8
> statesize : 0
>
> name : ecb(des)
> driver : mv-ecb-des
> module : marvell_cesa
> priority : 300
> refcnt : 1
> selftest : passed
> internal : no
> type : skcipher
> async : yes
> blocksize : 8
> min keysize : 8
> max keysize : 8
> ivsize : 0
> chunksize : 8
> walksize : 8
> statesize : 0
>
> name : crc32c
> driver : crc32c-generic
> module : kernel
> priority : 100
> refcnt : 1
> selftest : passed
> internal : no
> type : shash
> blocksize : 1
> digestsize : 4
>
> # dmesg | tail
> [ 4.883366] mv88e6085 f1072004.mdio-mii:10 lan2: configuring for phy/gmii link mode
> [ 4.884517] br0: port 3(lan4) entered blocking state
> [ 4.884527] br0: port 3(lan4) entered forwarding state
> [ 88.867746] marvell-cesa f1090000.crypto: CESA device successfully registered
> [ 89.034292] alg: skcipher: skipping comparison tests for mv-cbc-des because cbc(des-generic) is unavailable
> [ 89.045265] alg: skcipher: skipping comparison tests for mv-cbc-des3-ede because cbc(des3_ede-generic) is unavailable
> [ 89.052456] alg: skcipher: skipping comparison tests for mv-cbc-aes because cbc(aes-generic) is unavailable
> [ 89.099763] alg: skcipher: skipping comparison tests for mv-ecb-aes because ecb(aes-generic) is unavailable
> [ 89.099819] alg: skcipher: skipping comparison tests for mv-ecb-des3-ede because ecb(des3_ede-generic) is unavailable
> [ 89.099908] alg: skcipher: skipping comparison tests for mv-ecb-des because ecb(des-generic) is unavailable
Powered by blists - more mailing lists