1. 28 12月, 2017 2 次提交
    • G
      crypto: tcrypt - fix AEAD decryption speed test · 4431bd49
      Gilad Ben-Yossef 提交于
      The AEAD speed test pretended to support decryption, however that support
      was broken as decryption requires a valid auth field which the test did
      not provide.
      
      Fix this by running the encryption path once with inout/output sgls
      switched to calculate the auth field prior to performing decryption
      speed tests.
      Signed-off-by: NGilad Ben-Yossef <gilad@benyossef.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      4431bd49
    • G
      crypto: tcrypt - use multi buf for ahash mb test · 7c3f1323
      Gilad Ben-Yossef 提交于
      The multi buffer ahash speed test was allocating multiple
      buffers for use with the multiple outstanding requests
      it was starting but never actually using them (except
      to free them), instead using a different single statically
      allocated buffer for all requests.
      
      Fix this by actually using the allocated buffers for the test.
      
      It is noted that it may seem tempting to instead remove the
      allocation and free of the multiple buffers and leave things as
      they are since this is a hash test where the input is read
      only. However, after consideration I believe that multiple
      buffers better reflect real life scenario with regard
      to data cache and TLB behaviours etc.
      Signed-off-by: NGilad Ben-Yossef <gilad@benyossef.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      7c3f1323
  2. 29 11月, 2017 2 次提交
  3. 03 11月, 2017 3 次提交
  4. 22 9月, 2017 2 次提交
  5. 03 8月, 2017 1 次提交
  6. 18 5月, 2017 1 次提交
  7. 23 1月, 2017 1 次提交
    • R
      crypto: tcrypt - Add debug prints · 76512f2d
      Rabin Vincent 提交于
      tcrypt is very tight-lipped when it succeeds, but a bit more feedback
      would be useful when developing or debugging crypto drivers, especially
      since even a successful run ends with the module failing to insert. Add
      a couple of debug prints, which can be enabled with dynamic debug:
      
      Before:
      
       # insmod tcrypt.ko mode=10
       insmod: can't insert 'tcrypt.ko': Resource temporarily unavailable
      
      After:
      
       # insmod tcrypt.ko mode=10 dyndbg
       tcrypt: testing ecb(aes)
       tcrypt: testing cbc(aes)
       tcrypt: testing lrw(aes)
       tcrypt: testing xts(aes)
       tcrypt: testing ctr(aes)
       tcrypt: testing rfc3686(ctr(aes))
       tcrypt: all tests passed
       insmod: can't insert 'tcrypt.ko': Resource temporarily unavailable
      Signed-off-by: NRabin Vincent <rabinv@axis.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      76512f2d
  8. 01 7月, 2016 4 次提交
  9. 29 6月, 2016 1 次提交
  10. 28 6月, 2016 3 次提交
  11. 27 6月, 2016 1 次提交
  12. 20 6月, 2016 1 次提交
  13. 06 2月, 2016 1 次提交
    • H
      crypto: tcrypt - Use ahash · 0660511c
      Herbert Xu 提交于
      This patch removes the last user of the obsolete crypto_hash
      interface, tcrypt, by simply switching it over to ahash.  In
      fact it already has all the code there so it's just a matter
      of calling the ahash speed test code with the right mask.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      0660511c
  14. 23 11月, 2015 1 次提交
  15. 21 9月, 2015 1 次提交
    • H
      crypto: tcrypt - avoid mapping from module image addresses · f074f7b1
      Horia Geant? 提交于
      The output buffer in test_ahash_speed will point to an address located
      within the tcrypt module image.
      This causes problems when trying to DMA map the buffer.
      For e.g. on ARM-based LS1021A, a page fault occurs within the
      DMA API when trying to access the struct page returned by
      virt_to_page(output):
      
      insmod tcrypt.ko mode=403
      
      testing speed of async sha1 (sha1-caam)
      test  0 (   16 byte blocks,   16 bytes per update,   1 updates):
      Unable to handle kernel paging request at virtual address f07e9080
      pgd = e58d0e00
      [f07e9080] *pgd=80000080007003, *pmd=00000000
      Internal error: Oops: 206 [#1] SMP THUMB2
      Modules linked in: tcrypt(+)
      CPU: 1 PID: 1119 Comm: insmod Not tainted 4.2.0-rc1-256134-gbf433416 #1
      Hardware name: Freescale LS1021A
      task: ea063900 ti: e5a34000 task.ti: e5a34000
      PC is at dma_cache_maint_page+0x38/0xd0
      LR is at __dma_page_cpu_to_dev+0x15/0x64
      pc : [<800155a0>]    lr : [<8001564d>]    psr: 000f0033
      sp : e5a35ca0  ip : 8063df00  fp : f07e9080
      r10: 00000cd0  r9 : 8063df00  r8 : 805a2f04
      r7 : 0017f804  r6 : 00000002  r5 : ee7f9000  r4 : 00000014
      r3 : 80612d40  r2 : 01ff0080  r1 : 00000380  r0 : ee7f9000
      Flags: nzcv  IRQs on  FIQs on  Mode SVC_32  ISA Thumb  Segment user
      Control: 70c5387d  Table: e58d0e00  DAC: 9b7ede70
      Process insmod (pid: 1119, stack limit = 0xe5a34210)
      Stack: (0xe5a35ca0 to 0xe5a36000)
      [...]
      [<800155a0>] (dma_cache_maint_page) from [<8001564d>] (__dma_page_cpu_to_dev+0x15/0x64)
      [<8001564d>] (__dma_page_cpu_to_dev) from [<800156eb>] (arm_dma_map_page+0x1f/0x44)
      [<800156eb>] (arm_dma_map_page) from [<802935e3>] (ahash_digest+0x35f/0x510)
      [<802935e3>] (ahash_digest) from [<7f800d03>] (test_ahash_speed.constprop.6+0x24a/0x4e4 [tcrypt])
      [<7f800d03>] (test_ahash_speed.constprop.6 [tcrypt]) from [<7f802fd5>] (do_test+0x1898/0x2058 [tcrypt])
      [<7f802fd5>] (do_test [tcrypt]) from [<7f80802f>] (tcrypt_mod_init+0x2e/0x63 [tcrypt])
      [<7f80802f>] (tcrypt_mod_init [tcrypt]) from [<80009517>] (do_one_initcall+0xb3/0x134)
      [<80009517>] (do_one_initcall) from [<80351ec7>] (do_init_module+0x3b/0x13c)
      [<80351ec7>] (do_init_module) from [<8005cc3f>] (load_module+0x97b/0x9dc)
      [<8005cc3f>] (load_module) from [<8005cd8d>] (SyS_finit_module+0x35/0x3e)
      [<8005cd8d>] (SyS_finit_module) from [<8000d101>] (ret_fast_syscall+0x1/0x4c)
      Code: 1aba 0152 eb00 0b02 (5882) 0f92
      
      addr2line -f -i -e vmlinux 800155a0
      page_zonenum
      include/linux/mm.h:728
      page_zone
      include/linux/mm.h:881
      dma_cache_maint_page
      arch/arm/mm/dma-mapping.c:822
      Signed-off-by: NHoria Geant? <horia.geanta@freescale.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      f074f7b1
  16. 17 8月, 2015 1 次提交
  17. 17 7月, 2015 1 次提交
  18. 14 7月, 2015 1 次提交
  19. 08 7月, 2015 1 次提交
  20. 18 6月, 2015 2 次提交
  21. 28 5月, 2015 1 次提交
  22. 23 4月, 2015 3 次提交
  23. 11 3月, 2015 1 次提交
    • H
      crypto: tcrypt - fix uninit sg entries in test_acipher_speed · 007ee8de
      Horia Geant? 提交于
      Commit 5be4d4c9 ("crypto: replace scatterwalk_sg_next with sg_next")
      did not consider the fact that scatterwalk_sg_next() was looking at
      sg entry length, while sg_next() looks at the "chained" sg bit.
      
      This should have no effect in theory. However in practice, there are
      cases where the sg table is initialized to a number of entries and
      some of them are not properly configured. While scatterwalk_sg_next()
      would have returned NULL (since sg length = 0 and sg page_link = 0),
      sg_next() happily returns the next unconfigured sg entry.
      
      insmod tcrypt.ko mode=500 sec=1
      
      testing speed of async cbc(aes) (cbc-aes-talitos) encryption
      test 0 (128 bit key, 16 byte blocks):
      Unable to handle kernel paging request for data at address 0x00000000
      Faulting instruction address: 0xc00d79e4
      Oops: Kernel access of bad area, sig: 11 [#1]
      SMP NR_CPUS=8 P1022 DS
      Modules linked in: tcrypt(+) talitos
      CPU: 0 PID: 2670 Comm: insmod Not tainted 4.0.0-rc1-QorIQ-SDK-V1.6+g904f1ca82209 #1
      task: e8de3200 ti: e70bc000 task.ti: e70bc000
      NIP: c00d79e4 LR: f92d223c CTR: c00d79c8
      REGS: e70bda00 TRAP: 0300   Not tainted  (4.0.0-rc1-QorIQ-SDK-V1.6+g904f1ca82209)
      MSR: 00029000 <CE,EE,ME>  CR: 84428f22  XER: 00000000
      DEAR: 00000000 ESR: 00000000
      GPR00: f92d223c e70bdab0 e8de3200 00000000 e70bdbb8 00000001 00000000 00000000
      GPR08: 00000000 00000000 c08b0380 27282010 c00d79c8 1003a634 00000000 e70bdf1c
      GPR16: e70bdef0 00000020 00000000 c08c0000 00000010 00000000 e70bdbb8 00000010
      GPR24: e976d3a8 00000010 00000000 e70bdbd8 e8961010 00000001 c086e560 00000000
      NIP [c00d79e4] page_address+0x1c/0x110
      LR [f92d223c] talitos_map_sg+0x130/0x184 [talitos]
      Call Trace:
      [e70bdab0] [00000010] 0x10 (unreliable)
      [e70bdad0] [f92d223c] talitos_map_sg+0x130/0x184 [talitos]
      [e70bdb00] [f92d30d8] common_nonsnoop.constprop.13+0xc0/0x304 [talitos]
      [e70bdb30] [f933fd90] test_acipher_speed+0x434/0x7dc [tcrypt]
      [e70bdcc0] [f934318c] do_test+0x2478/0x306c [tcrypt]
      [e70bdd80] [f11fe058] tcrypt_mod_init+0x58/0x100 [tcrypt]
      [e70bdda0] [c0002354] do_one_initcall+0x90/0x1f4
      [e70bde10] [c061fe00] do_init_module+0x60/0x1ac
      [e70bde30] [c00a79f0] load_module+0x185c/0x1f88
      [e70bdee0] [c00a82b0] SyS_finit_module+0x7c/0x98
      [e70bdf40] [c000e8b0] ret_from_syscall+0x0/0x3c
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      007ee8de
  24. 04 2月, 2015 2 次提交
  25. 13 1月, 2015 1 次提交
  26. 05 12月, 2014 1 次提交