11 Jan, 2012

2 commits

  • * 'for-linus' of git://selinuxproject.org/~jmorris/linux-security: (32 commits)
    ima: fix invalid memory reference
    ima: free duplicate measurement memory
    security: update security_file_mmap() docs
    selinux: Casting (void *) value returned by kmalloc is useless
    apparmor: fix module parameter handling
    Security: tomoyo: add .gitignore file
    tomoyo: add missing rcu_dereference()
    apparmor: add missing rcu_dereference()
    evm: prevent racing during tfm allocation
    evm: key must be set once during initialization
    mpi/mpi-mpow: NULL dereference on allocation failure
    digsig: build dependency fix
    KEYS: Give key types their own lockdep class for key->sem
    TPM: fix transmit_cmd error logic
    TPM: NSC and TIS drivers X86 dependency fix
    TPM: Export wait_for_stat for other vendor specific drivers
    TPM: Use vendor specific function for status probe
    tpm_tis: add delay after aborting command
    tpm_tis: Check return code from getting timeouts/durations
    tpm: Introduce function to poll for result of self test
    ...

    Fix up trivial conflict in lib/Makefile due to addition of CONFIG_MPI
    and SIGSIG next to CONFIG_DQL addition.

    Linus Torvalds
     
  • lib: use generic pci_iomap on all architectures

    Many architectures don't want to pull in iomap.c,
    so they ended up duplicating pci_iomap from that file.
    That function isn't trivial, and we are going to modify it
    https://lkml.org/lkml/2011/11/14/183
    so the duplication hurts.

    This reduces the scope of the problem significantly,
    by moving pci_iomap to a separate file and
    referencing that from all architectures.

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    alpha: drop pci_iomap/pci_iounmap from pci-noop.c
    mn10300: switch to GENERIC_PCI_IOMAP
    mn10300: add missing __iomap markers
    frv: switch to GENERIC_PCI_IOMAP
    tile: switch to GENERIC_PCI_IOMAP
    tile: don't panic on iomap
    sparc: switch to GENERIC_PCI_IOMAP
    sh: switch to GENERIC_PCI_IOMAP
    powerpc: switch to GENERIC_PCI_IOMAP
    parisc: switch to GENERIC_PCI_IOMAP
    mips: switch to GENERIC_PCI_IOMAP
    microblaze: switch to GENERIC_PCI_IOMAP
    arm: switch to GENERIC_PCI_IOMAP
    alpha: switch to GENERIC_PCI_IOMAP
    lib: add GENERIC_PCI_IOMAP
    lib: move GENERIC_IOMAP to lib/Kconfig

    Fix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig

    Linus Torvalds
     

08 Jan, 2012

1 commit

  • * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)
    arm: fix up some samsung merge sysdev conversion problems
    firmware: Fix an oops on reading fw_priv->fw in sysfs loading file
    Drivers:hv: Fix a bug in vmbus_driver_unregister()
    driver core: remove __must_check from device_create_file
    debugfs: add missing #ifdef HAS_IOMEM
    arm: time.h: remove device.h #include
    driver-core: remove sysdev.h usage.
    clockevents: remove sysdev.h
    arm: convert sysdev_class to a regular subsystem
    arm: leds: convert sysdev_class to a regular subsystem
    kobject: remove kset_find_obj_hinted()
    m86k: gpio - convert sysdev_class to a regular subsystem
    mips: txx9_sram - convert sysdev_class to a regular subsystem
    mips: 7segled - convert sysdev_class to a regular subsystem
    sh: dma - convert sysdev_class to a regular subsystem
    sh: intc - convert sysdev_class to a regular subsystem
    power: suspend - convert sysdev_class to a regular subsystem
    power: qe_ic - convert sysdev_class to a regular subsystem
    power: cmm - convert sysdev_class to a regular subsystem
    s390: time - convert sysdev_class to a regular subsystem
    ...

    Fix up conflicts with 'struct sysdev' removal from various platform
    drivers that got changed:
    - arch/arm/mach-exynos/cpu.c
    - arch/arm/mach-exynos/irq-eint.c
    - arch/arm/mach-s3c64xx/common.c
    - arch/arm/mach-s3c64xx/cpu.c
    - arch/arm/mach-s5p64x0/cpu.c
    - arch/arm/mach-s5pv210/common.c
    - arch/arm/plat-samsung/include/plat/cpu.h
    - arch/powerpc/kernel/sysfs.c
    and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h

    Linus Torvalds
     

