15 May, 2009

1 commit

  • Make network connections to other nodes earlier, in the context of
    dlm_recoverd. This avoids connecting to nodes from dlm_send where we
    try to avoid allocations which could possibly deadlock if memory reclaim
    goes into the cluster fs which may try to do a dlm operation.

    Signed-off-by: Christine Caulfield
    Signed-off-by: David Teigland

    Christine Caulfield
     

07 May, 2009

2 commits


06 May, 2009

12 commits


05 May, 2009

20 commits

  • * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
    i2c-algo-pca: Let PCA9564 recover from unacked data byte (state 0x30)
    i2c-algo-bit: Fix timeout test
    i2c: Timeouts off by 1

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
    e1000: fix virtualization bug
    bonding: fix alb mode locking regression
    Bluetooth: Fix issue with sysfs handling for connections
    usbnet: CDC EEM support (v5)
    tcp: Fix tcp_prequeue() to get correct rto_min value
    ehea: fix invalid pointer access
    ne2k-pci: Do not register device until initialized.
    Subject: [PATCH] br2684: restore net_dev initialization
    net: Only store high 16 bits of kernel generated filter priorities
    virtio_net: Fix function name typo
    virtio_net: Cleanup command queue scatterlist usage
    bonding: correct the cleanup in bond_create()
    virtio: add missing include to virtio_net.h
    smsc95xx: add support for LAN9512 and LAN9514
    smsc95xx: configure LED outputs
    netconsole: take care of NETDEV_UNREGISTER event
    xt_socket: checks for the state of nf_conntrack
    bonding: bond_slave_info_query() fix
    cxgb3: fixing gcc 4.4 compiler warning: suggest parentheses around operand of ‘!’
    netfilter: use likely() in xt_info_rdlock_bh()
    ...

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc: Fix setting of oprofile cpu type
    powerpc: Update MPC5xxx and Xilinx Virtex maintainer entries
    powerpc adjust oprofile_cpu_type version 3

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
    selinux: Fix send_sigiotask hook

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
    net/9p: handle correctly interrupted 9P requests
    net/9p: return error when p9_client_stat fails
    net/9p: set correct stat size when sending Twstat messages

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
    mvsdio: fix CONFIG_PM=y build
    mmci: fix crash with debug enabled
    sdhci: catch ADMA errors
    mmc: increase power up delay
    sdhci-pci: bad error handling in probe function
    mmc_block: be prepared for oversized requests

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ASoC: Remove BROKEN from mpc5200 kconfig
    ASoC: TWL4030: Fix gain control for earpiece amplifier
    ALSA: pcm core - Avoid jiffies check for devices with BATCH flag
    ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some drivers
    ALSA: indigo-express: add missing 64KHz flags
    ASoC: Set the MPC5200 i2s driver to BROKEN status.
    ASoC: Fix logic in WM8350 master clocking check

    Linus Torvalds
     
  • Currently, the i2c-algo-pca driver does nothing if the chip enters state
    0x30 (Data byte in I2CDAT has been transmitted; NOT ACK has been
    received). Thus, the i2c bus connected to the controller gets stuck
    afterwards.

    I have seen this kind of error on a custom board in certain load
    situations most probably caused by interference or noise.

    A possible reaction is to let the controller generate a STOP condition.
    This is documented in the PCA9564 data sheet (2006-09-01) and the same
    is done for other NACK states as well.

    Further, state 0x38 isn't handled completely, either. Try to do another
    START in this case like the data sheet says. As this couldn't be tested,
    I've added a comment to try to reset the chip if the START doesn't help
    as suggested by Wolfram Sang.

    Signed-off-by: Enrik Berkhan
    Reviewed-by: Wolfram Sang
    Signed-off-by: Jean Delvare

    Enrik Berkhan
     
  • When fetching DDC using i2c algo bit, we were often seeing timeouts
    before getting valid EDID on a retry. The VESA spec states 2ms is the
    DDC timeout, so when this translates into 1 jiffie and we are close
    to the end of the time period, it could return with a timeout less than
    2ms.

    Change this code to use time_after instead of time_after_eq.

    Signed-off-by: Dave Airlie
    Signed-off-by: Jean Delvare

    Dave Airlie
     
  • with while (timeout++ < MAX_TIMEOUT); timeout reaches MAX_TIMEOUT + 1
    after the loop, so the tests below are off by one.

    Signed-off-by: Roel Kluin
    Signed-off-by: Jean Delvare

    Roel Kluin
     
  • David S. Miller
     
  • a recent fix to e1000 (commit 15b2bee2) caused KVM/QEMU/VMware based
    virtualized e1000 interfaces to begin failing when resetting.

    This is because the driver in a virtual environment doesn't
    get to run instructions *AT ALL* when an interrupt is asserted.
    The interrupt code runs immediately and this recent bug fix
    allows an interrupt to be possible when the interrupt handler
    will reject it (due to the new code), when being called from
    any path in the driver that holds the E1000_RESETTING flag.

    the driver should use the __E1000_DOWN flag instead of the
    __E1000_RESETTING flag to prevent interrupt execution
    while reconfiguring the hardware.

    Signed-off-by: Jesse Brandeburg
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Jesse Brandeburg
     
  • Fix locking issue in alb MAC address management; removed
    incorrect locking and replaced with correct locking. This bug was
    introduced in commit 059fe7a578fba5bbb0fdc0365bfcf6218fa25eb0
    ("bonding: Convert locks to _bh, rework alb locking for new locking")

    Bug reported by Paul Smith , who also
    tested the fix.

    Signed-off-by: Jay Vosburgh
    Signed-off-by: David S. Miller

    Jay Vosburgh
     
  • The CRED patch incorrectly converted the SELinux send_sigiotask hook to
    use the current task SID rather than the target task SID in its
    permission check, yielding the wrong permission check. This fixes the
    hook function. Detected by the ltp selinux testsuite and confirmed to
    correct the test failure.

    Signed-off-by: Stephen Smalley
    Signed-off-by: James Morris

    Stephen Smalley
     
  • By using the same test as is used for /proc/pid/maps and /proc/pid/smaps,
    only allow processes that can ptrace() a given process to see information
    that might be used to bypass address space layout randomization (ASLR).
    These include eip, esp, wchan, and start_stack in /proc/pid/stat as well
    as the non-symbolic output from /proc/pid/wchan.

    ASLR can be bypassed by sampling eip as shown by the proof-of-concept
    code at http://code.google.com/p/fuzzyaslr/ As part of a presentation
    (http://www.cr0.org/paper/to-jt-linux-alsr-leak.pdf) esp and wchan were
    also noted as possibly usable information leaks as well. The
    start_stack address also leaks potentially useful information.

    Cc: Stable Team
    Signed-off-by: Jake Edge
    Acked-by: Arjan van de Ven
    Acked-by: "Eric W. Biederman"
    Signed-off-by: Linus Torvalds

    Jake Edge
     
  • Due to a semantic changes in flush_workqueue() the current approach of
    synchronizing the sysfs handling for connections doesn't work anymore. The
    whole approach is actually fully broken and based on assumptions that are
    no longer valid.

    With the introduction of Simple Pairing support, the creation of low-level
    ACL links got changed. This change invalidates the reason why in the past
    two independent work queues have been used for adding/removing sysfs
    devices. The adding of the actual sysfs device is now postponed until the
    host controller successfully assigns an unique handle to that link. So
    the real synchronization happens inside the controller and not the host.

    The only left-over problem is that some internals of the sysfs device
    handling are not initialized ahead of time. This leaves potential access
    to invalid data and can cause various NULL pointer dereferences. To fix
    this a new function makes sure that all sysfs details are initialized
    when an connection attempt is made. The actual sysfs device is only
    registered when the connection has been successfully established. To
    avoid a race condition with the registration, the check if a device is
    registered has been moved into the removal work.

    As an extra protection two flush_work() calls are left in place to
    make sure a previous add/del work has been completed first.

    Based on a report by Marc Pignat

    Signed-off-by: Marcel Holtmann
    Tested-by: Justin P. Mattock
    Tested-by: Roger Quadros
    Tested-by: Marc Pignat

    Marcel Holtmann
     
  • This introduces a CDC Ethernet Emulation Model (EEM) host side
    driver to support USB EEM devices.

    EEM is different from the Ethernet Control Model (ECM) currently
    supported by the "CDC Ethernet" driver. One key difference is
    that it doesn't require of USB interface alternate settings to
    manage interface state; some maldesigned hardware can't handle
    that part of USB. It also avoids a separate USB interface for
    control and status updates.

    [ dbrownell@users.sourceforge.net: fix skb leaks, add rx packet
    checks, improve fault handling, EEM conformance updates, cleanup ]

    Signed-off-by: Omar Laazimani
    Signed-off-by: David Brownell
    Signed-off-by: David S. Miller

    Omar Laazimani
     
  • Commit 7ad728f98162cb1af06a85b2a5fc422dddd4fb78
    (cpumask: x86: convert cpu_sibling_map/cpu_core_map to cpumask_var_t)
    changed the output of /proc/cpuinfo for siblings:

    Example on an AMD Phenom:

    physical id : 0
    siblings : 1
    core id : 3
    cpu cores : 4

    Before that commit it was:

    physical id : 0
    siblings : 4
    core id : 3
    cpu cores : 4

    Instead of cpu_core_mask it now uses cpu_sibling_mask to count siblings.
    This is due to the following hunk of above commit:

    | --- a/arch/x86/kernel/cpu/proc.c
    | +++ b/arch/x86/kernel/cpu/proc.c
    | @@ -14,7 +14,7 @@ static void show_cpuinfo_core(struct seq_file *m, struct cpuinf
    | if (c->x86_max_cores * smp_num_siblings > 1) {
    | seq_printf(m, "physical id\t: %d\n", c->phys_proc_id);
    | seq_printf(m, "siblings\t: %d\n",
    | - cpus_weight(per_cpu(cpu_core_map, cpu)));
    | + cpumask_weight(cpu_sibling_mask(cpu)));
    | seq_printf(m, "core id\t\t: %d\n", c->cpu_core_id);
    | seq_printf(m, "cpu cores\t: %d\n", c->booted_cores);
    | seq_printf(m, "apicid\t\t: %d\n", c->apicid);

    This was a mistake, because the impact line shows that this side-effect
    was not anticipated:

    Impact: reduce per-cpu size for CONFIG_CPUMASK_OFFSTACK=y

    So revert the respective hunk to restore the old behavior.

    [ Impact: fix sibling-info regression in /proc/cpuinfo ]

    Signed-off-by: Andreas Herrmann
    Cc: Rusty Russell
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Andreas Herrmann
     
  • tcp_prequeue() refers to the constant value (TCP_RTO_MIN) regardless of
    the actual value might be tuned. The following patches fix this and make
    tcp_prequeue get the actual value returns from tcp_rto_min().

    Signed-off-by: Satoru SATOH
    Signed-off-by: David S. Miller

    Satoru SATOH
     
  • This patch fixes an invalid pointer access in case the receive queue
    holds no pointer to the next skb when the queue is empty.

    Signed-off-by: Hannes Hering
    Signed-off-by: Jan-Bernd Themann
    Signed-off-by: David S. Miller

    Hannes Hering
     

04 May, 2009

5 commits