Skip to content
  1. Nov 07, 2023
    • Dmitry Safonov's avatar
      crypto: ahash - Set using_shash for cloned ahash wrapper over shash · 9aedd10f
      Dmitry Safonov authored
      
      
      The cloned child of ahash that uses shash under the hood should use
      shash helpers (like crypto_shash_setkey()).
      
      The following panic may be observed on TCP-AO selftests:
      
      > ==================================================================
      > BUG: KASAN: wild-memory-access in crypto_mod_get+0x1b/0x60
      > Write of size 4 at addr 5d5be0ff5c415e14 by task connect_ipv4/1397
      >
      > CPU: 0 PID: 1397 Comm: connect_ipv4 Tainted: G        W          6.6.0+ #47
      > Call Trace:
      >  <TASK>
      >  dump_stack_lvl+0x46/0x70
      >  kasan_report+0xc3/0xf0
      >  kasan_check_range+0xec/0x190
      >  crypto_mod_get+0x1b/0x60
      >  crypto_spawn_alg+0x53/0x140
      >  crypto_spawn_tfm2+0x13/0x60
      >  hmac_init_tfm+0x25/0x60
      >  crypto_ahash_setkey+0x8b/0x100
      >  tcp_ao_add_cmd+0xe7a/0x1120
      >  do_tcp_setsockopt+0x5ed/0x12a0
      >  do_sock_setsockopt+0x82/0x100
      >  __sys_setsockopt+0xe9/0x160
      >  __x64_sys_setsockopt+0x60/0x70
      >  do_syscall_64+0x3c/0xe0
      >  entry_SYSCALL_64_after_hwframe+0x46/0x4e
      > ==================================================================
      > general protection fault, probably for non-canonical address 0x5d5be0ff5c415e14: 0000 [#1] PREEMPT SMP KASAN
      > CPU: 0 PID: 1397 Comm: connect_ipv4 Tainted: G    B   W          6.6.0+ #47
      > Call Trace:
      >  <TASK>
      >  ? die_addr+0x3c/0xa0
      >  ? exc_general_protection+0x144/0x210
      >  ? asm_exc_general_protection+0x22/0x30
      >  ? add_taint+0x26/0x90
      >  ? crypto_mod_get+0x20/0x60
      >  ? crypto_mod_get+0x1b/0x60
      >  ? ahash_def_finup_done1+0x58/0x80
      >  crypto_spawn_alg+0x53/0x140
      >  crypto_spawn_tfm2+0x13/0x60
      >  hmac_init_tfm+0x25/0x60
      >  crypto_ahash_setkey+0x8b/0x100
      >  tcp_ao_add_cmd+0xe7a/0x1120
      >  do_tcp_setsockopt+0x5ed/0x12a0
      >  do_sock_setsockopt+0x82/0x100
      >  __sys_setsockopt+0xe9/0x160
      >  __x64_sys_setsockopt+0x60/0x70
      >  do_syscall_64+0x3c/0xe0
      >  entry_SYSCALL_64_after_hwframe+0x46/0x4e
      >  </TASK>
      > RIP: 0010:crypto_mod_get+0x20/0x60
      
      Make sure that the child/clone has using_shash set when parent is
      an shash user.
      
      Fixes: 2f1f34c1 ("crypto: ahash - optimize performance when wrapping shash")
      Cc: David Ahern <dsahern@kernel.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Dmitry Safonov <0x7f454c46@gmail.com>
      Cc: Eric Biggers <ebiggers@google.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Francesco Ruggeri <fruggeri05@gmail.com>
      To: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Paolo Abeni <pabeni@redhat.com>
      Cc: Salam Noureddine <noureddine@arista.com>
      Cc: netdev@vger.kernel.org
      Cc: linux-crypto@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarDmitry Safonov <dima@arista.com>
      Reviewed-by: default avatarEric Biggers <ebiggers@google.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      9aedd10f
    • Herbert Xu's avatar
      crypto: jitterentropy - Hide esoteric Kconfig options under FIPS and EXPERT · e7ed6473
      Herbert Xu authored
      
      
      As JITTERENTROPY is selected by default if you enable the CRYPTO
      API, any Kconfig options added there will show up for every single
      user.  Hide the esoteric options under EXPERT as well as FIPS so
      that only distro makers will see them.
      
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Reviewed-by: default avatarStephan Mueller <smueller@chronox.de>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      e7ed6473
  2. Nov 01, 2023
  3. Oct 27, 2023