14 Dec, 2011

1 commit

  • These are tiny functions, there's no point in having them out-of-line.

    Cc: Alexey Dobriyan
    Cc: Eric Dumazet
    Cc: Ingo Molnar
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/n/tip-8eccvi2ur2fzgi00xdjlbf5z@git.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Peter Zijlstra
     

30 Nov, 2011

1 commit

  • Implementation of dynamic queue limits (dql). This is a libary which
    allows a queue limit to be dynamically managed. The goal of dql is
    to set the queue limit, number of objects to the queue, to be minimized
    without allowing the queue to be starved.

    dql would be used with a queue which has these properties:

    1) Objects are queued up to some limit which can be expressed as a
    count of objects.
    2) Periodically a completion process executes which retires consumed
    objects.
    3) Starvation occurs when limit has been reached, all queued data has
    actually been consumed but completion processing has not yet run,
    so queuing new data is blocked.
    4) Minimizing the amount of queued data is desirable.

    A canonical example of such a queue would be a NIC HW transmit queue.

    The queue limit is dynamic, it will increase or decrease over time
    depending on the workload. The queue limit is recalculated each time
    completion processing is done. Increases occur when the queue is
    starved and can exponentially increase over successive intervals.
    Decreases occur when more data is being maintained in the queue than
    needed to prevent starvation. The number of extra objects, or "slack",
    is measured over successive intervals, and to avoid hysteresis the
    limit is only reduced by the miminum slack seen over a configurable
    time period.

    dql API provides routines to manage the queue:
    - dql_init is called to intialize the dql structure
    - dql_reset is called to reset dynamic values
    - dql_queued called when objects are being enqueued
    - dql_avail returns availability in the queue
    - dql_completed is called when objects have be consumed in the queue

    Configuration consists of:
    - max_limit, maximum limit
    - min_limit, minimum limit
    - slack_hold_time, time to measure instances of slack before reducing
    queue limit

    Signed-off-by: Tom Herbert
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Tom Herbert
     

29 Nov, 2011

1 commit


09 Nov, 2011

2 commits

  • This patch implements RSA digital signature verification using GnuPG library.

    The format of the signature and the public key is defined by their respective
    headers. The signature header contains version information, algorithm,
    and keyid, which was used to generate the signature.
    The key header contains version and algorythim type.
    The payload of the signature and the key are multi-precision integers.

    The signing and key management utilities evm-utils provide functionality
    to generate signatures and load keys into the kernel keyring.
    When the key is added to the kernel keyring, the keyid defines the name
    of the key.

    Signed-off-by: Dmitry Kasatkin
    Acked-by: Mimi Zohar

    Dmitry Kasatkin
     
  • Adds the multi-precision-integer maths library which was originally taken
    from GnuPG and ported to the kernel by (among others) David Howells.
    This version is taken from Fedora kernel 2.6.32-71.14.1.el6.
    The difference is that checkpatch reported errors and warnings have been fixed.

    This library is used to implemenet RSA digital signature verification
    used in IMA/EVM integrity protection subsystem.

    Due to patch size limitation, the patch is divided into 4 parts.

    Signed-off-by: Dmitry Kasatkin

    Dmitry Kasatkin
     

04 Oct, 2011

1 commit

  • Because llist code will be used in performance critical scheduler
    code path, make llist_add() and llist_del_all() inline to avoid
    function calling overhead and related 'glue' overhead.

    Signed-off-by: Huang Ying
    Acked-by: Mathieu Desnoyers
    Signed-off-by: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1315461646-1379-2-git-send-email-ying.huang@intel.com
    Signed-off-by: Ingo Molnar

    Huang Ying
     

31 Aug, 2011

1 commit

  • If there are no builtin users of find_next_bit_le() and
    find_next_zero_bit_le(), these functions are not present in the kernel
    image, causing m68k allmodconfig to fail with:

    ERROR: "find_next_zero_bit_le" [fs/ufs/ufs.ko] undefined!
    ERROR: "find_next_bit_le" [fs/udf/udf.ko] undefined!
    ...

    This started to happen after commit 171d809df189 ("m68k: merge mmu and
    non-mmu bitops.h"), as m68k had its own inline versions before.

    commit 63e424c84429 ("arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,
    BIT_LE, LAST_BIT}") added find_last_bit.o to obj-y (so it's always
    included), but find_next_bit.o to lib-y (so it gets removed by the
    linker if there are no builtin users).

    Signed-off-by: Geert Uytterhoeven
    Cc: Akinobu Mita
    Cc: Greg Ungerer
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     

