lkml.org 
[lkml]   [2021]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2021-09-22 00:38    [W:2.758 / U:0.868 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site