1. 26 May, 2018 6 commits
  2. 18 May, 2018 11 commits
  3. 11 May, 2018 12 commits
  4. 05 May, 2018 9 commits
  5. 28 Apr, 2018 2 commits
    • Christian Lamparter's avatar
      crypto: crypto4xx - put temporary dst sg into request ctx · 658c9d2b
      Christian Lamparter authored
      This patch fixes a crash that happens when testing rfc4543(gcm(aes))
      
      Unable to handle kernel paging request for data at address 0xf59b3420
      Faulting instruction address: 0xc0012994
      Oops: Kernel access of bad area, sig: 11 [#1]
      BE PowerPC 44x Platform
      Modules linked in: tcrypt(+) crypto4xx [...]
      CPU: 0 PID: 0 Comm: swapper Tainted: G           O      4.17.0-rc1+ #23
      NIP:  c0012994 LR: d3077934 CTR: 06026d49
      REGS: cfff7e30 TRAP: 0300   Tainted: G           O       (4.17.0-rc1+)
      MSR:  00029000 <CE,EE,ME>  CR: 44744822  XER: 00000000
      DEAR: f59b3420 ESR: 00000000
      NIP [c0012994] __dma_sync+0x58/0x10c
      LR [d3077934] crypto4xx_bh_tasklet_cb+0x188/0x3c8 [crypto4xx]
      
      __dma_sync was fed the temporary _dst that crypto4xx_build_pd()
      had in it's function stack. This clearly never worked.
      This patch therefore overhauls the code from the original driver
      and puts the temporary dst sg list into aead's request context.
      
      Fixes: a0aae821 ("crypto: crypto4xx - prepare for AEAD support")
      Signed-off-by: default avatarChristian Lamparter <chunkeey@gmail.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      658c9d2b
    • Christian Lamparter's avatar
      crypto: crypto4xx - extend aead fallback checks · 584201f1
      Christian Lamparter authored
      1020 bytes is the limit for associated data. Any more
      and it will no longer fit into hash_crypto_offset anymore.
      
      The hardware will not process aead requests with plaintext
      that have less than AES_BLOCK_SIZE bytes. When decrypting
      aead requests the authsize has to be taken in account as
      well, as it is part of the cryptlen. Otherwise the hardware
      will think it has been misconfigured and will return:
      
      aead return err status = 0x98
      
      For rtc4543(gcm(aes)), the hardware has a dedicated GMAC
      mode as part of the hash function set.
      Signed-off-by: default avatarChristian Lamparter <chunkeey@gmail.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      584201f1