07 Aug, 2011

1 commit


03 Aug, 2011

2 commits

  • Some trivial conflicts due to other various merges
    adding to the end of common lists sooner than this one.

    arch/ia64/Kconfig
    arch/powerpc/Kconfig
    arch/x86/Kconfig
    lib/Kconfig
    lib/Makefile

    Signed-off-by: Len Brown

    Len Brown
     
  • Cmpxchg is used to implement adding new entry to the list, deleting
    all entries from the list, deleting first entry of the list and some
    other operations.

    Because this is a single list, so the tail can not be accessed in O(1).

    If there are multiple producers and multiple consumers, llist_add can
    be used in producers and llist_del_all can be used in consumers. They
    can work simultaneously without lock. But llist_del_first can not be
    used here. Because llist_del_first depends on list->first->next does
    not changed if list->first is not changed during its operation, but
    llist_del_first, llist_add, llist_add (or llist_del_all, llist_add,
    llist_add) sequence in another consumer may violate that.

    If there are multiple producers and one consumer, llist_add can be
    used in producers and llist_del_all or llist_del_first can be used in
    the consumer.

    This can be summarized as follow:

    | add | del_first | del_all
    add | - | - | -
    del_first | | L | L
    del_all | | | -

    Where "-" stands for no lock is needed, while "L" stands for lock is
    needed.

    The list entries deleted via llist_del_all can be traversed with
    traversing function such as llist_for_each etc. But the list entries
    can not be traversed safely before deleted from the list. The order
    of deleted entries is from the newest to the oldest added one. If you
    want to traverse from the oldest to the newest, you must reverse the
    order by yourself before traversing.

    The basic atomic operation of this list is cmpxchg on long. On
    architectures that don't have NMI-safe cmpxchg implementation, the
    list can NOT be used in NMI handler. So code uses the list in NMI
    handler should depend on CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG.

    Signed-off-by: Huang Ying
    Reviewed-by: Andi Kleen
    Reviewed-by: Mathieu Desnoyers
    Cc: Andrew Morton
    Signed-off-by: Len Brown

    Huang Ying
     

09 Jun, 2011

1 commit


04 Jun, 2011

2 commits

  • The brcm80211 driver in the staging tree has a cordic function to
    determine cosine and sine for a given angle. Feedback received from
    John Linville suggested that these kind of functions should be made
    available to others as a library function in the kernel tree. The
    b43 driver also has a cordic angle calculation implemented.

    Cc: linux-kernel@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: "John W. Linville"
    Cc: Greg Kroah-Hartman
    Cc: Dan Carpenter
    Cc: Randy Dunlap
    Cc: Larry Finger
    Reviewed-by: Roland Vossen
    Reviewed-by: Henry Ptasinski
    Reviewed-by: Franky (Zhenhui) Lin
    Signed-off-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Arend van Spriel
     
  • The brcm80211 driver in staging tree uses a crc8 function. Based on
    feedback from John Linville to move this to lib directory, the linux
    source has been searched. Although there is currently only one other
    kernel driver using this algorithm (ie. drivers/ssb) we are providing
    this as a library function for others to use.

    Cc: linux-kernel@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: Dan Carpenter
    Cc: George Spelvin
    Cc: Randy Dunlap
    Reviewed-by: Henry Ptasinski
    Reviewed-by: Roland Vossen
    Reviewed-by: "Franky (Zhenhui) Lin"
    Signed-off-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Arend van Spriel
     

27 May, 2011

1 commit

  • By the previous style change, CONFIG_GENERIC_FIND_NEXT_BIT,
    CONFIG_GENERIC_FIND_BIT_LE, and CONFIG_GENERIC_FIND_LAST_BIT are not used
    to test for existence of find bitops anymore.

    Signed-off-by: Akinobu Mita
    Acked-by: Greg Ungerer
    Cc: Arnd Bergmann
    Cc: Russell King
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

19 May, 2011

