commit 6d224606bb8eec78027522d6dd5abfea8108c41a
Author: Willy Tarreau <w@1wt.eu>
Date:   Sat Mar 17 11:14:46 2012 +0100

    Linux 2.6.32.59
    
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit bee69f9f61274bb94f37cd7fe22411ea7429d84b
Author: David Vrabel <david.vrabel@citrix.com>
Date:   Wed Mar 14 11:48:52 2012 +0000

    blkfront: Fix backtrace in del_gendisk
    
    Commit 89de1669ace055b56f1de1c9f5aca26dd7f17f25 upstream.
    
    The call to del_gendisk follows an non-refcounted gd->queue
    pointer. We release the last ref in blk_cleanup_queue. Fixed by
    reordering releases accordingly.
    
    Signed-off-by: Daniel Stodden <daniel.stodden@citrix.com>
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit 53148aeb4106b570c5ad4e6b2e9b3452f18b76ca
Author: Maxim Uvarov <maxim.uvarov@oracle.com>
Date:   Sun Jan 15 20:02:50 2012 -0800

    watchdog: hpwdt: clean up set_memory_x call for 32 bit
    
    commit 97d2a10d5804d585ab0b58efbd710948401b886a upstream.
    
    1. address has to be page aligned.
    2. set_memory_x uses page size argument, not size.
    Bug causes with following commit:
    	commit da28179b4e90dda56912ee825c7eaa62fc103797
    	Author: Mingarelli, Thomas <Thomas.Mingarelli@hp.com>
    	Date:   Mon Nov 7 10:59:00 2011 +0100
    
         watchdog: hpwdt: Changes to handle NX secure bit in 32bit path
    
        commit e67d668e147c3b4fec638c9e0ace04319f5ceccd upstream.
    
        This patch makes use of the set_memory_x() kernel API in order
        to make necessary BIOS calls to source NMIs.
    
    Signed-off-by: Maxim Uvarov <maxim.uvarov@oracle.com>
    Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit 09735ec38bbd8391e137096cfec62e414ad96f27
Author: H. Peter Anvin <hpa@zytor.com>
Date:   Fri Mar 2 10:43:49 2012 -0800

    regset: Return -EFAULT, not -EIO, on host-side memory fault
    
    commit 5189fa19a4b2b4c3bec37c3a019d446148827717 upstream.
    
    There is only one error code to return for a bad user-space buffer
    pointer passed to a system call in the same address space as the
    system call is executed, and that is EFAULT.  Furthermore, the
    low-level access routines, which catch most of the faults, return
    EFAULT already.
    
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Reviewed-by: Oleg Nesterov <oleg@redhat.com>
    Acked-by: Roland McGrath <roland@hack.frob.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit fe8b46f4a788b8433237757cb941c6cdf5c0ed5d
Author: H. Peter Anvin <hpa@zytor.com>
Date:   Fri Mar 2 10:43:48 2012 -0800

    regset: Prevent null pointer reference on readonly regsets
    
    commit c8e252586f8d5de906385d8cf6385fee289a825e upstream.
    
    The regset common infrastructure assumed that regsets would always
    have .get and .set methods, but not necessarily .active methods.
    Unfortunately people have since written regsets without .set methods.
    
    Rather than putting in stub functions everywhere, handle regsets with
    null .get or .set methods explicitly.
    
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    Reviewed-by: Oleg Nesterov <oleg@redhat.com>
    Acked-by: Roland McGrath <roland@hack.frob.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit 559d6c822ef8336d2e8428432543576f59b2de3a
