1. 02 5月, 2007 2 次提交
    • H
      [CRYPTO] templates: Pass type/mask when creating instances · ebc610e5
      Herbert Xu 提交于
      This patch passes the type/mask along when constructing instances of
      templates.  This is in preparation for templates that may support
      multiple types of instances depending on what is requested.  For example,
      the planned software async crypto driver will use this construct.
      
      For the moment this allows us to check whether the instance constructed
      is of the correct type and avoid returning success if the type does not
      match.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      ebc610e5
    • H
      [CRYPTO] api: Add async block cipher interface · 32e3983f
      Herbert Xu 提交于
      This patch adds the frontend interface for asynchronous block ciphers.
      In addition to the usual block cipher parameters, there is a callback
      function pointer and a data pointer.  The callback will be invoked only
      if the encrypt/decrypt handlers return -EINPROGRESS.  In other words,
      if the return value of zero the completion handler (or the equivalent
      code) needs to be invoked by the caller.
      
      The request structure is allocated and freed by the caller.  Its size
      is determined by calling crypto_ablkcipher_reqsize().  The helpers
      ablkcipher_request_alloc/ablkcipher_request_free can be used to manage
      the memory for a request.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      32e3983f
  2. 07 2月, 2007 2 次提交
  3. 07 12月, 2006 1 次提交
  4. 20 11月, 2006 1 次提交
  5. 21 9月, 2006 20 次提交
  6. 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
  7. 26 4月, 2006 1 次提交
  8. 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
  9. 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
  10. 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
  11. 07 7月, 2005 3 次提交
  12. 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