21 Sep, 2006

7 commits

  • Up until now we've relied on module reference counting to ensure that the
    crypto_alg structures don't disappear from under us. This was good enough
    as long as each crypto_alg came from exactly one module.

    However, with parameterised crypto algorithms a crypto_alg object may need
    two or more modules to operate. This means that we need to count the
    references to the crypto_alg object directly.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • The functions crypto_alg_get and crypto_alg_put operates on the crypto
    modules rather than the algorithms. Therefore it makes sense to call
    them crypto_mod_get and crypto_alg_put respectively.

    This is needed because we need to have real algorithm reference counters
    for parameterised algorithms as they can be unregistered from below by
    when their parameter algorithms are themselves unregistered.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • The patch passed the trycpt tests and automated filesystem tests.
    This rewrite resulted in some nice perfomance increase over my last patch.

    Short summary of the tcrypt benchmarks:

    Twofish Assembler vs. Twofish C (256bit 8kb block CBC)
    encrypt: -27% Cycles
    decrypt: -23% Cycles

    Twofish Assembler vs. AES Assembler (128bit 8kb block CBC)
    encrypt: +18% Cycles
    decrypt: +15% Cycles

    Twofish Assembler vs. AES Assembler (256bit 8kb block CBC)
    encrypt: -9% Cycles
    decrypt: -8% Cycles

    Full Output:
    http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-c-x86_64.txt
    http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-asm-x86_64.txt
    http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-aes-asm-x86_64.txt

    Here is another bonnie++ benchmark with encrypted filesystems. Most runs maxed
    out the hd. It should give some idea what the module can do for encrypted filesystem
    performance even though you can't see the full numbers.

    http://homepages.tu-darmstadt.de/~fritschi/twofish/output_20060610_130806_x86_64.html

    Signed-off-by: Joachim Fritschi
    Signed-off-by: Herbert Xu

    Joachim Fritschi
     
  • The patch passed the trycpt tests and automated filesystem tests.
    This rewrite resulted in some nice perfomance increase over my last patch.

    Short summary of the tcrypt benchmarks:

    Twofish Assembler vs. Twofish C (256bit 8kb block CBC)
    encrypt: -33% Cycles
    decrypt: -45% Cycles

    Twofish Assembler vs. AES Assembler (128bit 8kb block CBC)
    encrypt: +3% Cycles
    decrypt: -22% Cycles

    Twofish Assembler vs. AES Assembler (256bit 8kb block CBC)
    encrypt: -20% Cycles
    decrypt: -36% Cycles

    Full Output:
    http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-asm-i586.txt
    http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-twofish-c-i586.txt
    http://homepages.tu-darmstadt.de/~fritschi/twofish/tcrypt-speed-aes-asm-i586.txt

    Here is another bonnie++ benchmark with encrypted filesystems. All runs with
    the twofish assembler modules max out the drivespeed. It should give some
    idea what the module can do for encrypted filesystem performance even though
    you can't see the full numbers.

    http://homepages.tu-darmstadt.de/~fritschi/twofish/output_20060611_205432_x86.html

    Signed-off-by: Joachim Fritschi
    Signed-off-by: Herbert Xu

    Joachim Fritschi
     
  • This patch adds a proper driver name and priority to the generic c
    implemtation to allow coexistance of c and assembler modules.

    Signed-off-by: Joachim Fritschi
    Signed-off-by: Herbert Xu

    Joachim Fritschi
     
  • This patch splits up the twofish crypto routine into a common part ( key
    setup ) which will be uses by all twofish crypto modules ( generic-c , i586
    assembler and x86_64 assembler ) and generic-c part. It also creates a new
    header file which will be used by all 3 modules.

    This eliminates all code duplication.

    Correctness was verified with the tcrypt module and automated test scripts.

    Signed-off-by: Joachim Fritschi
    Signed-off-by: Herbert Xu

    Joachim Fritschi
     
  • Previously the __aligned__ attribute was added to the crypto_tfm context
    member to ensure it is alinged correctly on architectures such as arm.
    Unfortunately kmalloc does not use the same minimum alignment rules as
    gcc so this is useless.

    This patch changes it to use kmalloc's minimum alignment.

    Signed-off-by: Herbert Xu

    Herbert Xu
     

20 Sep, 2006

6 commits


19 Sep, 2006

