1. 20 Mar, 2012 1 commit
  2. 19 May, 2010 1 commit
  3. 09 Feb, 2009 1 commit
  4. 10 Jan, 2008 4 commits
  5. 22 Oct, 2007 1 commit
  6. 16 Oct, 2007 1 commit
  7. 10 Oct, 2007 2 commits
    • Herbert Xu's avatar
      [CRYPTO] api: Kill crypto_km_types · 70dec235
      Herbert Xu authored
      When scatterwalk is built as a module digest.c was broken because it
      requires the crypto_km_types structure which is in scatterwalk.  This
      patch removes the crypto_km_types structure by encoding the logic into
      crypto_kmap_type directly.
      
      In fact, this even saves a few bytes of code (not to mention the data
      structure itself) on i386 which is about the only place where it's
      needed.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      70dec235
    • Herbert Xu's avatar
      [CRYPTO] scatterwalk: Add scatterwalk_map_and_copy · 5fa0fea2
      Herbert Xu authored
      This patch adds the function scatterwalk_map_and_copy which reads or
      writes a chunk of data from a scatterlist at a given offset.  It will
      be used by authenc which would read/write the authentication data at
      the end of the cipher/plain text.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      5fa0fea2
  8. 31 Mar, 2007 3 commits
  9. 20 Mar, 2007 1 commit
    • J. Bruce Fields's avatar
      [CRYPTO] api: scatterwalk_copychunks() fails to advance through scatterlist · f70ee5ec
      J. Bruce Fields authored
      In the loop in scatterwalk_copychunks(), if walk->offset is zero,
      then scatterwalk_pagedone rounds that up to the nearest page boundary:
      
      		walk->offset += PAGE_SIZE - 1;
      		walk->offset &= PAGE_MASK;
      
      which is a no-op in this case, so we don't advance to the next element
      of the scatterlist array:
      
      		if (walk->offset >= walk->sg->offset + walk->sg->length)
      			scatterwalk_start(walk, sg_next(walk->sg));
      
      and we end up copying the same data twice.
      
      It appears that other callers of scatterwalk_{page}done first advance
      walk->offset, so I believe that's the correct thing to do here.
      
      This caused a bug in NFS when run with krb5p security, which would
      cause some writes to fail with permissions errors--for example, writes
      of less than 8 bytes (the des blocksize) at the start of a file.
      
      A git-bisect shows the bug was originally introduced by
      5c64097a, first in 2.6.19-rc1.
      Signed-off-by: default avatar"J. Bruce Fields" <bfields@citi.umich.edu>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      f70ee5ec
  10. 21 Sep, 2006 1 commit
    • Herbert Xu's avatar
      [CRYPTO] scatterwalk: Prepare for block ciphers · 5c64097a
      Herbert Xu authored
      This patch prepares the scatterwalk code for use by the new block cipher
      type.
      
      Firstly it halves the size of scatter_walk on 32-bit platforms.  This
      is important as we allocate at least two of these objects on the stack
      for each block cipher operation.
      
      It also exports the symbols since the block cipher code can be built as
      a module.
      
      Finally there is a hack in scatterwalk_unmap that relies on progress
      being made.  Unfortunately, for hardware crypto we can't guarantee
      progress to be made since the hardware can fail.
      
      So this also gets rid of the hack by not advancing the address returned
      by scatterwalk_map.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      5c64097a
  11. 08 Feb, 2006 1 commit
  12. 06 Jul, 2005 1 commit
    • Herbert Xu's avatar
      [CRYPTO] Add plumbing for multi-block operations · c774e93e
      Herbert Xu authored
      The VIA Padlock device is able to perform much better when multiple
      blocks are fed to it at once.  As this device offers an exceptional
      throughput rate it is worthwhile to optimise the infrastructure
      specifically for it.
      
      We shift the existing page-sized fast path down to the CBC/ECB functions.
      We can then replace the CBC/ECB functions with functions provided by the
      underlying algorithm that performs the multi-block operations.
      
      As a side-effect this improves the performance of large cipher operations
      for all existing algorithm implementations.  I've measured the gain to be
      around 5% for 3DES and 15% for AES.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c774e93e
  13. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      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