12 Sep, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (102 commits)
    crypto: sha-s390 - Fix warnings in import function
    crypto: vmac - New hash algorithm for intel_txt support
    crypto: api - Do not displace newly registered algorithms
    crypto: ansi_cprng - Fix module initialization
    crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx
    crypto: fips - Depend on ansi_cprng
    crypto: blkcipher - Do not use eseqiv on stream ciphers
    crypto: ctr - Use chainiv on raw counter mode
    Revert crypto: fips - Select CPRNG
    crypto: rng - Fix typo
    crypto: talitos - add support for 36 bit addressing
    crypto: talitos - align locks on cache lines
    crypto: talitos - simplify hmac data size calculation
    crypto: mv_cesa - Add support for Orion5X crypto engine
    crypto: cryptd - Add support to access underlaying shash
    crypto: gcm - Use GHASH digest algorithm
    crypto: ghash - Add GHASH digest algorithm for GCM
    crypto: authenc - Convert to ahash
    crypto: api - Fix aligned ctx helper
    crypto: hmac - Prehash ipad/opad
    ...

    Linus Torvalds
     

06 Sep, 2009

1 commit


02 Sep, 2009

1 commit


31 Aug, 2009

1 commit

  • We have a mechanism where newly registered algorithms of a higher
    priority can displace existing instances that use a different
    implementation of the same algorithm with a lower priority.

    Unfortunately the same mechanism can cause a newly registered
    algorithm to displace itself if it depends on an existing version
    of the same algorithm.

    This patch fixes this by keeping all algorithms that the newly
    reigstered algorithm depends on, thus protecting them from being
    removed.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

29 Aug, 2009

2 commits

  • As struct skcipher_givcrypt_request includes struct crypto_request
    at a non-zero offset, testing for NULL after converting the pointer
    returned by crypto_dequeue_request does not work. This can result
    in IPsec crashes when the queue is depleted.

    This patch fixes it by doing the pointer conversion only when the
    return value is non-NULL. In particular, we create a new function
    __crypto_dequeue_request that does the pointer conversion.

    Reported-by: Brad Bosch
    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Return the value we got from crypto_register_alg() instead of
    returning 0 in any case.

    Signed-off-by: Steffen Klassert
    Acked-by: Neil Horman
    Signed-off-by: Herbert Xu

    Steffen Klassert
     

20 Aug, 2009

2 commits

  • The alignment calculation of xcbc_tfm_ctx uses alg->cra_alignmask
    and not alg->cra_alignmask + 1 as it should. This led to frequent
    crashes during the selftest of xcbc(aes-asm) on x86_64
    machines. This patch fixes this. Also we use the alignmask
    of xcbc and not the alignmask of the underlying algorithm
    for the alignmnent calculation in xcbc_create now.

    Signed-off-by: Steffen Klassert
    Signed-off-by: Herbert Xu

    Steffen Klassert
     
  • What about something like this? It defaults the CPRNG to m and makes FIPS
    dependent on the CPRNG. That way you get a module build by default, but you can
    change it to y manually during config and still satisfy the dependency, and if
    you select N it disables FIPS as well. I rather like that better than making
    FIPS a tristate. I just tested it out here and it seems to work well. Let me
    know what you think

    Signed-off-by: Neil Horman
    Signed-off-by: Herbert Xu

    Neil Horman
     

14 Aug, 2009

1 commit

  • Recently we switched to using eseqiv on SMP machines in preference
    over chainiv. However, eseqiv does not support stream ciphers so
    they should still default to chainiv.

    This patch applies the same check as done by eseqiv to weed out
    the stream ciphers. In particular, all algorithms where the IV
    size is not equal to the block size will now default to chainiv.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

13 Aug, 2009

3 commits

  • Raw counter mode only works with chainiv, which is no longer
    the default IV generator on SMP machines. This broke raw counter
    mode as it can no longer instantiate as a givcipher.

    This patch fixes it by always picking chainiv on raw counter
    mode. This is based on the diagnosis and a patch by Huang
    Ying.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • This reverts commit 215ccd6f55a2144bd553e0a3d12e1386f02309fd.

    It causes CPRNG and everything selected by it to be built-in
    whenever FIPS is enabled. The problem is that it is selecting
    a tristate from a bool, which is usually not what is intended.

    Signed-off-by: Herbert Xu

    Herbert Xu
     
  • Correct a typo in crypto/rng.c

    Signed-off-by: Christian Kujau
    Acked-by: Neil Horman
    Signed-off-by: Herbert Xu

    Christian Kujau
     

06 Aug, 2009

3 commits

  • cryptd_alloc_ahash() will allocate a cryptd-ed ahash for specified
    algorithm name. The new allocated one is guaranteed to be cryptd-ed
    ahash, so the shash underlying can be gotten via cryptd_ahash_child().

    Signed-off-by: Huang Ying
    Signed-off-by: Herbert Xu

    Huang Ying
     
  • Remove the dedicated GHASH implementation in GCM, and uses the GHASH
    digest algorithm instead. This will make GCM uses hardware accelerated
    GHASH implementation automatically if available.

    ahash instead of shash interface is used, because some hardware
    accelerated GHASH implementation needs asynchronous interface.

    Signed-off-by: Huang Ying
    Signed-off-by: Herbert Xu

    Huang Ying
     
  • GHASH is implemented as a shash algorithm. The actual implementation
    is copied from gcm.c. This makes it possible to add
    architecture/hardware accelerated GHASH implementation.

    Signed-off-by: Huang Ying
    Signed-off-by: Herbert Xu

    Huang Ying
     

05 Aug, 2009

1 commit


31 Jul, 2009

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
    dmaengine: at_hdmac: add DMA slave transfers
    dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller
    dmaengine: dmatest: correct thread_count while using multiple thread per channel
    dmaengine: dmatest: add a maximum number of test iterations
    drivers/dma: Remove unnecessary semicolons
    drivers/dma/fsldma.c: Remove unnecessary semicolons
    dmaengine: move HIGHMEM64G restriction to ASYNC_TX_DMA
    fsldma: do not clear bandwidth control bits on the 83xx controller
    fsldma: enable external start for the 83xx controller
    fsldma: use PCI Read Multiple command

    Linus Torvalds
     

24 Jul, 2009

4 commits


22 Jul, 2009

6 commits


15 Jul, 2009

6 commits


14 Jul, 2009

7 commits