14 commits

  • Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • This reverts commits 11012d419cfc0e0f78ca356aca03674217910124 and
    40dd2d20f220eda1cd0da8ea3f0f9db8971ba237, which allowed us to use the
    MMIO accesses for PCI config cycles even without the area being marked
    reserved in the e820 memory tables.

    Those changes were needed for EFI-environment Intel macs, but broke some
    newer Intel 965 boards, so for now it's better to revert to our old
    2.6.17 behaviour and at least avoid introducing any new breakage.

    Andi Kleen has a set of patches that work with both EFI and the broken
    Intel 965 boards, which will be applied once they get wider testing.

    Cc: Arjan van de Ven
    Cc: Edgar Hucek
    Cc: Andi Kleen
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.infradead.org/mtd-2.6:
    [MTD] Use SEEK_{SET,CUR,END} instead of hardcoded values in mtdchar lseek()
    MTD: Fix bug in fixup_convert_atmel_pri
    [JFFS2][SUMMARY] Fix a summary collecting bug.
    [PATCH] [MTD] DEVICES: Fill more device IDs in the structure of m25p80
    MTD: Add lock/unlock operations for Atmel AT49BV6416
    MTD: Convert Atmel PRI information to AMD format
    fs/jffs2/xattr.c: remove dead code
    [PATCH] [MTD] Maps: Add dependency on alternate probe methods to physmap
    [PATCH] MTD: Add Macronix MX29F040 to JEDEC
    [MTD] Fixes of performance and stability issues in CFI driver.
    block2mtd.c: Make kernel boot command line arguments work (try 4)
    [MTD NAND] Fix lookup error in nand_get_flash_type()
    remove #error on !PCI from pmc551.c
    MTD: [NAND] Fix the sharpsl driver after breakage from a core conversion
    [MTD] NAND: OOB buffer offset fixups
    make fs/jffs2/nodelist.c:jffs2_obsolete_node_frag() static
    [PATCH] [MTD] NAND: fix dead URL in Kconfig

    Linus Torvalds
     
  • Fix a performance degradation introduced in 2.6.17. (30% degradation
    running dbench with 16 threads)

    Commit 21730eed11de42f22afcbd43f450a1872a0b5ea1, which claims to make
    EXT2_DEBUG work again, moves the taking of the kernel lock out of
    debug-only code in ext2_count_free_inodes and ext2_count_free_blocks and
    into ext2_statfs.

    The same problem was fixed in ext3 by removing the lock completely (commit
    5b11687924e40790deb0d5f959247ade82196665)

    Signed-off-by: Dave Kleikamp
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Kleikamp
     
  • Remove definitions of PAGE_* from the user view
    Delete unnecessary comments referring to the size of pages
    Only include if we're in __KERNEL__

    Signed-off-by: David Woodhouse
    Signed-off-by: Matthew Wilcox
    Signed-off-by: Kyle McMartin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     
  • Fix 'make headers_check' on m68k

    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Signed-off-by: David Woodhouse
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • while porting the -rt tree to 2.6.18-rc7 i noticed the following
    screaming-IRQ scenario on an SMP system:

    2274 0Dn.:1 0.001ms: do_IRQ+0xc/0x103
    Signed-off-by: Thomas Gleixner
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • (And reset it on new thread creation)

    It turns out that eflags is important to save and restore not just
    because of iopl, but due to the magic bits like the NT bit, which we
    don't want leaking between different threads.

    Tested-by: Mike Galbraith
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [ATM] CLIP: Do not refer freed skbuff in clip_mkip().
    [NET]: Drop tx lock in dev_watchdog_up
    [PACKET]: Don't truncate non-linear skbs with mmaped IO
    [NET]: Mark frame diverter for future removal.
    [NETFILTER]: Add secmark headers to header-y
    [ATM]: linux-atm-general mailing list is subscribers only
    [ATM]: [he] when transmit fails, unmap the dma regions
    [TCP] tcp-lp: update information to MAINTAINERS
    [TCP] tcp-lp: bug fix for oops in 2.6.18-rc6
    [BRIDGE]: random extra bytes on STP TCN packet
    [IPV6]: Accept -1 for IPV6_TCLASS
    [IPV6]: Fix tclass setting for raw sockets.
    [IPVS]: remove the debug option go ip_vs_ftp
    [IPVS]: Make sure ip_vs_ftp ports are valid
    [IPVS]: auto-help for ip_vs_ftp
    [IPVS]: Document the ports option to ip_vs_ftp in kernel-parameters.txt
    [TCP]: Turn ABC off.
    [NEIGH]: neigh_table_clear() doesn't free stats

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC]: Fix regression in sys_getdomainname()
    [OPENPROMIO]: Handle current_node being NULL correctly.

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] 3815/1: headers_install support for ARM
    [ARM] 3794/1: S3C24XX: do not defined set_irq_wake when no CONFIG_PM
    [ARM] 3793/1: S3C2412: fix wrong serial info struct
    [ARM] 3780/1: Fix iop321 cpuid
    [ARM] 3786/1: pnx4008: update defconfig
    [ARM] 3785/1: S3C2412: Fix idle code as default uses wrong clocks
    [ARM] 3784/1: S3C2413: fix config for MACH_S3C2413/MACH_SMDK2413

    Linus Torvalds
     