1 commit

  • There a large number hand-coded binary searches in the kernel (run
    "git grep search | grep binary" to find many of them). Since in my
    experience, hand-coding binary searches can be error-prone, it seems
    worth cleaning this up by providing a generic binary search function.

    This generic binary search implementation comes from Ksplice. It has
    the same basic API as the C library bsearch() function. Ksplice uses
    it in half a dozen places with 4 different comparison functions, and I
    think our code is substantially cleaner because of this.

    Signed-off-by: Tim Abbott
    Extra-bikeshedding-by: Alan Jenkins
    Extra-bikeshedding-by: André Goddard Rosa
    Extra-bikeshedding-by: Rusty Russell
    Signed-off-by: Rusty Russell
    Signed-off-by: Alessio Igor Bogani
    Signed-off-by: Rusty Russell

    Tim Abbott
     

25 Mar, 2011

1 commit

  • …linux-2.6 into for-linus-1

    * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6: (9356 commits)
    [media] rc: update for bitop name changes
    fs: simplify iget & friends
    fs: pull inode->i_lock up out of writeback_single_inode
    fs: rename inode_lock to inode_hash_lock
    fs: move i_wb_list out from under inode_lock
    fs: move i_sb_list out from under inode_lock
    fs: remove inode_lock from iput_final and prune_icache
    fs: Lock the inode LRU list separately
    fs: factor inode disposal
    fs: protect inode->i_state with inode->i_lock
    lib, arch: add filter argument to show_mem and fix private implementations
    SLUB: Write to per cpu data when allocating it
    slub: Fix debugobjects with lockless fastpath
    autofs4: Do not potentially dereference NULL pointer returned by fget() in autofs_dev_ioctl_setpipefd()
    autofs4 - remove autofs4_lock
    autofs4 - fix d_manage() return on rcu-walk
    autofs4 - fix autofs4_expire_indirect() traversal
    autofs4 - fix dentry leak in autofs4_expire_direct()
    autofs4 - reinstate last used update on access
    vfs - check non-mountpoint dentry might block in __follow_mount_rcu()
    ...

    NOTE!

    This merge commit was created to fix compilation error. The block
    tree was merged upstream and removed the 'elv_queue_empty()'
    function which the new 'mtdswap' driver is using. So a simple
    merge of the mtd tree with upstream does not compile. And the
    mtd tree has already be published, so re-basing it is not an option.

    To fix this unfortunate situation, I had to merge upstream into the
    mtd-2.6.git tree without committing, put the fixup patch on top of
    this, and then commit this. The result is that we do not have commits
    which do not compile.

    In other words, this merge commit "merges" 3 things: the MTD tree, the
    upstream tree, and the fixup patch.

    Artem Bityutskiy
     

24 Mar, 2011

1 commit

  • This introduces CONFIG_GENERIC_FIND_BIT_LE to tell whether to use generic
    implementation of find_*_bit_le() in lib/find_next_bit.c or not.

    For now we select CONFIG_GENERIC_FIND_BIT_LE for all architectures which
    enable CONFIG_GENERIC_FIND_NEXT_BIT.

    But m68knommu wants to define own faster find_next_zero_bit_le() and
    continues using generic find_next_{,zero_}bit().
    (CONFIG_GENERIC_FIND_NEXT_BIT and !CONFIG_GENERIC_FIND_BIT_LE)

    Signed-off-by: Akinobu Mita
    Cc: Greg Ungerer
    Cc: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

23 Mar, 2011

1 commit

  • 1. simple_strto*() do not contain overflow checks and crufty,
    libc way to indicate failure.
    2. strict_strto*() also do not have overflow checks but the name and
    comments pretend they do.
    3. Both families have only "long long" and "long" variants,
    but users want strtou8()
    4. Both "simple" and "strict" prefixes are wrong:
    Simple doesn't exactly say what's so simple, strict should not exist
    because conversion should be strict by default.

    The solution is to use "k" prefix and add convertors for more types.
    Enter
    kstrtoull()
    kstrtoll()
    kstrtoul()
    kstrtol()
    kstrtouint()
    kstrtoint()

    kstrtou64()
    kstrtos64()
    kstrtou32()
    kstrtos32()
    kstrtou16()
    kstrtos16()
    kstrtou8()
    kstrtos8()

    Include runtime testsuite (somewhat incomplete) as well.

    strict_strto*() become deprecated, stubbed to kstrto*() and
    eventually will be removed altogether.

    Use kstrto*() in code today!

    Note: on some archs _kstrtoul() and _kstrtol() are left in tree, even if
    they'll be unused at runtime. This is temporarily solution,
    because I don't want to hardcode list of archs where these
    functions aren't needed. Current solution with sizeof() and
    __alignof__ at least always works.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

