1. 22 Jan, 2019 1 commit
    • Aymen Sghaier's avatar
      crypto: caam - fix zero-length buffer DMA mapping · 9f79bd5b
      Aymen Sghaier authored
      commit 04e6d25c upstream.
      
      Recent changes - probably DMA API related (generic and/or arm64-specific) -
      exposed a case where driver maps a zero-length buffer:
      ahash_init()->ahash_update()->ahash_final() with a zero-length string to
      hash
      
      kernel BUG at kernel/dma/swiotlb.c:475!
      Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
      Modules linked in:
      CPU: 2 PID: 1823 Comm: cryptomgr_test Not tainted 4.20.0-rc1-00108-g00c9fe37 #1
      Hardware name: LS1046A RDB Board (DT)
      pstate: 80000005 (Nzcv daif -PAN -UAO)
      pc : swiotlb_tbl_map_single+0x170/0x2b8
      lr : swiotlb_map_page+0x134/0x1f8
      sp : ffff00000f79b8f0
      x29: ffff00000f79b8f0 x28: 0000000000000000
      x27: ffff0000093d0000 x26: 0000000000000000
      x25: 00000000001f3ffe x24: 0000000000200000
      x23: 0000000000000000 x22: 00000009f2c538c0
      x21: ffff800970aeb410 x20: 0000000000000001
      x19: ffff800970aeb410 x18: 0000000000000007
      x17: 000000000000000e x16: 0000000000000001
      x15: 0000000000000019 x14: c32cb8218a167fe8
      x13: ffffffff00000000 x12: ffff80097fdae348
      x11: 0000800976bca000 x10: 0000000000000010
      x9 : 0000000000000000 x8 : ffff0000091fd6c8
      x7 : 0000000000000000 x6 : 00000009f2c538bf
      x5 : 0000000000000000 x4 : 0000000000000001
      x3 : 0000000000000000 x2 : 00000009f2c538c0
      x1 : 00000000f9fff000 x0 : 0000000000000000
      Process cryptomgr_test (pid: 1823, stack limit = 0x(____ptrval____))
      Call trace:
       swiotlb_tbl_map_single+0x170/0x2b8
       swiotlb_map_page+0x134/0x1f8
       ahash_final_no_ctx+0xc4/0x6cc
       ahash_final+0x10/0x18
       crypto_ahash_op+0x30/0x84
       crypto_ahash_final+0x14/0x1c
       __test_hash+0x574/0xe0c
       test_hash+0x28/0x80
       __alg_test_hash+0x84/0xd0
       alg_test_hash+0x78/0x144
       alg_test.part.30+0x12c/0x2b4
       alg_test+0x3c/0x68
       cryptomgr_test+0x44/0x4c
       kthread+0xfc/0x128
       ret_from_fork+0x10/0x18
      Code: d34bfc18 2a1a03f7 1a9f8694 35fff89a (d4210000)
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAymen Sghaier <aymen.sghaier@nxp.com>
      Signed-off-by: default avatarHoria Geantă <horia.geanta@nxp.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9f79bd5b
  2. 17 Oct, 2018 2 commits
  3. 08 Oct, 2018 1 commit
    • Arnd Bergmann's avatar
      crypto: caam/qi2 - avoid double export · 52813ab2
      Arnd Bergmann authored
      Both the caam ctrl file and dpaa2_caam export a couple of flags. They
      use an #ifdef check to make sure that each flag is only built once,
      but this fails if they are both loadable modules:
      
      WARNING: drivers/crypto/caam/dpaa2_caam: 'caam_little_end' exported twice. Previous export was in drivers/crypto/caam/caam.ko
      WARNING: drivers/crypto/caam/dpaa2_caam: 'caam_imx' exported twice. Previous export was in drivers/crypto/caam/caam.ko
      
      Change the #ifdef to an IS_ENABLED() check in order to make it work in
      all configurations. It may be better to redesign this aspect of the
      two drivers in a cleaner way.
      
      Fixes: 8d818c10 ("crypto: caam/qi2 - add DPAA2-CAAM driver")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarHoria Geantă <horia.geanta@nxp.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      52813ab2
  4. 05 Oct, 2018 1 commit
    • Arnd Bergmann's avatar
      crypto: caam/qi2 - add CONFIG_NETDEVICES dependency · 96808c59
      Arnd Bergmann authored
      This driver implements a (part of a) network driver, and fails to
      build if we have turned off networking support:
      
      drivers/crypto/caam/caamalg_qi2.o: In function `dpaa2_caam_fqdan_cb':
      caamalg_qi2.c:(.text+0x577c): undefined reference to `napi_schedule_prep'
      caamalg_qi2.c:(.text+0x578c): undefined reference to `__napi_schedule_irqoff'
      drivers/crypto/caam/caamalg_qi2.o: In function `dpaa2_dpseci_poll':
      caamalg_qi2.c:(.text+0x59b8): undefined reference to `napi_complete_done'
      drivers/crypto/caam/caamalg_qi2.o: In function `dpaa2_caam_remove':
      caamalg_qi2.c:(.text.unlikely+0x4e0): undefined reference to `napi_disable'
      caamalg_qi2.c:(.text.unlikely+0x4e8): undefined reference to `netif_napi_del'
      drivers/crypto/caam/caamalg_qi2.o: In function `dpaa2_dpseci_setup':
      caamalg_qi2.c:(.text.unlikely+0xc98): undefined reference to `netif_napi_add'
      
      From what I can tell, CONFIG_NETDEVICES is the correct dependency here,
      and adding it fixes the randconfig failures.
      
      Fixes: 8d818c10 ("crypto: caam/qi2 - add DPAA2-CAAM driver")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarHoria Geantă <horia.geanta@nxp.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      96808c59
  5. 21 Sep, 2018 8 commits
  6. 04 Sep, 2018 4 commits
  7. 25 Aug, 2018 3 commits
  8. 24 Jul, 2018 1 commit
  9. 08 Jul, 2018 2 commits
  10. 30 May, 2018 3 commits
  11. 05 May, 2018 1 commit
  12. 20 Apr, 2018 7 commits
  13. 30 Mar, 2018 2 commits
  14. 02 Mar, 2018 2 commits
  15. 15 Feb, 2018 2 commits