Author: Sebastian Siewior <bigeasy@linutronix.de>
Date:   Wed Mar 7 10:19:28 2012 +0000

    net/usbnet: avoid recursive locking in usbnet_stop()
    
    commit 4231d47e6fe69f061f96c98c30eaf9fb4c14b96d upstream.
    
    |kernel BUG at kernel/rtmutex.c:724!
    |[<c029599c>] (rt_spin_lock_slowlock+0x108/0x2bc) from [<c01c2330>] (defer_bh+0x1c/0xb4)
    |[<c01c2330>] (defer_bh+0x1c/0xb4) from [<c01c3afc>] (rx_complete+0x14c/0x194)
    |[<c01c3afc>] (rx_complete+0x14c/0x194) from [<c01cac88>] (usb_hcd_giveback_urb+0xa0/0xf0)
    |[<c01cac88>] (usb_hcd_giveback_urb+0xa0/0xf0) from [<c01e1ff4>] (musb_giveback+0x34/0x40)
    |[<c01e1ff4>] (musb_giveback+0x34/0x40) from [<c01e2b1c>] (musb_advance_schedule+0xb4/0x1c0)
    |[<c01e2b1c>] (musb_advance_schedule+0xb4/0x1c0) from [<c01e2ca8>] (musb_cleanup_urb.isra.9+0x80/0x8c)
    |[<c01e2ca8>] (musb_cleanup_urb.isra.9+0x80/0x8c) from [<c01e2ed0>] (musb_urb_dequeue+0xec/0x108)
    |[<c01e2ed0>] (musb_urb_dequeue+0xec/0x108) from [<c01cbb90>] (unlink1+0xbc/0xcc)
    |[<c01cbb90>] (unlink1+0xbc/0xcc) from [<c01cc2ec>] (usb_hcd_unlink_urb+0x54/0xa8)
    |[<c01cc2ec>] (usb_hcd_unlink_urb+0x54/0xa8) from [<c01c2a84>] (unlink_urbs.isra.17+0x2c/0x58)
    |[<c01c2a84>] (unlink_urbs.isra.17+0x2c/0x58) from [<c01c2b44>] (usbnet_terminate_urbs+0x94/0x10c)
    |[<c01c2b44>] (usbnet_terminate_urbs+0x94/0x10c) from [<c01c2d68>] (usbnet_stop+0x100/0x15c)
    |[<c01c2d68>] (usbnet_stop+0x100/0x15c) from [<c020f718>] (__dev_close_many+0x94/0xc8)
    
    defer_bh() takes the lock which is hold during unlink_urbs(). The safe
    walk suggest that the skb will be removed from the list and this is done
    by defer_bh() so it seems to be okay to drop the lock here.
    
    Cc: stable@kernel.org
    Reported-by: Aníbal Almeida Pinto <anibal.pinto@efacec.com>
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Acked-by: Oliver Neukum <oliver@neukum.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit 3af36e8a6301cbf03d4cc9a3881a1e03137dba03
Author: Jeff Layton <jlayton@redhat.com>
Date:   Thu Feb 23 09:37:45 2012 -0500

    cifs: fix dentry refcount leak when opening a FIFO on lookup
    
    commit 5bccda0ebc7c0331b81ac47d39e4b920b198b2cd upstream.
    
    The cifs code will attempt to open files on lookup under certain
    circumstances. What happens though if we find that the file we opened
    was actually a FIFO or other special file?
    
    Currently, the open filehandle just ends up being leaked leading to
    a dentry refcount mismatch and oops on umount. Fix this by having the
    code close the filehandle on the server if it turns out not to be a
    regular file. While we're at it, change this spaghetti if statement
    into a switch too.
    
    Cc: stable@vger.kernel.org
    Reported-by: CAI Qian <caiqian@redhat.com>
    Tested-by: CAI Qian <caiqian@redhat.com>
    Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit f30c620b9f629115de4f3f171c7df46efb4e4b04
