1. 09 Aug, 2016 38 commits
  2. 08 Aug, 2016 2 commits
    • Horia Geantă's avatar
      crypto: caam - defer aead_set_sh_desc in case of zero authsize · 2fdea258
      Horia Geantă authored
      To be able to generate shared descriptors for AEAD, the authentication size
      needs to be known. However, there is no imposed order of calling .setkey,
      .setauthsize callbacks.
      
      Thus, in case authentication size is not known at .setkey time, defer it
      until .setauthsize is called.
      
      The authsize != 0 check was incorrectly removed when converting the driver
      to the new AEAD interface.
      
      Cc: <stable@vger.kernel.org> # 4.3+
      Fixes: 479bcc7c ("crypto: caam - Convert authenc to new AEAD interface")
      Signed-off-by: default avatarHoria Geantă <horia.geanta@nxp.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      2fdea258
    • Horia Geantă's avatar
      crypto: caam - fix echainiv(authenc) encrypt shared descriptor · 1d2d87e8
      Horia Geantă authored
      There are a few things missed by the conversion to the
      new AEAD interface:
      
      1 - echainiv(authenc) encrypt shared descriptor
      
      The shared descriptor is incorrect: due to the order of operations,
      at some point in time MATH3 register is being overwritten.
      
      2 - buffer used for echainiv(authenc) encrypt shared descriptor
      
      Encrypt and givencrypt shared descriptors (for AEAD ops) are mutually
      exclusive and thus use the same buffer in context state: sh_desc_enc.
      
      However, there's one place missed by s/sh_desc_givenc/sh_desc_enc,
      leading to errors when echainiv(authenc(...)) algorithms are used:
      DECO: desc idx 14: Header Error. Invalid length or parity, or
      certain other problems.
      
      While here, also fix a typo: dma_mapping_error() is checking
      for validity of sh_desc_givenc_dma instead of sh_desc_enc_dma.
      
      Cc: <stable@vger.kernel.org> # 4.3+
      Fixes: 479bcc7c ("crypto: caam - Convert authenc to new AEAD interface")
      Signed-off-by: default avatarHoria Geantă <horia.geanta@nxp.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      1d2d87e8