17 Mar, 2011

1 commit


11 Mar, 2011

1 commit

  • This is a new software BCH encoding/decoding library, similar to the shared
    Reed-Solomon library.

    Binary BCH (Bose-Chaudhuri-Hocquenghem) codes are widely used to correct
    errors in NAND flash devices requiring more than 1-bit ecc correction; they
    are generally better suited for NAND flash than RS codes because NAND bit
    errors do not occur in bursts. Latest SLC NAND devices typically require at
    least 4-bit ecc protection per 512 bytes block.

    This library provides software encoding/decoding, but may also be used with
    ASIC/SoC hardware BCH engines to perform error correction. It is being
    currently used for this purpose on an OMAP3630 board (4bit/8bit HW BCH). It
    has also been used to decode raw dumps of NAND devices with on-die BCH ecc
    engines (e.g. Micron 4bit ecc SLC devices).

    Latest NAND devices (including SLC) can exhibit high error rates (typically
    a dozen or more bitflips per hour during stress tests); in order to
    minimize the performance impact of error correction, this library
    implements recently developed algorithms for fast polynomial root finding
    (see bch.c header for details) instead of the traditional exhaustive Chien
    root search; a few performance figures are provided below:

    Platform: arm926ejs @ 468 MHz, 32 KiB icache, 16 KiB dcache
    BCH ecc : 4-bit per 512 bytes

    Encoding average throughput: 250 Mbits/s

    Error correction time (compared with Chien search):

    average worst average (Chien) worst (Chien)
    ----------------------------------------------------------
    1 bit 8.5 µs 11 µs 200 µs 383 µs
    2 bit 9.7 µs 12.5 µs 477 µs 728 µs
    3 bit 18.1 µs 20.6 µs 758 µs 1010 µs
    4 bit 19.5 µs 23 µs 1028 µs 1280 µs

    In the above figures, "worst" is meant in terms of error pattern, not in
    terms of cache miss / page faults effects (not taken into account here).

    The library has been extensively tested on the following platforms: x86,
    x86_64, arm926ejs, omap3630, qemu-ppc64, qemu-mips.

    Signed-off-by: Ivan Djelic
    Signed-off-by: David Woodhouse

    Ivan Djelic
     

05 Mar, 2011

1 commit

  • This removes the implementation of the big kernel lock,
    at last. A lot of people have worked on this in the
    past, I so the credit for this patch should be with
    everyone who participated in the hunt.

    The names on the Cc list are the people that were the
    most active in this, according to the recorded git
    history, in alphabetical order.

    Signed-off-by: Arnd Bergmann
    Acked-by: Alan Cox
    Cc: Alessio Igor Bogani
    Cc: Al Viro
    Cc: Andrew Hendry
    Cc: Andrew Morton
    Cc: Christoph Hellwig
    Cc: Eric W. Biederman
    Cc: Frederic Weisbecker
    Cc: Hans Verkuil
    Acked-by: Ingo Molnar
    Cc: Jan Blunck
    Cc: John Kacur
    Cc: Jonathan Corbet
    Cc: Linus Torvalds
    Cc: Matthew Wilcox
    Cc: Oliver Neukum
    Cc: Paul Menage
    Acked-by: Thomas Gleixner
    Cc: Trond Myklebust

    Arnd Bergmann
     

25 Jan, 2011

1 commit

  • When initiating I/O on a multiqueue and multi-IRQ device, we may want
    to select a queue for which the response will be handled on the same
    or a nearby CPU. This requires a reverse-map of IRQ affinity. Add
    library functions to support a generic reverse-mapping from CPUs to
    objects with affinity and the specific case where the objects are
    IRQs.

    Signed-off-by: Ben Hutchings
    Signed-off-by: David S. Miller

    Ben Hutchings
     

14 Jan, 2011

