1. 14 7月, 2009 2 次提交
    • H
      crypto: padlock - Switch sha to shash · bbbee467
      Herbert Xu 提交于
      This patch converts the padlock-sha implementation to shash.
      In doing so the existing mechanism of storing the data until
      final is no longer viable as we do not have a way of allocating
      data in crypto_shash_init and then reliably freeing it.
      
      This is just as well because a better way of handling the problem
      is to hash everything but the last chunk using normal sha code
      and then provide the intermediate result to the padlock device.
      
      This is good enough because the primary application of padlock-sha
      is IPsec and there the data is laid out in the form of an hmac
      header followed by the rest of the packet.  In essence we can
      provide all the data to the padlock as the hmac header only needs
      to be hashed once.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      bbbee467
    • H
      crypto: shash - Make descsize a run-time attribute · 113adefc
      Herbert Xu 提交于
      This patch changes descsize to a run-time attribute so that
      implementations can change it in their init functions.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      113adefc
  2. 12 7月, 2009 2 次提交
  3. 11 7月, 2009 8 次提交
  4. 09 7月, 2009 2 次提交
  5. 08 7月, 2009 10 次提交
  6. 07 7月, 2009 2 次提交
  7. 03 7月, 2009 2 次提交
    • S
      crypto: ansi_prng - alloc cipher just in init · fd09d7fa
      Sebastian Andrzej Siewior 提交于
      As reported by Eric Sesterhenn the re-allocation of the cipher in reset leads
      to:
      |BUG: sleeping function called from invalid context at kernel/rwsem.c:21
      |in_atomic(): 1, irqs_disabled(): 0, pid: 4926, name: modprobe
      |INFO: lockdep is turned off.
      |Pid: 4926, comm: modprobe Tainted: G   M 2.6.31-rc1-22297-g52989765 #24
      |Call Trace:
      | [<c011dd93>] __might_sleep+0xf9/0x101
      | [<c0777aa0>] down_read+0x16/0x68
      | [<c048bf04>] crypto_alg_lookup+0x16/0x34
      | [<c048bf52>] crypto_larval_lookup+0x30/0xf9
      | [<c048c038>] crypto_alg_mod_lookup+0x1d/0x62
      | [<c048c13e>] crypto_alloc_base+0x1e/0x64
      | [<c04bf991>] reset_prng_context+0xab/0x13f
      | [<c04e5cfc>] ? __spin_lock_init+0x27/0x51
      | [<c04bfce1>] cprng_init+0x2a/0x42
      | [<c048bb4c>] __crypto_alloc_tfm+0xfa/0x128
      | [<c048c153>] crypto_alloc_base+0x33/0x64
      | [<c04933c9>] alg_test_cprng+0x30/0x1f4
      | [<c0493329>] alg_test+0x12f/0x19f
      | [<c0177f1f>] ? __alloc_pages_nodemask+0x14d/0x481
      | [<d09219e2>] do_test+0xf9d/0x163f [tcrypt]
      | [<d0920de6>] do_test+0x3a1/0x163f [tcrypt]
      | [<d0926035>] tcrypt_mod_init+0x35/0x7c [tcrypt]
      | [<c010113c>] _stext+0x54/0x12c
      | [<d0926000>] ? tcrypt_mod_init+0x0/0x7c [tcrypt]
      | [<c01398a3>] ? up_read+0x16/0x2b
      | [<c0139fc4>] ? __blocking_notifier_call_chain+0x40/0x4c
      | [<c014ee8d>] sys_init_module+0xa9/0x1bf
      | [<c010292b>] sysenter_do_call+0x12/0x32
      
      because a spin lock is held and crypto_alloc_base() may sleep.
      There is no reason to re-allocate the cipher, the state is resetted in
      ->setkey(). This patches makes the cipher allocation a one time thing and
      moves it to init.
      Reported-by: NEric Sesterhenn <eric.sesterhenn@lsexperts.de>
      Signed-off-by: NSebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      fd09d7fa
    • S
      crypto: ansi_prng - Use just a BH lock · ed940700
      Sebastian Andrzej Siewior 提交于
      The current code uses a mix of sping_lock() & spin_lock_irqsave(). This can
      lead to deadlock with the correct timming & cprng_get_random() + cprng_reset()
      sequence.
      I've converted them to bottom half locks since all three user grab just a BH
      lock so this runs probably in softirq :)
      Signed-off-by: NSebastian Andrzej Siewior <sebastian@breakpoint.cc>
      Acked-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      ed940700
  8. 02 7月, 2009 1 次提交
  9. 25 6月, 2009 3 次提交
  10. 24 6月, 2009 2 次提交
  11. 21 6月, 2009 1 次提交
  12. 19 6月, 2009 3 次提交
  13. 18 6月, 2009 2 次提交