18 Sep, 2006

13 commits

  • Move kernel-only #includes into #ifdef __KERNEL__, so that
    headers_install target can be used on ARM.

    Signed-off-by: Ralph Siemsen
    Signed-off-by: Russell King

    Ralph Siemsen
     
  • This patch corrects the buffer length checking in the
    sys_getdomainname() implementation for sparc/sparc64.

    Signed-off-by: Andy Walker
    Signed-off-by: David S. Miller

    Andy Walker
     
  • In clip_mkip(), skb->dev is dereferenced after clip_push(),
    which frees up skb.

    Advisory: AD_LAB-06009 ().

    Signed-off-by: YOSHIFUJI Hideaki
    Signed-off-by: David S. Miller

    YOSHIFUJI Hideaki
     
  • Patch from Ben Dooks

    Do not define set_irq_wake as a real function if
    the CONFIG_PM option is not set.

    Fixes bug reported by Thomas Gleixner.

    Signed-off-by: Ben Dooks
    Signed-off-by: Russell King

    Ben Dooks
     
  • Patch from Ben Dooks

    The S3C2440 serial info struct is being passed
    through the S3C2412 serial info struct probe
    routine.

    Signed-off-by: Ben Dooks
    Signed-off-by: Thomas Glexiner
    Signed-off-by: Russell King

    Ben Dooks
     
  • If the user tries to traverse to the next node of the
    last node, we get NULL in current_node and a zero phandle
    returned. That's fine, but if the user tries to obtain
    properties in that state, we try to dereference a NULL
    pointer in the downcall to the of_*() routines.

    So protect against that.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Fix lockdep warning with GRE, iptables and Speedtouch ADSL, PPP over ATM.

    On Sat, Sep 02, 2006 at 08:39:28PM +0000, Krzysztof Halasa wrote:
    >
    > =======================================================
    > [ INFO: possible circular locking dependency detected ]
    > -------------------------------------------------------
    > swapper/0 is trying to acquire lock:
    > (&dev->queue_lock){-+..}, at: [] dev_queue_xmit+0x56/0x290
    >
    > but task is already holding lock:
    > (&dev->_xmit_lock){-+..}, at: [] dev_queue_xmit+0x224/0x290
    >
    > which lock already depends on the new lock.

    This turns out to be a genuine bug. The queue lock and xmit lock are
    intentionally taken out of order. Two things are supposed to prevent
    dead-locks from occuring:

    1) When we hold the queue_lock we're supposed to only do try_lock on the
    tx_lock.

    2) We always drop the queue_lock after taking the tx_lock and before doing
    anything else.

    >
    > the existing dependency chain (in reverse order) is:
    >
    > -> #1 (&dev->_xmit_lock){-+..}:
    > [] lock_acquire+0x76/0xa0
    > [] _spin_lock_bh+0x31/0x40
    > [] dev_activate+0x69/0x120

    This path obviously breaks assumption 1) and therefore can lead to ABBA
    dead-locks.

    I've looked at the history and there seems to be no reason for the lock
    to be held at all in dev_watchdog_up. The lock appeared in day one and
    even there it was unnecessary. In fact, people added __dev_watchdog_up
    precisely in order to get around the tx lock there.

    The function dev_watchdog_up is already serialised by rtnl_lock since
    its only caller dev_activate is always called under it.

    So here is a simple patch to remove the tx lock from dev_watchdog_up.
    In 2.6.19 we can eliminate the unnecessary __dev_watchdog_up and
    replace it with dev_watchdog_up.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • Non-linear skbs are truncated to their linear part with mmaped IO.
    Fix by using skb_copy_bits instead of memcpy.

    Signed-off-by: Patrick McHardy
    Acked-by: Alexey Kuznetsov
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • The code for frame diverter is unmaintained and has bitrotted.
    The number of users is very small and the code has lots of problems.
    If anyone is using it, they maybe exposing themselves to bad packet attacks.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • This patch includes xt_SECMARK.h and xt_CONNSECMARK.h to the kernel
    headers which are exported via 'make headers_install'. This is needed to
    allow userland code to be built correctly with these features.

    Please apply, and consider for inclusion with 2.6.18 as a bugfix.

    Signed-off-by: James Morris
    Signed-off-by: David S. Miller

    James Morris
     
  • As the automated reply I got to my last ATM patch shows, the
    linux-atm-general mailing list is subscribers-only.

    Signed-off-by: Roland Dreier
    Signed-off-by: David S. Miller

    Roland Dreier
     
  • Signed-off-by: Chas Williams
    Signed-off-by: David S. Miller

    Chas Williams
     
  • Signed-off-by: Wong Hoi Sing Edison
    Signed-off-by: David S. Miller

    Wong Hoi Sing Edison