1. 21 9月, 2006 2 次提交
  2. 26 6月, 2006 3 次提交
    • H
      [CRYPTO] api: Removed const from cra_name/cra_driver_name · d913ea0d
      Herbert Xu 提交于
      We do need to change these names now and even more so in future with
      instantiated algorithms.  So let's stop lying to the compiler and get
      rid of the const modifiers.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      d913ea0d
    • H
      [CRYPTO] api: Added cra_init/cra_exit · c7fc0599
      Herbert Xu 提交于
      This patch adds the hooks cra_init/cra_exit which are called during a tfm's
      construction and destruction respectively.  This will be used by the instances
      to allocate child tfm's.
      
      For now this lets us get rid of the coa_init/coa_exit functions which are
      used for exactly that purpose (unlike the dia_init function which is called
      for each transaction).
      
      In fact the coa_exit path is currently buggy as it may get called twice
      when an error is encountered during initialisation.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      c7fc0599
    • H
      [CRYPTO] all: Pass tfm instead of ctx to algorithms · 6c2bb98b
      Herbert Xu 提交于
      Up until now algorithms have been happy to get a context pointer since
      they know everything that's in the tfm already (e.g., alignment, block
      size).
      
      However, once we have parameterised algorithms, such information will
      be specific to each tfm.  So the algorithm API needs to be changed to
      pass the tfm structure instead of the context pointer.
      
      This patch is basically a text substitution.  The only tricky bit is
      the assembly routines that need to get the context pointer offset
      through asm-offsets.h.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      6c2bb98b
  3. 26 4月, 2006 1 次提交
  4. 21 3月, 2006 1 次提交
    • H
      [CRYPTO] api: Align tfm context as wide as possible · f10b7897
      Herbert Xu 提交于
      Since tfm contexts can contain arbitrary types we should provide at least
      natural alignment (__attribute__ ((__aligned__))) for them.  In particular,
      this is needed on the Xscale which is a 32-bit architecture with a u64 type
      that requires 64-bit alignment.  This problem was reported by Ronen Shitrit.
      
      The crypto_tfm structure's size was 44 bytes on 32-bit architectures and
      80 bytes on 64-bit architectures.  So adding this requirement only means
      that we have to add an extra 4 bytes on 32-bit architectures.
      
      On i386 the natural alignment is 16 bytes which also benefits the VIA
      Padlock as it no longer has to manually align its context structure to
      128 bits.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      f10b7897
  5. 10 1月, 2006 1 次提交
    • H
      [CRYPTO] Allow multiple implementations of the same algorithm · 5cb1454b
      Herbert Xu 提交于
      This is the first step on the road towards asynchronous support in
      the Crypto API.  It adds support for having multiple crypto_alg objects
      for the same algorithm registered in the system.
      
      For example, each device driver would register a crypto_alg object
      for each algorithm that it supports.  While at the same time the
      user may load software implementations of those same algorithms.
      
      Users of the Crypto API may then select a specific implementation
      by name, or choose any implementation for a given algorithm with
      the highest priority.
      
      The priority field is a 32-bit signed integer.  In future it will be
      possible to modify it from user-space.
      
      This also provides a solution to the problem of selecting amongst
      various AES implementations, that is, aes vs. aes-i586 vs. aes-padlock.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      5cb1454b
  6. 02 9月, 2005 1 次提交
    • H
      [CRYPTO]: Added CRYPTO_TFM_REQ_MAY_SLEEP flag · 64baf3cf
      Herbert Xu 提交于
      The crypto layer currently uses in_atomic() to determine whether it is
      allowed to sleep.  This is incorrect since spin locks don't always cause
      in_atomic() to return true.
      
      Instead of that, this patch returns to an earlier idea of a per-tfm flag
      which determines whether sleeping is allowed.  Unlike the earlier version,
      the default is to not allow sleeping.  This ensures that no existing code
      can break.
      
      As usual, this flag may either be set through crypto_alloc_tfm(), or
      just before a specific crypto operation.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      64baf3cf
  7. 07 7月, 2005 3 次提交
  8. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4