3 commits

  • This implements the API defined in which is
    used for kernel, initramfs, and initrd decompression. This patch together
    with the first patch is enough for XZ-compressed initramfs and initrd;
    XZ-compressed kernel will need arch-specific changes.

    The buffering requirements described in decompress_unxz.c are stricter
    than with gzip, so the relevant changes should be done to the
    arch-specific code when adding support for XZ-compressed kernel.
    Similarly, the heap size in arch-specific pre-boot code may need to be
    increased (30 KiB is enough).

    The XZ decompressor needs memmove(), memeq() (memcmp() == 0), and
    memzero() (memset(ptr, 0, size)), which aren't available in all
    arch-specific pre-boot environments. I'm including simple versions in
    decompress_unxz.c, but a cleaner solution would naturally be nicer.

    Signed-off-by: Lasse Collin
    Cc: "H. Peter Anvin"
    Cc: Alain Knaff
    Cc: Albin Tonnerre
    Cc: Phillip Lougher
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lasse Collin
     
  • In userspace, the .lzma format has become mostly a legacy file format that
    got superseded by the .xz format. Similarly, LZMA Utils was superseded by
    XZ Utils.

    These patches add support for XZ decompression into the kernel. Most of
    the code is as is from XZ Embedded .
    It was written for the Linux kernel but is usable in other projects too.

    Advantages of XZ over the current LZMA code in the kernel:
    - Nice API that can be used by other kernel modules; it's
    not limited to kernel, initramfs, and initrd decompression.
    - Integrity check support (CRC32)
    - BCJ filters improve compression of executable code on
    certain architectures. These together with LZMA2 can
    produce a few percent smaller kernel or Squashfs images
    than plain LZMA without making the decompression slower.

    This patch: Add the main decompression code (xz_dec), testing module
    (xz_dec_test), wrapper script (xz_wrap.sh) for the xz command line tool,
    and documentation. The xz_dec module is enough to have a usable XZ
    decompressor e.g. for Squashfs.

    Signed-off-by: Lasse Collin
    Cc: "H. Peter Anvin"
    Cc: Alain Knaff
    Cc: Albin Tonnerre
    Cc: Phillip Lougher
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lasse Collin
     
  • Alex said:

    I want to use flex_array to store a sparse array of ATM cell
    re-assembly buffers for my ATM over Ethernet driver. Using the per-vcc
    user_back structure causes problems when stacked with things like
    br2684.

    Add EXPORT_SYMBOL() for all publically accessible flex array functions
    and move to obj-y so that modules may use this library.

    Signed-off-by: David Rientjes
    Cc: Dave Hansen
    Cc: Paul Mundt
    Reported-by: Alex Bennee
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

07 Jan, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1436 commits)
    cassini: Use local-mac-address prom property for Cassini MAC address
    net: remove the duplicate #ifdef __KERNEL__
    net: bridge: check the length of skb after nf_bridge_maybe_copy_header()
    netconsole: clarify stopping message
    netconsole: don't announce stopping if nothing happened
    cnic: Fix the type field in SPQ messages
    netfilter: fix export secctx error handling
    netfilter: fix the race when initializing nf_ct_expect_hash_rnd
    ipv4: IP defragmentation must be ECN aware
    net: r6040: Return proper error for r6040_init_one
    dcb: use after free in dcb_flushapp()
    dcb: unlock on error in dcbnl_ieee_get()
    net: ixp4xx_eth: Return proper error for eth_init_one
    include/linux/if_ether.h: Add #define ETH_P_LINK_CTL for HPNA and wlan local tunnel
    net: add POLLPRI to sock_def_readable()
    af_unix: Avoid socket->sk NULL OOPS in stream connect security hooks.
    net_sched: pfifo_head_drop problem
    mac80211: remove stray extern
    mac80211: implement off-channel TX using hw r-o-c offload
    mac80211: implement hardware offload for remain-on-channel
    ...

    Linus Torvalds
     

11 Dec, 2010

1 commit


03 Dec, 2010

1 commit

  • The timerlist infrastructure is a thin layer over the rbtree
    code that implements a simple list of timers sorted by an
    expires value, and a getnext function that provides a pointer
    to the earliest timer.

    This infrastructure allows drivers and other kernel infrastructure
    to easily implement timers without duplicating code.

    Signed-off-by: John Stultz
    LKML Reference:
    Reviewed-by: Thomas Gleixner
    CC: Alessandro Zummo
    CC: Thomas Gleixner
    CC: Richard Cochran

    John Stultz
     

19 Nov, 2010

