[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210921223724.ocxpdef6ptquprgz@luna>
Date: Wed, 22 Sep 2021 00:37:24 +0200
From: Emmanuel Gil Peyrot <linkmauve@...kmauve.fr>
To: Eric Biggers <ebiggers@...nel.org>
Cc: Emmanuel Gil Peyrot <linkmauve@...kmauve.fr>,
linux-crypto@...r.kernel.org, Ash Logan <ash@...quark.com>,
Jonathan Neuschäfer <j.ne@...teo.net>,
Herbert Xu <herbert@...dor.apana.org.au>,
"David S. Miller" <davem@...emloft.net>,
Rob Herring <robh+dt@...nel.org>,
Michael Ellerman <mpe@...erman.id.au>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH 0/4] crypto: nintendo-aes - add a new AES driver
On Tue, Sep 21, 2021 at 02:59:37PM -0700, Eric Biggers wrote:
> On Tue, Sep 21, 2021 at 11:39:26PM +0200, Emmanuel Gil Peyrot wrote:
> > This engine implements AES in CBC mode, using 128-bit keys only. It is
> > present on both the Wii and the Wii U, and is apparently identical in
> > both consoles.
> >
> > The hardware is capable of firing an interrupt when the operation is
> > done, but this driver currently uses a busy loop, I’m not too sure
> > whether it would be preferable to switch, nor how to achieve that.
> >
> > It also supports a mode where no operation is done, and thus could be
> > used as a DMA copy engine, but I don’t know how to expose that to the
> > kernel or whether it would even be useful.
> >
> > In my testing, on a Wii U, this driver reaches 80.7 MiB/s, while the
> > aes-generic driver only reaches 30.9 MiB/s, so it is a quite welcome
> > speedup.
> >
> > This driver was written based on reversed documentation, see:
> > https://wiibrew.org/wiki/Hardware/AES
> >
> > Emmanuel Gil Peyrot (4):
> > crypto: nintendo-aes - add a new AES driver
> > dt-bindings: nintendo-aes: Document the Wii and Wii U AES support
> > powerpc: wii.dts: Expose the AES engine on this platform
> > powerpc: wii_defconfig: Enable AES by default
>
> Does this pass the self-tests, including the fuzz tests which are enabled by
> CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y?
I wasn’t aware of those, and indeed it doesn’t pass them yet:
[ 0.680164] alg: skcipher: cbc-aes-nintendo encryption overran dst buffer on test vector 0, cfg="out-of-place"
[ 0.680201] fbcon: Taking over console
[ 0.680219] ------------[ cut here ]------------
[ 0.680222] alg: self-tests for cbc-aes-nintendo (cbc(aes)) failed (rc=-75)
I’ll try to figure out how to debug this and I’ll send a v2, thanks for
the hint!
>
> - Eric
--
Emmanuel Gil Peyrot
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists