lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