[patch 00/47] 2.6.25-stable review - Kernel

This is a discussion on [patch 00/47] 2.6.25-stable review - Kernel ; 2.6.25-stable review patch. If anyone has any objections, please let us know. ------------------ From: Joonwoo Park Upstream commit aebb6a849cfe7d89bcacaaecc20a480dfc1180e7 The current logic has a bug which cannot find matching pattern, if the pattern is matched from the first character of ...

+ Reply to Thread
Page 2 of 3 FirstFirst 1 2 3 LastLast
Results 21 to 40 of 54

Thread: [patch 00/47] 2.6.25-stable review

  1. [patch 27/47] textsearch: fix Boyer-Moore text search bug

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Joonwoo Park

    Upstream commit aebb6a849cfe7d89bcacaaecc20a480dfc1180e7

    The current logic has a bug which cannot find matching pattern, if the
    pattern is matched from the first character of target string.
    for example:
    pattern=abc, string=abcdefg
    pattern=a, string=abcdefg
    Searching algorithm should return 0 for those things.

    Signed-off-by: Joonwoo Park
    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    ---
    lib/ts_bm.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/lib/ts_bm.c
    +++ b/lib/ts_bm.c
    @@ -63,7 +63,7 @@ static unsigned int bm_find(struct ts_co
    struct ts_bm *bm = ts_config_priv(conf);
    unsigned int i, text_len, consumed = state->offset;
    const u8 *text;
    - int shift = bm->patlen, bs;
    + int shift = bm->patlen - 1, bs;

    for (; {
    text_len = conf->get_next_block(consumed, &text, conf, state);

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. [patch 11/47] USB: ehci - fix timer regression

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: David Brownell

    commit 056761e55c8687ddf3db14226213f2e8dc2689bc upstream

    This patch fixes a regression in the EHCI driver's TIMER_IO_WATCHDOG
    behavior. The patch "USB: EHCI: add separate IAA watchdog timer" changed
    how that timer is handled, so that short timeouts on the remaining
    timer (unfortunately, overloaded) would never be used.

    This takes a more direct approach, reorganizing the code slightly to
    be explicit about only the I/O watchdog role now being overridable.
    It also replaces a now-obsolete comment describing older timer behavior.

    Signed-off-by: David Brownell
    Cc: Alan Stern
    Cc: Leonid
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/usb/host/ehci.h | 19 ++++++++++---------
    1 file changed, 10 insertions(+), 9 deletions(-)

    --- a/drivers/usb/host/ehci.h
    +++ b/drivers/usb/host/ehci.h
    @@ -176,6 +176,15 @@ timer_action_done (struct ehci_hcd *ehci
    static inline void
    timer_action (struct ehci_hcd *ehci, enum ehci_timer_action action)
    {
    + /* Don't override timeouts which shrink or (later) disable
    + * the async ring; just the I/O watchdog. Note that if a
    + * SHRINK were pending, OFF would never be requested.
    + */
    + if (timer_pending(&ehci->watchdog)
    + && ((BIT(TIMER_ASYNC_SHRINK) | BIT(TIMER_ASYNC_OFF))
    + & ehci->actions))
    + return;
    +
    if (!test_and_set_bit (action, &ehci->actions)) {
    unsigned long t;

    @@ -191,15 +200,7 @@ timer_action (struct ehci_hcd *ehci, enu
    t = EHCI_SHRINK_JIFFIES;
    break;
    }
    - t += jiffies;
    - // all timings except IAA watchdog can be overridden.
    - // async queue SHRINK often precedes IAA. while it's ready
    - // to go OFF neither can matter, and afterwards the IO
    - // watchdog stops unless there's still periodic traffic.
    - if (time_before_eq(t, ehci->watchdog.expires)
    - && timer_pending (&ehci->watchdog))
    - return;
    - mod_timer (&ehci->watchdog, t);
    + mod_timer(&ehci->watchdog, t + jiffies);
    }
    }


    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. [patch 09/47] block: Properly notify block layer of sync writes

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Jens Axboe

    commit 18ce3751ccd488c78d3827e9f6bf54e6322676fb upstream

    fsync_buffers_list() and sync_dirty_buffer() both issue async writes and
    then immediately wait on them. Conceptually, that makes them sync writes
    and we should treat them as such so that the IO schedulers can handle
    them appropriately.

    This patch fixes a write starvation issue that Lin Ming reported, where
    xx is stuck for more than 2 minutes because of a large number of
    synchronous IO in the system:

    INFO: task kjournald:20558 blocked for more than 120 seconds.
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
    message.
    kjournald D ffff810010820978 6712 20558 2
    ffff81022ddb1d10 0000000000000046 ffff81022e7baa10 ffffffff803ba6f2
    ffff81022ecd0000 ffff8101e6dc9160 ffff81022ecd0348 000000008048b6cb
    0000000000000086 ffff81022c4e8d30 0000000000000000 ffffffff80247537
    Call Trace:
    [] kobject_get+0x12/0x17
    [] getnstimeofday+0x2f/0x83
    [] sync_buffer+0x0/0x3f
    [] io_schedule+0x5d/0x9f
    [] sync_buffer+0x3b/0x3f
    [] __wait_on_bit+0x40/0x6f
    [] sync_buffer+0x0/0x3f
    [] out_of_line_wait_on_bit+0x6c/0x78
    [] wake_bit_function+0x0/0x23
    [] sync_dirty_buffer+0x98/0xcb
    [] journal_commit_transaction+0x97d/0xcb6
    [] lock_timer_base+0x26/0x4b
    [] kjournald+0xc1/0x1fb
    [] autoremove_wake_function+0x0/0x2e
    [] kjournald+0x0/0x1fb
    [] kthread+0x47/0x74
    [] schedule_tail+0x28/0x5d
    [] child_rip+0xa/0x12
    [] kthread+0x0/0x74
    [] child_rip+0x0/0x12

    Lin Ming confirms that this patch fixes the issue. I've run tests with
    it for the past week and no ill effects have been observed, so I'm
    proposing it for inclusion into 2.6.26.

    Signed-off-by: Jens Axboe
    Signed-off-by: Greg Kroah-Hartman

    ---
    fs/buffer.c | 13 ++++++++-----
    include/linux/fs.h | 1 +
    2 files changed, 9 insertions(+), 5 deletions(-)

    --- a/fs/buffer.c
    +++ b/fs/buffer.c
    @@ -818,7 +818,7 @@ static int fsync_buffers_list(spinlock_t
    * contents - it is a noop if I/O is still in
    * flight on potentially older contents.
    */
    - ll_rw_block(SWRITE, 1, &bh);
    + ll_rw_block(SWRITE_SYNC, 1, &bh);
    brelse(bh);
    spin_lock(lock);
    }
    @@ -2952,16 +2952,19 @@ void ll_rw_block(int rw, int nr, struct
    for (i = 0; i < nr; i++) {
    struct buffer_head *bh = bhs[i];

    - if (rw == SWRITE)
    + if (rw == SWRITE || rw == SWRITE_SYNC)
    lock_buffer(bh);
    else if (test_set_buffer_locked(bh))
    continue;

    - if (rw == WRITE || rw == SWRITE) {
    + if (rw == WRITE || rw == SWRITE || rw == SWRITE_SYNC) {
    if (test_clear_buffer_dirty(bh)) {
    bh->b_end_io = end_buffer_write_sync;
    get_bh(bh);
    - submit_bh(WRITE, bh);
    + if (rw == SWRITE_SYNC)
    + submit_bh(WRITE_SYNC, bh);
    + else
    + submit_bh(WRITE, bh);
    continue;
    }
    } else {
    @@ -2990,7 +2993,7 @@ int sync_dirty_buffer(struct buffer_head
    if (test_clear_buffer_dirty(bh)) {
    get_bh(bh);
    bh->b_end_io = end_buffer_write_sync;
    - ret = submit_bh(WRITE, bh);
    + ret = submit_bh(WRITE_SYNC, bh);
    wait_on_buffer(bh);
    if (buffer_eopnotsupp(bh)) {
    clear_buffer_eopnotsupp(bh);
    --- a/include/linux/fs.h
    +++ b/include/linux/fs.h
    @@ -83,6 +83,7 @@ extern int dir_notify_enable;
    #define READ_SYNC (READ | (1 << BIO_RW_SYNC))
    #define READ_META (READ | (1 << BIO_RW_META))
    #define WRITE_SYNC (WRITE | (1 << BIO_RW_SYNC))
    +#define SWRITE_SYNC (SWRITE | (1 << BIO_RW_SYNC))
    #define WRITE_BARRIER ((1 << BIO_RW) | (1 << BIO_RW_BARRIER))

    #define SEL_IN 1

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. [patch 31/47] slub: Fix use-after-preempt of per-CPU data structure

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Dmitry Adamushko

    commit bdb21928512a860a60e6a24a849dc5b63cbaf96a upstream

    Vegard Nossum reported a crash in kmem_cache_alloc():

    BUG: unable to handle kernel paging request at da87d000
    IP: [] kmem_cache_alloc+0xc7/0xe0
    *pde = 28180163 *pte = 1a87d160
    Oops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC
    Pid: 3850, comm: grep Not tainted (2.6.26-rc9-00059-gb190333 #5)
    EIP: 0060:[] EFLAGS: 00210203 CPU: 0
    EIP is at kmem_cache_alloc+0xc7/0xe0
    EAX: 00000000 EBX: da87c100 ECX: 1adad71a EDX: 6b6b6b6b
    ESI: 00200282 EDI: da87d000 EBP: f60bfe74 ESP: f60bfe54
    DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068

    and analyzed it:

    "The register %ecx looks innocent but is very important here. The disassembly:

    mov %edx,%ecx
    shr $0x2,%ecx
    rep stos %eax,%es%edi) <-- the fault

    So %ecx has been loaded from %edx... which is 0x6b6b6b6b/POISON_FREE.
    (0x6b6b6b6b >> 2 == 0x1adadada.)

    %ecx is the counter for the memset, from here:

    memset(object, 0, c->objsize);

    i.e. %ecx was loaded from c->objsize, so "c" must have been freed.
    Where did "c" come from? Uh-oh...

    c = get_cpu_slab(s, smp_processor_id());

    This looks like it has very much to do with CPU hotplug/unplug. Is
    there a race between SLUB/hotplug since the CPU slab is used after it
    has been freed?"

    Good analysis.

    Yeah, it's possible that a caller of kmem_cache_alloc() -> slab_alloc()
    can be migrated on another CPU right after local_irq_restore() and
    before memset(). The inital cpu can become offline in the mean time (or
    a migration is a consequence of the CPU going offline) so its
    'kmem_cache_cpu' structure gets freed ( slab_cpuup_callback).

    At some point of time the caller continues on another CPU having an
    obsolete pointer...

    Signed-off-by: Dmitry Adamushko
    Reported-by: Vegard Nossum
    Acked-by: Ingo Molnar
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    mm/slub.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/mm/slub.c
    +++ b/mm/slub.c
    @@ -1575,9 +1575,11 @@ static __always_inline void *slab_alloc(
    void **object;
    struct kmem_cache_cpu *c;
    unsigned long flags;
    + unsigned int objsize;

    local_irq_save(flags);
    c = get_cpu_slab(s, smp_processor_id());
    + objsize = c->objsize;
    if (unlikely(!c->freelist || !node_match(c, node)))

    object = __slab_alloc(s, gfpflags, node, addr, c);
    @@ -1590,7 +1592,7 @@ static __always_inline void *slab_alloc(
    local_irq_restore(flags);

    if (unlikely((gfpflags & __GFP_ZERO) && object))
    - memset(object, 0, c->objsize);
    + memset(object, 0, objsize);

    return object;
    }

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. [patch 20/47] mm: switch node meminfo Active & Inactive pages to Kbytes

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: John Blackwood

    commit 2d5c1be8870383622809c25935fff00d2630c7a5 upstream

    There is a bug in the output of /sys/devices/system/node/node[n]/meminfo
    where the Active and Inactive values are in pages instead of Kbytes.

    Looks like this occurred back in 2.6.20 when the code was changed
    over to use node_page_state().

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/base/node.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/drivers/base/node.c
    +++ b/drivers/base/node.c
    @@ -70,8 +70,8 @@ static ssize_t node_read_meminfo(struct
    nid, K(i.totalram),
    nid, K(i.freeram),
    nid, K(i.totalram - i.freeram),
    - nid, node_page_state(nid, NR_ACTIVE),
    - nid, node_page_state(nid, NR_INACTIVE),
    + nid, K(node_page_state(nid, NR_ACTIVE)),
    + nid, K(node_page_state(nid, NR_INACTIVE)),
    #ifdef CONFIG_HIGHMEM
    nid, K(i.totalhigh),
    nid, K(i.freehigh),

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  6. [patch 19/47] SCSI: ses: Fix timeout

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Matthew Wilcox

    commit c95e62ce8905aab62fed224eaaa9b8558a0ef652 upstream

    Timeouts are measured in jiffies, not in seconds.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: James Bottomley
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/scsi/ses.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/scsi/ses.c
    +++ b/drivers/scsi/ses.c
    @@ -61,7 +61,7 @@ static int ses_probe(struct device *dev)
    return err;
    }

    -#define SES_TIMEOUT 30
    +#define SES_TIMEOUT (30 * HZ)
    #define SES_RETRIES 3

    static int ses_recv_diag(struct scsi_device *sdev, int page_code,

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  7. [patch 25/47] sisusbvga: Fix oops on disconnect.

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Will Newton

    commit f15e39739a1d7dfaa2173a91707a74c11a246648 upstream

    Remove dev_info call on disconnect. The sisusb_dev pointer may have been
    set to zero by sisusb_delete at this point causing an oops.

    The message does not provide any extra information over the standard USB
    subsystem output so removing it does not affect functionality.

    Signed-off-by: Will Newton
    Cc: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/usb/misc/sisusbvga/sisusb.c | 2 --
    1 file changed, 2 deletions(-)

    --- a/drivers/usb/misc/sisusbvga/sisusb.c
    +++ b/drivers/usb/misc/sisusbvga/sisusb.c
    @@ -3264,8 +3264,6 @@ static void sisusb_disconnect(struct usb

    /* decrement our usage count */
    kref_put(&sisusb->kref, sisusb_delete);
    -
    - dev_info(&sisusb->sisusb_dev->dev, "Disconnected\n");
    }

    static struct usb_device_id sisusb_table [] = {

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  8. [patch 16/47] netdrvr: 3c59x: remove irqs_disabled warning from local_bh_enable

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Ingo Molnar

    commit c5643cab7bf663ae049b11be43de8819683176dd upstream

    Original Author: Michael Buesch

    net, vortex: fix lockup

    Ingo Molnar reported:

    -tip testing found that Johannes Berg's "softirq: remove irqs_disabled
    warning from local_bh_enable" enhancement to lockdep triggers a new
    warning on an old testbox that uses 3c59x vortex and netlogging:

    ----->
    calling vortex_init+0x0/0xb0
    PCI: Found IRQ 10 for device 0000:00:0b.0
    PCI: Sharing IRQ 10 with 0000:00:0a.0
    PCI: Sharing IRQ 10 with 0000:00:0b.1
    3c59x: Donald Becker and others.
    0000:00:0b.0: 3Com PCI 3c556 Laptop Tornado at e0800400.
    PCI: Enabling bus mastering for device 0000:00:0b.0
    initcall vortex_init+0x0/0xb0 returned 0 after 47 msecs
    ...
    calling init_netconsole+0x0/0x1b0
    netconsole: local port 4444
    netconsole: local IP 10.0.1.9
    netconsole: interface eth0
    netconsole: remote port 4444
    netconsole: remote IP 10.0.1.16
    netconsole: remote ethernet address 00:19:xx:xx:xx:xx
    netconsole: device eth0 not up yet, forcing it
    eth0: setting half-duplex.
    eth0: setting full-duplex.
    ------------[ cut here ]------------
    WARNING: at kernel/softirq.c:137 local_bh_enable_ip+0xd1/0xe0()
    Pid: 1, comm: swapper Not tainted 2.6.26-rc6-tip #2091
    [] warn_on_slowpath+0x4f/0x70
    [] ? release_console_sem+0x1b4/0x1d0
    [] ? vprintk+0x2a0/0x450
    [] ? __mod_timer+0xa5/0xc0
    [] ? mdio_sync+0x3d/0x50
    [] ? marker_probe_cb+0x46/0xa0
    [] ? printk+0x27/0x50
    [] ? vortex_set_duplex+0x43/0xc0
    [] ? vortex_set_duplex+0xa1/0xc0
    [] ? vortex_timer+0xe2/0x3e0
    [] local_bh_enable_ip+0xd1/0xe0
    [] _spin_unlock_bh+0x2f/0x40
    [] vortex_timer+0xe2/0x3e0
    [] ? trace_hardirqs_on+0xb/0x10
    [] ? trace_hardirqs_on_caller+0x88/0x160
    [] run_timer_softirq+0x162/0x1c0
    [] ? vortex_timer+0x0/0x3e0
    [] local_bh_enable_ip+0xd1/0xe0
    [] _spin_unlock_bh+0x2f/0x40
    [] vortex_timer+0xe2/0x3e0
    [] ? trace_hardirqs_on+0xb/0x10
    [] ? trace_hardirqs_on_caller+0x88/0x160
    [] run_timer_softirq+0x162/0x1c0
    [] ? vortex_timer+0x0/0x3e0
    [] ? vortex_timer+0x0/0x3e0
    [] __do_softirq+0x9a/0x160
    [] ? __do_softirq+0x0/0x160
    [] call_on_stack+0x15/0x30
    [] ? irq_exit+0x55/0x60
    [] ? do_IRQ+0x85/0xd0
    [] ? trace_hardirqs_on_caller+0xc1/0x160
    [] ? common_interrupt+0x28/0x30
    [] ? mutex_unlock+0x8/0x10
    [] ? _cond_resched+0x10/0x30
    [] ? netpoll_setup+0x117/0x390
    [] ? init_netconsole+0x14e/0x1b0
    [] ? ktime_get+0x19/0x40
    [] ? kernel_init+0x1b2/0x2c0
    [] ? init_netconsole+0x0/0x1b0
    [] ? trace_hardirqs_on_thunk+0xc/0x10
    [] ? restore_nocheck_notrace+0x0/0xe
    [] ? kernel_init+0x0/0x2c0
    [] ? kernel_init+0x0/0x2c0
    [] ? kernel_thread_helper+0x7/0x10
    =======================
    ---[ end trace 37f9c502aff112e0 ]---
    console [netcon0] enabled
    netconsole: network logging started
    initcall init_netconsole+0x0/0x1b0 returned 0 after 2914 msecs

    looking at the driver I think the bug is real and the fix actually
    is trivial.

    vp->lock is also taken in hardware IRQ context, so we _have_ to always
    use irqsafe locking. As we run in a timer with IRQs disabled,
    we can simply use spin_lock.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Jeff Garzik
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/net/3c59x.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    --- a/drivers/net/3c59x.c
    +++ b/drivers/net/3c59x.c
    @@ -1769,9 +1769,10 @@ vortex_timer(unsigned long data)
    case XCVR_MII: case XCVR_NWAY:
    {
    ok = 1;
    - spin_lock_bh(&vp->lock);
    + /* Interrupts are already disabled */
    + spin_lock(&vp->lock);
    vortex_check_media(dev, 0);
    - spin_unlock_bh(&vp->lock);
    + spin_unlock(&vp->lock);
    }
    break;
    default: /* Other media types handled by Tx timeouts. */

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  9. [patch 35/47] cifs: fix wksidarr declaration to be big-endian friendly

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Jeff Layton

    commit 536abdb0802f3fac1b217530741853843d63c281 upstream

    The current definition of wksidarr works fine on little endian arches
    (since cpu_to_le32 is a no-op there), but on big-endian arches, it fails
    to compile with this error:

    error: braced-group within expression allowed only inside a function

    The problem is that this static declaration has cpu_to_le32 embedded
    within it, and that expands into a function macro. We need to use
    __constant_cpu_to_le32() instead.

    Signed-off-by: Jeff Layton
    Cc: Steven French
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    fs/cifs/cifsacl.c | 10 +++++-----
    1 file changed, 5 insertions(+), 5 deletions(-)

    --- a/fs/cifs/cifsacl.c
    +++ b/fs/cifs/cifsacl.c
    @@ -34,11 +34,11 @@
    static struct cifs_wksid wksidarr[NUM_WK_SIDS] = {
    {{1, 0, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0} }, "null user"},
    {{1, 1, {0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0} }, "nobody"},
    - {{1, 1, {0, 0, 0, 0, 0, 5}, {cpu_to_le32(11), 0, 0, 0, 0} }, "net-users"},
    - {{1, 1, {0, 0, 0, 0, 0, 5}, {cpu_to_le32(18), 0, 0, 0, 0} }, "sys"},
    - {{1, 2, {0, 0, 0, 0, 0, 5}, {cpu_to_le32(32), cpu_to_le32(544), 0, 0, 0} }, "root"},
    - {{1, 2, {0, 0, 0, 0, 0, 5}, {cpu_to_le32(32), cpu_to_le32(545), 0, 0, 0} }, "users"},
    - {{1, 2, {0, 0, 0, 0, 0, 5}, {cpu_to_le32(32), cpu_to_le32(546), 0, 0, 0} }, "guest"} }
    + {{1, 1, {0, 0, 0, 0, 0, 5}, {__constant_cpu_to_le32(11), 0, 0, 0, 0} }, "net-users"},
    + {{1, 1, {0, 0, 0, 0, 0, 5}, {__constant_cpu_to_le32(18), 0, 0, 0, 0} }, "sys"},
    + {{1, 2, {0, 0, 0, 0, 0, 5}, {__constant_cpu_to_le32(32), __constant_cpu_to_le32(544), 0, 0, 0} }, "root"},
    + {{1, 2, {0, 0, 0, 0, 0, 5}, {__constant_cpu_to_le32(32), __constant_cpu_to_le32(545), 0, 0, 0} }, "users"},
    + {{1, 2, {0, 0, 0, 0, 0, 5}, {__constant_cpu_to_le32(32), __constant_cpu_to_le32(546), 0, 0, 0} }, "guest"} }
    ;



    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  10. [patch 42/47] crypto: chainiv - Invoke completion function

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Herbert Xu

    Upstream commit: 872ac8743cb400192a9fce4ba2d3ffd7bb309685

    When chainiv postpones requests it never calls their completion functions.
    This causes symptoms such as memory leaks when IPsec is in use.

    Signed-off-by: Herbert Xu
    Signed-off-by: Greg Kroah-Hartman

    ---
    crypto/chainiv.c | 10 ++++++++--
    1 file changed, 8 insertions(+), 2 deletions(-)

    --- a/crypto/chainiv.c
    +++ b/crypto/chainiv.c
    @@ -117,6 +117,7 @@ static int chainiv_init(struct crypto_tf
    static int async_chainiv_schedule_work(struct async_chainiv_ctx *ctx)
    {
    int queued;
    + int err = ctx->err;

    if (!ctx->queue.qlen) {
    smp_mb__before_clear_bit();
    @@ -131,7 +132,7 @@ static int async_chainiv_schedule_work(s
    BUG_ON(!queued);

    out:
    - return ctx->err;
    + return err;
    }

    static int async_chainiv_postpone_request(struct skcipher_givcrypt_request *req)
    @@ -227,6 +228,7 @@ static void async_chainiv_do_postponed(s
    postponed);
    struct skcipher_givcrypt_request *req;
    struct ablkcipher_request *subreq;
    + int err;

    /* Only handle one request at a time to avoid hogging keventd. */
    spin_lock_bh(&ctx->lock);
    @@ -241,7 +243,11 @@ static void async_chainiv_do_postponed(s
    subreq = skcipher_givcrypt_reqctx(req);
    subreq->base.flags |= CRYPTO_TFM_REQ_MAY_SLEEP;

    - async_chainiv_givencrypt_tail(req);
    + err = async_chainiv_givencrypt_tail(req);
    +
    + local_bh_disable();
    + skcipher_givcrypt_complete(req, err);
    + local_bh_enable();
    }

    static int async_chainiv_init(struct crypto_tfm *tfm)

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  11. [patch 34/47] tpm: add Intel TPM TIS device HID

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Marcin Obara

    commit fb0e7e11d017beb5f0b1fa25bc51e49e65c46d67 upstream

    This patch adds Intel TPM TIS device HID: ICO0102

    Signed-off-by: Marcin Obara
    Acked-by: Marcel Selhorst
    Acked-by: Rajiv Andrade
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/char/tpm/tpm_tis.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/char/tpm/tpm_tis.c
    +++ b/drivers/char/tpm/tpm_tis.c
    @@ -623,6 +623,7 @@ static struct pnp_device_id tpm_pnp_tbl[
    {"IFX0102", 0}, /* Infineon */
    {"BCM0101", 0}, /* Broadcom */
    {"NSC1200", 0}, /* National */
    + {"ICO0102", 0}, /* Intel */
    /* Add new here */
    {"", 0}, /* User Specified */
    {"", 0} /* Terminator */

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  12. [patch 43/47] powerpc: Add missing reference to coherent_dma_mask

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Vitaly Bordug

    commit ba0fc709e197415aadd46b9ec208dc4abaa21edd upstream

    There is dma_mask in of_device upon of_platform_device_create()
    but we don't actually set coherent_dma_mask. This may cause weird
    behavior of USB subsystem using of_device USB host drivers.

    Signed-off-by: Vitaly Bordug
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    arch/powerpc/kernel/of_platform.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/arch/powerpc/kernel/of_platform.c
    +++ b/arch/powerpc/kernel/of_platform.c
    @@ -76,6 +76,8 @@ struct of_device* of_platform_device_cre
    return NULL;

    dev->dma_mask = 0xffffffffUL;
    + dev->dev.coherent_dma_mask = DMA_32BIT_MASK;
    +
    dev->dev.bus = &of_platform_bus_type;

    /* We do not fill the DMA ops for platform devices by default.

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  13. [patch 33/47] rapidio: fix device reference counting

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Eugene Surovegin

    commit a7de3902edce099e4102c1272ec0ab569c1791f7 upstream

    Fix RapidIO device reference counting.

    Signed-of-by: Eugene Surovegin
    Cc: Matt Porter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/rapidio/rio-driver.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/rapidio/rio-driver.c
    +++ b/drivers/rapidio/rio-driver.c
    @@ -101,8 +101,8 @@ static int rio_device_probe(struct devic
    if (error >= 0) {
    rdev->driver = rdrv;
    error = 0;
    + } else
    rio_dev_put(rdev);
    - }
    }
    return error;
    }

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  14. [patch 38/47] fbdev: bugfix for multiprocess defio

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Jaya Kumar

    commit f31ad92f34913043cf008d6e479e92dfbaf02df1 upstream

    This patch is a bugfix for how defio handles multiple processes manipulating
    the same framebuffer.

    Thanks to Bernard Blackham for identifying this bug.

    It occurs when two applications mmap the same framebuffer and concurrently
    write to the same page. Normally, this doesn't occur since only a single
    process mmaps the framebuffer. The symptom of the bug is that the mapping
    applications will hang. The cause is that defio incorrectly tries to add the
    same page twice to the pagelist. The solution I have is to walk the pagelist
    and check for a duplicate before adding. Since I needed to walk the pagelist,
    I now also keep the pagelist in sorted order.

    Signed-off-by: Jaya Kumar
    Cc: Bernard Blackham
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/video/fb_defio.c | 20 +++++++++++++++++++-
    1 file changed, 19 insertions(+), 1 deletion(-)

    --- a/drivers/video/fb_defio.c
    +++ b/drivers/video/fb_defio.c
    @@ -74,6 +74,7 @@ static int fb_deferred_io_mkwrite(struct
    {
    struct fb_info *info = vma->vm_private_data;
    struct fb_deferred_io *fbdefio = info->fbdefio;
    + struct page *cur;

    /* this is a callback we get when userspace first tries to
    write to the page. we schedule a workqueue. that workqueue
    @@ -83,7 +84,24 @@ static int fb_deferred_io_mkwrite(struct

    /* protect against the workqueue changing the page list */
    mutex_lock(&fbdefio->lock);
    - list_add(&page->lru, &fbdefio->pagelist);
    +
    + /* we loop through the pagelist before adding in order
    + to keep the pagelist sorted */
    + list_for_each_entry(cur, &fbdefio->pagelist, lru) {
    + /* this check is to catch the case where a new
    + process could start writing to the same page
    + through a new pte. this new access can cause the
    + mkwrite even when the original ps's pte is marked
    + writable */
    + if (unlikely(cur == page))
    + goto page_already_added;
    + else if (cur->index > page->index)
    + break;
    + }
    +
    + list_add_tail(&page->lru, &cur->lru);
    +
    +page_already_added:
    mutex_unlock(&fbdefio->lock);

    /* come back after delay to process the deferred IO */

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  15. [patch 32/47] rtc: fix reported IRQ rate for when HPET is enabled

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Paul Gortmaker

    commit 61ca9daa2ca3022dc9cb22bd98e69c1b61e412ad upstream

    The IRQ rate reported back by the RTC is incorrect when HPET is enabled.

    Newer hardware that has HPET to emulate the legacy RTC device gets this value
    wrong since after it sets the rate, it returns before setting the variable
    used to report the IRQ rate back to users of the device -- so the set rate and
    the reported rate get out of sync.

    Signed-off-by: Paul Gortmaker
    Cc: Ingo Molnar
    Cc: David Brownell
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/char/rtc.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/char/rtc.c
    +++ b/drivers/char/rtc.c
    @@ -677,12 +677,13 @@ static int rtc_do_ioctl(unsigned int cmd
    if (arg != (1< return -EINVAL;

    + rtc_freq = arg;
    +
    spin_lock_irqsave(&rtc_lock, flags);
    if (hpet_set_periodic_freq(arg)) {
    spin_unlock_irqrestore(&rtc_lock, flags);
    return 0;
    }
    - rtc_freq = arg;

    val = CMOS_READ(RTC_FREQ_SELECT) & 0xf0;
    val |= (16 - tmp);

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  16. [patch 41/47] SCSI: mptspi: fix oops in mptspi_dv_renegotiate_work()

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: James Bottomley

    commit 081a5bcb39b455405d58f79bb3c9398a9d4477ed upstream

    The problem here is that if the ioc faults too early in the bring up
    sequence (as it usually does for an irq routing problem), ioc_reset gets
    called before the scsi host is even allocated. This causes an oops when
    it later schedules a renegotiation. Fix this by checking ioc->sh before
    trying to renegotiate.

    Cc: Eric Moore
    Signed-off-by: James Bottomley
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/message/fusion/mptspi.c | 9 +++++++--
    1 file changed, 7 insertions(+), 2 deletions(-)

    --- a/drivers/message/fusion/mptspi.c
    +++ b/drivers/message/fusion/mptspi.c
    @@ -1266,13 +1266,18 @@ mptspi_dv_renegotiate(struct _MPT_SCSI_H
    static int
    mptspi_ioc_reset(MPT_ADAPTER *ioc, int reset_phase)
    {
    - struct _MPT_SCSI_HOST *hd = shost_priv(ioc->sh);
    int rc;

    rc = mptscsih_ioc_reset(ioc, reset_phase);

    - if (reset_phase == MPT_IOC_POST_RESET)
    + /* only try to do a renegotiation if we're properly set up
    + * if we get an ioc fault on bringup, ioc->sh will be NULL */
    + if (reset_phase == MPT_IOC_POST_RESET &&
    + ioc->sh) {
    + struct _MPT_SCSI_HOST *hd = shost_priv(ioc->sh);
    +
    mptspi_dv_renegotiate(hd);
    + }

    return rc;
    }

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  17. [patch 45/47] mmc: dont use DMA on newer ENE controllers

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Pierre Ossman

    commit bf5b1935d8e42b36a34645788eb261461fe07f2e upstream.

    Even the newer ENE controllers have bugs in their DMA engine that make
    it too dangerous to use. Disable it until someone has figured out under
    which conditions it corrupts data.

    This has caused problems at least once, and can be found as bug report
    10925 in the kernel bugzilla.

    Signed-off-by: Pierre Ossman
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/mmc/host/sdhci.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    --- a/drivers/mmc/host/sdhci.c
    +++ b/drivers/mmc/host/sdhci.c
    @@ -109,7 +109,8 @@ static const struct pci_device_id pci_id
    .subvendor = PCI_ANY_ID,
    .subdevice = PCI_ANY_ID,
    .driver_data = SDHCI_QUIRK_SINGLE_POWER_WRITE |
    - SDHCI_QUIRK_RESET_CMD_DATA_ON_IOS,
    + SDHCI_QUIRK_RESET_CMD_DATA_ON_IOS |
    + SDHCI_QUIRK_BROKEN_DMA,
    },

    {
    @@ -118,7 +119,8 @@ static const struct pci_device_id pci_id
    .subvendor = PCI_ANY_ID,
    .subdevice = PCI_ANY_ID,
    .driver_data = SDHCI_QUIRK_SINGLE_POWER_WRITE |
    - SDHCI_QUIRK_RESET_CMD_DATA_ON_IOS,
    + SDHCI_QUIRK_RESET_CMD_DATA_ON_IOS |
    + SDHCI_QUIRK_BROKEN_DMA,
    },

    {

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  18. [patch 40/47] drivers/char/pcmcia/ipwireless/hardware.c fix resource leak

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Darren Jenkins

    commit 43f77e91eadbc290eb76a08110a039c809dde6c9 upstream

    Coverity CID: 2172 RESOURCE_LEAK

    When pool_allocate() tries to enlarge a packet, if it can not allocate enough
    memory, it returns NULL without first freeing the old packet.

    This patch just frees the packet first.

    Signed-off-by: Darren Jenkins
    Acked-by: Jiri Kosina
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/char/pcmcia/ipwireless/hardware.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/char/pcmcia/ipwireless/hardware.c
    +++ b/drivers/char/pcmcia/ipwireless/hardware.c
    @@ -616,8 +616,10 @@ static struct ipw_rx_packet *pool_alloca
    packet = kmalloc(sizeof(struct ipw_rx_packet) +
    old_packet->length + minimum_free_space,
    GFP_ATOMIC);
    - if (!packet)
    + if (!packet) {
    + kfree(old_packet);
    return NULL;
    + }
    memcpy(packet, old_packet,
    sizeof(struct ipw_rx_packet)
    + old_packet->length);

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  19. [patch 36/47] ov7670: clean up ov7670_read semantics

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Andres Salomon

    commit bca5c2c550f16d2dc2d21ffb7b4712bd0a7d32a9 upstream

    Cortland Setlow pointed out a bug in ov7670.c where the result from
    ov7670_read() was just being checked for !0, rather than <0. This made me
    realize that ov7670_read's semantics were rather confusing; it both fills
    in 'value' with the result, and returns it. This is goes against general
    kernel convention; so rather than fixing callers, let's fix the function.

    This makes ov7670_read return <0 in the case of an error, and 0 upon
    success. Thus, code like:

    res = ov7670_read(...);
    if (!res)
    goto error;

    ..will work properly.

    Signed-off-by: Cortland Setlow
    Signed-off-by: Andres Salomon
    Acked-by: Jonathan Corbet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/media/video/ov7670.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/drivers/media/video/ov7670.c
    +++ b/drivers/media/video/ov7670.c
    @@ -406,8 +406,10 @@ static int ov7670_read(struct i2c_client
    int ret;

    ret = i2c_smbus_read_byte_data(c, reg);
    - if (ret >= 0)
    + if (ret >= 0) {
    *value = (unsigned char) ret;
    + ret = 0;
    + }
    return ret;
    }


    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  20. [patch 47/47] V4L/DVB (7475): Added support for Terratec Cinergy T USB XXS

    2.6.25-stable review patch. If anyone has any objections, please let us
    know.

    ------------------
    From: Alexander Simon

    commit dc88807ed61ed0fc0d57bd80a92508b9de638f5d upstream.


    Alexander Simon found out that the Terratec Cinergy T USB XXS is just a
    clone of another DiB7070P-based device.

    Signed-off-by: Patrick Boettcher
    Signed-off-by: Mauro Carvalho Chehab
    Cc: Ludwig Nussel
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/media/dvb/dvb-usb/dib0700_devices.c | 7 ++++++-
    drivers/media/dvb/dvb-usb/dvb-usb-ids.h | 3 ++-
    2 files changed, 8 insertions(+), 2 deletions(-)

    --- a/drivers/media/dvb/dvb-usb/dib0700_devices.c
    +++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c
    @@ -1062,6 +1062,7 @@ struct usb_device_id dib0700_usb_id_tabl
    /* 30 */{ USB_DEVICE(USB_VID_PINNACLE, USB_PID_PINNACLE_PCTV73E) },
    { USB_DEVICE(USB_VID_YUAN, USB_PID_YUAN_EC372S) },
    { USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_HT_EXPRESS) },
    + { USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_CINERGY_T_XXS) },
    { 0 } /* Terminating entry */
    };
    MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table);
    @@ -1251,7 +1252,7 @@ struct dvb_usb_device_properties dib0700
    },
    },

    - .num_device_descs = 8,
    + .num_device_descs = 9,
    .devices = {
    { "DiBcom STK7070P reference design",
    { &dib0700_usb_id_table[15], NULL },
    @@ -1285,6 +1286,10 @@ struct dvb_usb_device_properties dib0700
    { &dib0700_usb_id_table[30], NULL },
    { NULL },
    },
    + { "Terratec Cinergy T USB XXS",
    + { &dib0700_usb_id_table[33], NULL },
    + { NULL },
    + },
    },

    .rc_interval = DEFAULT_RC_INTERVAL,
    --- a/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
    +++ b/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
    @@ -137,6 +137,7 @@
    #define USB_PID_TERRATEC_CINERGY_DT_XS_DIVERSITY 0x005a
    #define USB_PID_TERRATEC_CINERGY_HT_USB_XE 0x0058
    #define USB_PID_TERRATEC_CINERGY_HT_EXPRESS 0x0060
    +#define USB_PID_TERRATEC_CINERGY_T_XXS 0x0078
    #define USB_PID_PINNACLE_EXPRESSCARD_320CX 0x022e
    #define USB_PID_PINNACLE_PCTV2000E 0x022c
    #define USB_PID_PINNACLE_PCTV_DVB_T_FLASH 0x0228
    @@ -191,6 +192,6 @@
    #define USB_PID_GIGABYTE_U7000 0x7001
    #define USB_PID_ASUS_U3000 0x171f
    #define USB_PID_ASUS_U3100 0x173f
    -#define USB_PID_YUAN_EC372S 0x1edc
    +#define USB_PID_YUAN_EC372S 0x1edc

    #endif

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread
Page 2 of 3 FirstFirst 1 2 3 LastLast