1. 21 Oct, 2011 20 commits
  2. 20 Oct, 2011 1 commit
  3. 22 Sep, 2011 5 commits
  4. 20 Aug, 2011 1 commit
  5. 16 Aug, 2011 1 commit
    • Herbert Xu's avatar
      crypto: sha - Fix build error due to crypto_sha1_update · 4619b6bd
      Herbert Xu authored
      On Tue, Aug 16, 2011 at 03:22:34PM +1000, Stephen Rothwell wrote:
      >
      > After merging the final tree, today's linux-next build (powerpc
      > allyesconfig) produced this warning:
      >
      > In file included from security/integrity/ima/../integrity.h:16:0,
      >                  from security/integrity/ima/ima.h:27,
      >                  from security/integrity/ima/ima_policy.c:20:
      > include/crypto/sha.h:86:10: warning: 'struct shash_desc' declared inside parameter list
      > include/crypto/sha.h:86:10: warning: its scope is only this definition or declaration, which is probably not what you want
      >
      > Introduced by commit 7c390170 ("crypto: sha1 - export sha1_update for
      > reuse").  I guess you need to include crypto/hash.h in crypto/sha.h.
      
      This patch fixes this by providing a declaration for struct shash_desc.
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      4619b6bd
  6. 15 Aug, 2011 1 commit
  7. 10 Aug, 2011 6 commits
    • Mathias Krause's avatar
      crypto: sha1 - SSSE3 based SHA1 implementation for x86-64 · 66be8951
      Mathias Krause authored
      This is an assembler implementation of the SHA1 algorithm using the
      Supplemental SSE3 (SSSE3) instructions or, when available, the
      Advanced Vector Extensions (AVX).
      
      Testing with the tcrypt module shows the raw hash performance is up to
      2.3 times faster than the C implementation, using 8k data blocks on a
      Core 2 Duo T5500. For the smalest data set (16 byte) it is still 25%
      faster.
      
      Since this implementation uses SSE/YMM registers it cannot safely be
      used in every situation, e.g. while an IRQ interrupts a kernel thread.
      The implementation falls back to the generic SHA1 variant, if using
      the SSE/YMM registers is not possible.
      
      With this algorithm I was able to increase the throughput of a single
      IPsec link from 344 Mbit/s to 464 Mbit/s on a Core 2 Quad CPU using
      the SSSE3 variant -- a speedup of +34.8%.
      
      Saving and restoring SSE/YMM state might make the actual throughput
      fluctuate when there are FPU intensive userland applications running.
      For example, meassuring the performance using iperf2 directly on the
      machine under test gives wobbling numbers because iperf2 uses the FPU
      for each packet to check if the reporting interval has expired (in the
      above test I got min/max/avg: 402/484/464 MBit/s).
      
      Using this algorithm on a IPsec gateway gives much more reasonable and
      stable numbers, albeit not as high as in the directly connected case.
      Here is the result from an RFC 2544 test run with a EXFO Packet Blazer
      FTB-8510:
      
       frame size    sha1-generic     sha1-ssse3    delta
          64 byte     37.5 MBit/s    37.5 MBit/s     0.0%
         128 byte     56.3 MBit/s    62.5 MBit/s   +11.0%
         256 byte     87.5 MBit/s   100.0 MBit/s   +14.3%
         512 byte    131.3 MBit/s   150.0 MBit/s   +14.2%
        1024 byte    162.5 MBit/s   193.8 MBit/s   +19.3%
        1280 byte    175.0 MBit/s   212.5 MBit/s   +21.4%
        1420 byte    175.0 MBit/s   218.7 MBit/s   +25.0%
        1518 byte    150.0 MBit/s   181.2 MBit/s   +20.8%
      
      The throughput for the largest frame size is lower than for the
      previous size because the IP packets need to be fragmented in this
      case to make there way through the IPsec tunnel.
      Signed-off-by: default avatarMathias Krause <minipli@googlemail.com>
      Cc: Maxim Locktyukhin <maxim.locktyukhin@intel.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      66be8951
    • Mathias Krause's avatar
      crypto: sha1 - export sha1_update for reuse · 7c390170
      Mathias Krause authored
      Export the update function as crypto_sha1_update() to not have the need
      to reimplement the same algorithm for each SHA-1 implementation. This
      way the generic SHA-1 implementation can be used as fallback for other
      implementations that fail to run under certain circumstances, like the
      need for an FPU context while executing in IRQ context.
      Signed-off-by: default avatarMathias Krause <minipli@googlemail.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      7c390170
    • Jamie Iles's avatar
      crypto: picoxcell - fix possible invalid pointer dereference · b64dc04b
      Jamie Iles authored
      The completion callback will free the request so we must remove it from
      the completion list before calling the callback.
      
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarJamie Iles <jamie@jamieiles.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      b64dc04b
    • Jamie Iles's avatar
      crypto: picoxcell - support for device tree matching · 30343ef1
      Jamie Iles authored
      Allow the crypto engines to be matched from device tree bindings.
      
      Cc: devicetree-discuss@lists.ozlabs.org
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarJamie Iles <jamie@jamieiles.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      30343ef1
    • Jamie Iles's avatar
      crypto: picoxcell - add connection ID to the clock name · 4efae8c9
      Jamie Iles authored
      For using the device tree probing we use a connection ID for the
      clk_get() operation.
      
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarJamie Iles <jamie@jamieiles.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      4efae8c9
    • Jamie Iles's avatar
      crypto: picoxcell - convert to platform ID table · c3f4200f
      Jamie Iles authored
      Use a platform ID table and a single platform_driver.  It's neater and
      makes the device tree addition easier and more consistent.  Rename the
      match values to be inline with what they'll be in the device tree
      bindings.  There aren't any current in-tree users of the existing device
      names.
      
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarJamie Iles <jamie@jamieiles.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      c3f4200f
  8. 03 Aug, 2011 1 commit
    • Jonathan Nieder's avatar
      crypto: padlock-aes - Make module loading even quieter when hardware is missing · c39cc377
      Jonathan Nieder authored
      When loading aes via the module alias, a padlock module failing to
      load due to missing hardware is not particularly notable.  With
      v2.6.27-rc1~1107^2~14 (crypto: padlock - Make module loading quieter
      when hardware isn't available, 2008-07-03), the padlock-aes module
      suppresses the relevant messages when the "quiet" flag is in use; but
      better to suppress this particular message completely, since the
      administrator can already distinguish such errors by the absence of a
      message indicating initialization failing or succeeding.
      
      This avoids occasional messages in syslog of the form
      
      	padlock_aes: VIA PadLock not detected.
      Signed-off-by: default avatarJonathan Nieder <jrnieder@gmail.com>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      c39cc377
  9. 02 Aug, 2011 2 commits
    • Oleg Nesterov's avatar
      oom: task->mm == NULL doesn't mean the memory was freed · c027a474
      Oleg Nesterov authored
      exit_mm() sets ->mm == NULL then it does mmput()->exit_mmap() which
      frees the memory.
      
      However select_bad_process() checks ->mm != NULL before TIF_MEMDIE,
      so it continues to kill other tasks even if we have the oom-killed
      task freeing its memory.
      
      Change select_bad_process() to check ->mm after TIF_MEMDIE, but skip
      the tasks which have already passed exit_notify() to ensure a zombie
      with TIF_MEMDIE set can't block oom-killer. Alternatively we could
      probably clear TIF_MEMDIE after exit_mmap().
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Reviewed-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c027a474
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 · cfe22345
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (23 commits)
        regulator: Improve WM831x DVS VSEL selection algorithm
        regulator: Bootstrap wm831x DVS VSEL value from ON VSEL if not already set
        regulator: Set up GPIO for WM831x VSEL before enabling VSEL mode
        regulator: Add EPEs to the MODULE_ALIAS() for wm831x-dcdc
        regulator: Fix WM831x DCDC DVS VSEL bootstrapping
        regulator: Fix WM831x regulator ID lookups for multiple WM831xs
        regulator: Fix argument format type errors in error prints
        regulator: Fix memory leak in set_machine_constraints() error paths
        regulator: Make core more chatty about some errors
        regulator: tps65910: Fix array access out of bounds bug
        regulator: tps65910: Add missing breaks in switch/case
        regulator: tps65910: Fix a memory leak in tps65910_probe error path
        regulator: TWL: Remove entry of RES_ID for 6030 macros
        ASoC: tlv320aic3x: Add correct hw registers to Line1 cross connect muxes
        regulator: Add basic per consumer debugfs
        regulator: Add rdev_crit() macro
        regulator: Refactor supply implementation to work as regular consumers
        regulator: Include the device name in the microamps_requested_ file
        regulator: Increase the limit on sysfs file names
        regulator: Properly register dummy regulator driver
        ...
      cfe22345
  10. 01 Aug, 2011 2 commits
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 60ad4466
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (60 commits)
        ext4: prevent memory leaks from ext4_mb_init_backend() on error path
        ext4: use EXT4_BAD_INO for buddy cache to avoid colliding with valid inode #
        ext4: use ext4_msg() instead of printk in mballoc
        ext4: use ext4_kvzalloc()/ext4_kvmalloc() for s_group_desc and s_group_info
        ext4: introduce ext4_kvmalloc(), ext4_kzalloc(), and ext4_kvfree()
        ext4: use the correct error exit path in ext4_init_inode_table()
        ext4: add missing kfree() on error return path in add_new_gdb()
        ext4: change umode_t in tracepoint headers to be an explicit __u16
        ext4: fix races in ext4_sync_parent()
        ext4: Fix overflow caused by missing cast in ext4_fallocate()
        ext4: add action of moving index in ext4_ext_rm_idx for Punch Hole
        ext4: simplify parameters of reserve_backup_gdb()
        ext4: simplify parameters of add_new_gdb()
        ext4: remove lock_buffer in bclean() and setup_new_group_blocks()
        ext4: simplify journal handling in setup_new_group_blocks()
        ext4: let setup_new_group_blocks() set multiple bits at a time
        ext4: fix a typo in ext4_group_extend()
        ext4: let ext4_group_add_blocks() handle 0 blocks quickly
        ext4: let ext4_group_add_blocks() return an error code
        ext4: rename ext4_add_groupblocks() to ext4_group_add_blocks()
        ...
      
      Fix up conflict in fs/ext4/inode.c: commit aacfc19c ("fs: simplify
      the blockdev_direct_IO prototype") had changed the ext4_ind_direct_IO()
      function for the new simplified calling convention, while commit
      dae1e52c ("ext4: move ext4_ind_* functions from inode.c to
      indirect.c") moved the function to another file.
      60ad4466
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 · 1b8e9499
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
        xfs: Fix build breakage in xfs_iops.c when CONFIG_FS_POSIX_ACL is not set
        VFS: Reorganise shrink_dcache_for_umount_subtree() after demise of dcache_lock
        VFS: Remove dentry->d_lock locking from shrink_dcache_for_umount_subtree()
        VFS: Remove detached-dentry counter from shrink_dcache_for_umount_subtree()
        switch posix_acl_chmod() to umode_t
        switch posix_acl_from_mode() to umode_t
        switch posix_acl_equiv_mode() to umode_t *
        switch posix_acl_create() to umode_t *
        block: initialise bd_super in bdget()
        vfs: avoid call to inode_lru_list_del() if possible
        vfs: avoid taking inode_hash_lock on pipes and sockets
        vfs: conditionally call inode_wb_list_del()
        VFS: Fix automount for negative autofs dentries
        Btrfs: load the key from the dir item in readdir into a fake dentry
        devtmpfs: missing initialialization in never-hit case
        hppfs: missing include
      1b8e9499