Author: David Howells <dhowells@redhat.com>
Date:   Fri Feb 24 18:01:27 2012 +0100

    KEYS: Enable the compat keyctl wrapper on s390x
    
    commit 1d057720609ed052a6371fe1d53300e5e6328e94 upstream.
    
    Enable the compat keyctl wrapper on s390x so that 32-bit s390 userspace can
    call the keyctl() syscall.
    
    There's an s390x assembly wrapper that truncates all the register values to
    32-bits and this then calls compat_sys_keyctl() - but the latter only exists if
    CONFIG_KEYS_COMPAT is enabled, and the s390 Kconfig doesn't enable it.
    
    Without this patch, 32-bit calls to the keyctl() syscall are given an ENOSYS
    error:
    
    	[root@devel4 ~]# keyctl show
    	Session Keyring
    	-3: key inaccessible (Function not implemented)
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Acked-by: dan@danny.cz
    Cc: Carsten Otte <cotte@de.ibm.com>
    Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Cc: linux-s390@vger.kernel.org
    Cc: stable@vger.kernel.org
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit 70e74484c247680dbd8f9128044223b4257b4c65
Author: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Date:   Tue Mar 6 09:16:47 2012 -0700

    eCryptfs: Handle failed metadata read in lookup
    
    When failing to read the lower file's crypto metadata during a lookup,
    eCryptfs must continue on without throwing an error. For example, there
    may be a plaintext file in the lower mount point that the user wants to
    delete through the eCryptfs mount.
    
    If an error is encountered while reading the metadata in lookup(), the
    eCryptfs inode's size could be incorrect. We must be sure to reread the
    plaintext inode size from the metadata when performing an open() or
    setattr(). The metadata is already being read in those paths, so this
    adds minimal performance overhead.
    
    This patch introduces a flag which will track whether or not the
    plaintext inode size has been read so that an incorrect i_size can be
    fixed in the open() or setattr() paths.
    
    BugLink: http://bugs.launchpad.net/bugs/509180
    https://lists.ubuntu.com/archives/kernel-team/2012-March/019137.html
    
    Cc: <stable@kernel.org>
    Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
    
    (backported from 3aeb86ea4cd15f728147a3bd5469a205ada8c767)
    Cc: Tyler Hicks <tyler.hicks@canonical.com>
    Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
    
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit 8e5ad053e3c97bad7af7f03b5e52fc652a685b3e
Author: Stanislaw Gruszka <sgruszka@redhat.com>
Date:   Mon Mar 5 14:28:26 2012 -0700

    bsg: fix sysfs link remove warning
    
    BugLink: http://bugs.launchpad.net/bugs/946928
    
    We create "bsg" link if q->kobj.sd is not NULL, so remove it only
    when the same condition is true.
    
    Fixes:
    
    WARNING: at fs/sysfs/inode.c:323 sysfs_hash_and_remove+0x2b/0x77()
    sysfs: can not remove 'bsg', no directory
    Call Trace:
      [<c0429683>] warn_slowpath_common+0x6a/0x7f
      [<c0537a68>] ? sysfs_hash_and_remove+0x2b/0x77
      [<c042970b>] warn_slowpath_fmt+0x2b/0x2f
      [<c0537a68>] sysfs_hash_and_remove+0x2b/0x77
      [<c053969a>] sysfs_remove_link+0x20/0x23
      [<c05d88f1>] bsg_unregister_queue+0x40/0x6d
      [<c0692263>] __scsi_remove_device+0x31/0x9d
      [<c069149f>] scsi_forget_host+0x41/0x52
      [<c0689fa9>] scsi_remove_host+0x71/0xe0
      [<f7de5945>] quiesce_and_remove_host+0x51/0x83 [usb_storage]
      [<f7de5a1e>] usb_stor_disconnect+0x18/0x22 [usb_storage]
      [<c06c29de>] usb_unbind_interface+0x4e/0x109
      [<c067a80f>] __device_release_driver+0x6b/0xa6
      [<c067a861>] device_release_driver+0x17/0x22
      [<c067a46a>] bus_remove_device+0xd6/0xe6
      [<c06785e2>] device_del+0xf2/0x137
      [<c06c101f>] usb_disable_device+0x94/0x1a0
    
    Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    (cherry picked from commit 37b40adf2d1b4a5e51323be73ccf8ddcf3f15dd3)
    
    Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit 050539021e2540f5018ec6e026ff381af287cfcb
Author: Jens Axboe <jens.axboe@oracle.com>
Date:   Fri May 21 20:00:35 2010 +0200

    writeback: fixups for !dirty_writeback_centisecs
    
    commit 6423104b6a1e6f0c18be60e8c33f02d263331d5e upstream.
    
    Commit 69b62d01 fixed up most of the places where we would enter
    busy schedule() spins when disabling the periodic background
    writeback. This fixes up the sb timer so that it doesn't get
    hammered on with the delay disabled, and ensures that it gets
    rearmed if needed when /proc/sys/vm/dirty_writeback_centisecs
    gets modified.
    
    bdi_forker_task() also needs to check for !dirty_writeback_centisecs
    and use schedule() appropriately, fix that up too.
    
    Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
    Tested-by: Xavier Roche <roche@httrack.com>
    Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit d9a25c03a1defab08703a7cc186a68aa2610ad4f
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Fri Mar 9 04:21:03 2012 +0000

    IA64: Remove COMPAT_IA32 support
    
    commit 32974ad4907cdde6c9de612cd1b2ee0568fb9409 upstream
    
    This just changes Kconfig rather than touching all the other files the
    original commit did.
    
    Patch description from the original commit :
    
      |  [IA64] Remove COMPAT_IA32 support
      |
      |  This has been broken since May 2008 when Al Viro killed altroot support.
      |  Since nobody has complained, it would appear that there are no users of
      |  this code (A plausible theory since the main OSVs that support ia64 prefer
      |  to use the IA32-EL software emulation).
      |
      |  Signed-off-by: Tony Luck <tony.luck@intel.com>
    
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Willy Tarreau <w@1wt.eu>

commit ee116431b15a682cb794c714b48fcfe4e35ef32c
Author: Heiko Carstens <heiko.carstens@de.ibm.com>
Date:   Mon Mar 5 14:06:38 2012 +0100

    compat: Re-add missing asm/compat.h include to fix compile breakage on s390
    
    For kernels < 3.0 the backport of 048cd4e51d24ebf7f3552226d03c769d6ad91658
    "compat: fix compile breakage on s390" will break compilation...
    
    Re-add a single #include <asm/compat.h> in order to fix this.
    
    This patch is _not_ necessary for upstream, only for stable kernels
    which include the "build fix" mentioned above.
    
    Reported-by: Jiri Slaby <jslaby@suse.cz>
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Willy Tarreau <w@1wt.eu>