Skip to content
  1. Apr 10, 2015
  2. Apr 08, 2015
  3. Apr 07, 2015
  4. Apr 03, 2015
    • Sami Tolvanen's avatar
      crypto: arm/sha256 - Add optimized SHA-256/224 · f2f770d7
      Sami Tolvanen authored
      
      
      Add Andy Polyakov's optimized assembly and NEON implementations for
      SHA-256/224.
      
      The sha256-armv4.pl script for generating the assembly code is from
      OpenSSL commit 51f8d095562f36cdaa6893597b5c609e943b0565.
      
      Compared to sha256-generic these implementations have the following
      tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805):
      
        bs    b/u      sha256-neon  sha256-asm
        16    16       x1.32        x1.19
        64    16       x1.27        x1.15
        64    64       x1.36        x1.20
        256   16       x1.22        x1.11
        256   64       x1.36        x1.19
        256   256      x1.59        x1.23
        1024  16       x1.21        x1.10
        1024  256      x1.65        x1.23
        1024  1024     x1.76        x1.25
        2048  16       x1.21        x1.10
        2048  256      x1.66        x1.23
        2048  1024     x1.78        x1.25
        2048  2048     x1.79        x1.25
        4096  16       x1.20        x1.09
        4096  256      x1.66        x1.23
        4096  1024     x1.79        x1.26
        4096  4096     x1.82        x1.26
        8192  16       x1.20        x1.09
        8192  256      x1.67        x1.23
        8192  1024     x1.80        x1.26
        8192  4096     x1.85        x1.28
        8192  8192     x1.85        x1.27
      
      Where bs refers to block size and b/u to bytes per update.
      
      Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
      Cc: Andy Polyakov <appro@openssl.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      f2f770d7
    • Herbert Xu's avatar
      crypto: api - Change crypto_unregister_instance argument type · 87b16756
      Herbert Xu authored
      
      
      This patch makes crypto_unregister_instance take a crypto_instance
      instead of a crypto_alg.  This allows us to remove a duplicate
      CRYPTO_ALG_INSTANCE check in crypto_unregister_instance.
      
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      87b16756
    • Herbert Xu's avatar
      crypto: api - Fix races in crypto_unregister_instance · 1f723710
      Herbert Xu authored
      
      
      There are multiple problems in crypto_unregister_instance:
      
      1) The cra_refcnt BUG_ON check is racy and can cause crashes.
      2) The cra_refcnt check shouldn't exist at all.
      3) There is no reference on tmpl to protect the tmpl->free call.
      
      This patch rewrites the function using crypto_remove_spawn which
      now morphs into crypto_remove_instance.
      
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      1f723710
    • Vutla, Lokesh's avatar
      crypto: omap-sham - Add the offset of sg page to vaddr · 13cf394c
      Vutla, Lokesh authored
      
      
      kmap_atomic() gives only the page address of the input page.
      Driver should take care of adding the offset of the scatterlist
      within the page to the returned page address.
      omap-sham driver is not adding the offset to page and directly operates
      on the return vale of kmap_atomic(), because of which the following
      error comes when running crypto tests:
      
      00000000: d9 a1 1b 7c aa 90 3b aa 11 ab cb 25 00 b8 ac bf
      [    2.338169] 00000010: c1 39 cd ff 48 d0 a8 e2 2b fa 33 a1
      [    2.344008] alg: hash: Chunking test 1 failed for omap-sha256
      
      So adding the scatterlist offset to vaddr.
      
      Signed-off-by: default avatarLokesh Vutla <lokeshvutla@ti.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      13cf394c
  5. Apr 01, 2015