1 commit

  • This adds generic functions for calculating Exponentially Weighted Moving
    Averages (EWMA). This implementation makes use of a structure which keeps the
    EWMA parameters and a scaled up internal representation to reduce rounding
    errors.

    The original idea for this implementation came from the rt2x00 driver
    (rt2x00link.c). I would like to use it in several places in the mac80211 and
    ath5k code and I hope it can be useful in many other places in the kernel code.

    Signed-off-by: Bruno Randolf
    Reviewed-by: KOSAKI Motohiro
    Signed-off-by: John W. Linville

    Bruno Randolf
     

09 Aug, 2010

1 commit


14 Jul, 2010

1 commit

  • via following scripts

    FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')

    sed -i \
    -e 's/lmb/memblock/g' \
    -e 's/LMB/MEMBLOCK/g' \
    $FILES

    for N in $(find . -name lmb.[ch]); do
    M=$(echo $N | sed 's/lmb/memblock/g')
    mv $N $M
    done

    and remove some wrong change like lmbench and dlmb etc.

    also move memblock.c from lib/ to mm/

    Suggested-by: Ingo Molnar
    Acked-by: "H. Peter Anvin"
    Acked-by: Benjamin Herrenschmidt
    Acked-by: Linus Torvalds
    Signed-off-by: Yinghai Lu
    Signed-off-by: Benjamin Herrenschmidt

    Yinghai Lu
     

29 May, 2010

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits)
    ACPI: Don't let acpi_pad needlessly mark TSC unstable
    drivers/acpi/sleep.h: Checkpatch cleanup
    ACPI: Minor cleanup eliminating redundant PMTIMER_TICKS to NS conversion
    ACPI: delete unused c-state promotion/demotion data strucutures
    ACPI: video: fix acpi_backlight=video
    ACPI: EC: Use kmemdup
    drivers/acpi: use kasprintf
    ACPI, APEI, EINJ injection parameters support
    Add x64 support to debugfs
    ACPI, APEI, Use ERST for persistent storage of MCE
    ACPI, APEI, Error Record Serialization Table (ERST) support
    ACPI, APEI, Generic Hardware Error Source memory error support
    ACPI, APEI, UEFI Common Platform Error Record (CPER) header
    Unified UUID/GUID definition
    ACPI Hardware Error Device (PNP0C33) support
    ACPI, APEI, PCIE AER, use general HEST table parsing in AER firmware_first setup
    ACPI, APEI, Document for APEI
    ACPI, APEI, EINJ support
    ACPI, APEI, HEST table parsing
    ACPI, APEI, APEI supporting infrastructure
    ...

    Linus Torvalds
     

28 May, 2010

1 commit

  • I used this module to test the series of modification to the cpu notifiers
    code.

    Example1: inject CPU offline error (-1 == -EPERM)

    # modprobe cpu-notifier-error-inject cpu_down_prepare_error=-1
    # echo 0 > /sys/devices/system/cpu/cpu1/online
    bash: echo: write error: Operation not permitted

    Example2: inject CPU online error (-2 == -ENOENT)

    # modprobe cpu-notifier-error-inject cpu_up_prepare_error=-2
    # echo 1 > /sys/devices/system/cpu/cpu1/online
    bash: echo: write error: No such file or directory

    [akpm@linux-foundation.org: fix Kconfig help text]
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     

20 May, 2010

1 commit

  • There are many different UUID/GUID definitions in kernel, such as that
    in EFI, many file systems, some drivers, etc. Every kernel components
    need UUID/GUID has its own definition. This patch provides a unified
    definition for UUID/GUID.

    UUID is defined via typedef. This makes that UUID appears more like a
    preliminary type, and makes the data type explicit (comparing with
    implicit "u8 uuid[16]").

    The binary representation of UUID/GUID can be little-endian (used by
    EFI, etc) or big-endian (defined by RFC4122), so both is defined.

    Signed-off-by: Huang Ying
    Signed-off-by: Andi Kleen
    Signed-off-by: Len Brown

    Huang Ying
     

19 May, 2010

1 commit


30 Apr, 2010

1 commit


07 Apr, 2010

1 commit

  • Add support for the hardware version of the Hamming weight function,
    popcnt, present in CPUs which advertize it under CPUID, Function
    0x0000_0001_ECX[23]. On CPUs which don't support it, we fallback to the
    default lib/hweight.c sw versions.

    A synthetic benchmark comparing popcnt with __sw_hweight64 showed almost
    a 3x speedup on a F10h machine.

    Signed-off-by: Borislav Petkov
    LKML-Reference:
    Signed-off-by: H. Peter Anvin

    Borislav Petkov