commit 9ccc5af34b4f4eb27014f2e7e40db5e7c9522e5e
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sun Apr 19 10:12:19 2015 +0200

    Linux 3.10.75

commit e11b708502b0e249772e485585bec44be5fe8c70
Author: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Date:   Mon Mar 9 23:11:12 2015 +0200

    pagemap: do not leak physical addresses to non-privileged userspace
    
    commit ab676b7d6fbf4b294bf198fb27ade5b0e865c7ce upstream.
    
    As pointed by recent post[1] on exploiting DRAM physical imperfection,
    /proc/PID/pagemap exposes sensitive information which can be used to do
    attacks.
    
    This disallows anybody without CAP_SYS_ADMIN to read the pagemap.
    
    [1] http://googleprojectzero.blogspot.com/2015/03/exploiting-dram-rowhammer-bug-to-gain.html
    
    [ Eventually we might want to do anything more finegrained, but for now
      this is the simple model.   - Linus ]
    
    Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Acked-by: Konstantin Khlebnikov <khlebnikov@openvz.org>
    Acked-by: Andy Lutomirski <luto@amacapital.net>
    Cc: Pavel Emelyanov <xemul@parallels.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Mark Seaborn <mseaborn@chromium.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: mancha security <mancha1@zoho.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 391f1c610abe2db94c3e5c7ae20528ebf9ed682f
Author: Peter Hurley <peter@hurleysoftware.com>
Date:   Sun Mar 1 10:11:05 2015 -0500

    console: Fix console name size mismatch
    
    commit 30a22c215a0007603ffc08021f2e8b64018517dd upstream.
    
    commit 6ae9200f2cab7 ("enlarge console.name") increased the storage
    for the console name to 16 bytes, but not the corresponding
    struct console_cmdline::name storage. Console names longer than
    8 bytes cause read beyond end-of-string and failure to match
    console; I'm not sure if there are other unexpected consequences.
    
    Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 94efa6abf172d13d70c167388f327f4b5cee7e02
Author: Majd Dibbiny <majd@mellanox.com>
Date:   Wed Mar 18 16:51:37 2015 +0200

    IB/mlx4: Saturate RoCE port PMA counters in case of overflow
    
    commit 61a3855bb726cbb062ef02a31a832dea455456e0 upstream.
    
    For RoCE ports, we set the u32 PMA values based on u64 HCA counters. In case of
    overflow, according to the IB spec, we have to saturate a counter to its
    max value, do that.
    
    Fixes: c37791349cc7 ('IB/mlx4: Support PMA counters for IBoE')
    Signed-off-by: Majd Dibbiny <majd@mellanox.com>
    Signed-off-by: Eran Ben Elisha <eranbe@mellanox.com>
    Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0121b8bf67ce4d613b58855f6e8558356bffe789
Author: Alex Elder <alex.elder@linaro.org>
Date:   Thu Jan 23 15:54:00 2014 -0800

    kernel.h: define u8, s8, u32, etc. limits
    
    commit 89a0714106aac7309c7dfa0f004b39e1e89d2942 upstream.
    
    Create constants that define the maximum and minimum values
    representable by the kernel types u8, s8, u16, s16, and so on.
    
    Signed-off-by: Alex Elder <elder@linaro.org>
    Cc: Sage Weil <sage@inktank.com>
    Cc: David Miller <davem@davemloft.net>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 85ec36aada19a7873bb2cb1677f910e8ce30f998
Author: Sasha Levin <sasha.levin@oracle.com>
Date:   Fri Jan 23 20:47:00 2015 -0500

    net: llc: use correct size for sysctl timeout entries
    
    commit 6b8d9117ccb4f81b1244aafa7bc70ef8fa45fc49 upstream.
    
    The timeout entries are sizeof(int) rather than sizeof(long), which
    means that when they were getting read we'd also leak kernel memory
    to userspace along with the timeout values.
    
    Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8e519c3eb9823f0f6cbffb1dfaede0252df3c350
Author: Sasha Levin <sasha.levin@oracle.com>
Date:   Tue Feb 3 08:55:58 2015 -0500

    net: rds: use correct size for max unacked packets and bytes
    
    commit db27ebb111e9f69efece08e4cb6a34ff980f8896 upstream.
    
    Max unacked packets/bytes is an int while sizeof(long) was used in the
    sysctl table.
    
    This means that when they were getting read we'd also leak kernel memory
    to userspace along with the timeout values.
    
    Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1f55176763a6556916d4c41c80eba7c69d5d3e5a
Author: Mateusz Guzik <mguzik@redhat.com>
Date:   Mon Jan 27 17:07:11 2014 -0800

    ipc: fix compat msgrcv with negative msgtyp
    
    commit e7ca2552369c1dfe0216c626baf82c3d83ec36bb upstream.
    
    Compat function takes msgtyp argument as u32 and passes it down to
    do_msgrcv which results in casting to long, thus the sign is lost and we
    get a big positive number instead.
    
    Cast the argument to signed type before passing it down.
    
    Signed-off-by: Mateusz Guzik <mguzik@redhat.com>
    Reported-by: Gabriellla Schmidt <gsc@bruker.de>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Davidlohr Bueso <davidlohr@hp.com>
    Cc: Manfred Spraul <manfred@colorfullife.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Masanari Iida <standby24x7@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d212dc60a1c2a41e9e1d2e69f1c137ffd3af909b
Author: Jiri Slaby <jslaby@suse.cz>
Date:   Mon Apr 13 16:41:28 2015 +0200

    core, nfqueue, openvswitch: fix compilation warning
    
    Stable commit "core, nfqueue, openvswitch: Orphan frags in
    skb_zerocopy and handle errors", upstream commit
    36d5fe6a000790f56039afe26834265db0a3ad4c, was not correctly backported
    and missed to change a const 'from' parameter to non-const.  This
    results in a new batch of warnings:
    
    net/netfilter/nfnetlink_queue_core.c: In function ‘nfqnl_zcopy’:
    net/netfilter/nfnetlink_queue_core.c:272:2: warning: passing argument 1 of ‘skb_orphan_frags’ discards ‘const’ qualifier from pointer target type [enabled by default]
      if (unlikely(skb_orphan_frags(from, GFP_ATOMIC))) {
      ^
    In file included from net/netfilter/nfnetlink_queue_core.c:18:0:
    include/linux/skbuff.h:1822:19: note: expected ‘struct sk_buff *’ but argument is of type ‘const struct sk_buff *’
     static inline int skb_orphan_frags(struct sk_buff *skb, gfp_t gfp_mask)
                       ^
    net/netfilter/nfnetlink_queue_core.c:273:3: warning: passing argument 1 of ‘skb_tx_error’ discards ‘const’ qualifier from pointer target type [enabled by default]
       skb_tx_error(from);
       ^
    In file included from net/netfilter/nfnetlink_queue_core.c:18:0:
    include/linux/skbuff.h:630:13: note: expected ‘struct sk_buff *’ but argument is of type ‘const struct sk_buff *’
     extern void skb_tx_error(struct sk_buff *skb);
    
    Remove const from the 'from' parameter, the same as in the upstream
    commit.
    
    As far as I can see, this leaked into 3.10, 3.12, and 3.13 already.
    
    Cc: Zoltan Kiss <zoltan.kiss@citrix.com>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Kamal Mostafa <kamal.mostafa@canonical.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1190df7d8f1cd3aca590c4153441f40b10cc047f
Author: Marek Szyprowski <m.szyprowski@samsung.com>
Date:   Wed Mar 4 05:55:21 2015 -0800

    media: s5p-mfc: fix mmap support for 64bit arch
    
    commit 05b676ab42f624425d5f6519276e506b812fa058 upstream.
    
    TASK_SIZE is depends on the systems architecture (32 or 64 bits) and it
    should not be used for defining offset boundary for mmaping buffers for
    CAPTURE and OUTPUT queues. This patch fixes support for MMAP calls on
    the CAPTURE queue on 64bit architectures (like ARM64).
    
    Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
    Signed-off-by: Kamil Debski <k.debski@samsung.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 81b444c779298d121606e956122bbcbe395ffc60
Author: Mike Christie <michaelc@cs.wisc.edu>
Date:   Fri Apr 10 02:47:27 2015 -0500

    iscsi target: fix oops when adding reject pdu
    
    commit b815fc12d4dd2b5586184fb4f867caff05a810d4 upstream.
    
    This fixes a oops due to a double list add when adding a reject PDU for
    iscsit_allocate_iovecs allocation failures. The cmd has already been
    added to the conn_cmd_list in iscsit_setup_scsi_cmd, so this has us call
    iscsit_reject_cmd.
    
    Note that for ERL0 the reject PDU is not actually sent, so this patch
    is not completely tested. Just verified we do not oops. The problem is the
    add reject functions return -1 which is returned all the way up to
    iscsi_target_rx_thread which for ERL0 will drop the connection.
    
    Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f3326a5594dbb8faf47fb105740baa936d3445d1
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Wed Apr 8 17:00:32 2015 -0400

    ocfs2: _really_ sync the right range
    
    commit 64b4e2526d1cf6e6a4db6213d6e2b6e6ab59479a upstream.
    
    "ocfs2 syncs the wrong range" had been broken; prior to it the
    code was doing the wrong thing in case of O_APPEND, all right,
    but _after_ it we were syncing the wrong range in 100% cases.
    *ppos, aka iocb->ki_pos is incremented prior to that point,
    so we are always doing sync on the area _after_ the one we'd
    written to.
    
    Spotted by Joseph Qi <joseph.qi@huawei.com> back in January;
    unfortunately, I'd missed his mail back then ;-/
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 054fa2f11b8458100b7c839a728f0439be863740
Author: John Soni Jose <sony.john-n@emulex.com>
Date:   Thu Feb 12 06:45:47 2015 +0530

    be2iscsi: Fix kernel panic when device initialization fails
    
    commit 2e7cee027b26cbe7e6685a7a14bd2850bfe55d33 upstream.
    
    Kernel panic was happening as iscsi_host_remove() was called on
    a host which was not yet added.
    
    Signed-off-by: John Soni Jose <sony.john-n@emulex.com>
    Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: James Bottomley <JBottomley@Odin.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 57cf01ac9ff841958cbed2b727c271ab420b0ffa
Author: David Disseldorp <ddiss@suse.de>
Date:   Fri Mar 13 14:20:29 2015 +0100

    cifs: fix use-after-free bug in find_writable_file
    
    commit e1e9bda22d7ddf88515e8fe401887e313922823e upstream.
    
    Under intermittent network outages, find_writable_file() is susceptible
    to the following race condition, which results in a user-after-free in
    the cifs_writepages code-path:
    
    Thread 1                                        Thread 2
    ========                                        ========
    
    inv_file = NULL
    refind = 0
    spin_lock(&cifs_file_list_lock)
    
    // invalidHandle found on openFileList
    
    inv_file = open_file
    // inv_file->count currently 1
    
    cifsFileInfo_get(inv_file)
    // inv_file->count = 2
    
    spin_unlock(&cifs_file_list_lock);
    
    cifs_reopen_file()                            cifs_close()
    // fails (rc != 0)                            ->cifsFileInfo_put()
                                           spin_lock(&cifs_file_list_lock)
                                           // inv_file->count = 1
                                           spin_unlock(&cifs_file_list_lock)
    
    spin_lock(&cifs_file_list_lock);
    list_move_tail(&inv_file->flist,
          &cifs_inode->openFileList);
    spin_unlock(&cifs_file_list_lock);
    
    cifsFileInfo_put(inv_file);
    ->spin_lock(&cifs_file_list_lock)
    
      // inv_file->count = 0
      list_del(&cifs_file->flist);
      // cleanup!!
      kfree(cifs_file);
    
      spin_unlock(&cifs_file_list_lock);
    
    spin_lock(&cifs_file_list_lock);
    ++refind;
    // refind = 1
    goto refind_writable;
    
    At this point we loop back through with an invalid inv_file pointer
    and a refind value of 1. On second pass, inv_file is not overwritten on
    openFileList traversal, and is subsequently dereferenced.
    
    Signed-off-by: David Disseldorp <ddiss@suse.de>
    Reviewed-by: Jeff Layton <jlayton@samba.org>
    Signed-off-by: Steve French <smfrench@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2cb264a36f293b3a50809324abea2aff4889af60
Author: Lu Baolu <baolu.lu@linux.intel.com>
Date:   Mon Mar 23 18:27:42 2015 +0200

    usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers
    
    commit 227a4fd801c8a9fa2c4700ab98ec1aec06e3b44d upstream.
    
    When a device with an isochronous endpoint is plugged into the Intel
    xHCI host controller, and the driver submits multiple frames per URB,
    the xHCI driver will set the Block Event Interrupt (BEI) flag on all
    but the last TD for the URB. This causes the host controller to place
    an event on the event ring, but not send an interrupt. When the last
    TD for the URB completes, BEI is cleared, and we get an interrupt for
    the whole URB.
    
    However, under Intel xHCI host controllers, if the event ring is full
    of events from transfers with BEI set,  an "Event Ring is Full" event
    will be posted to the last entry of the event ring,  but no interrupt
    is generated. Host will cease all transfer and command executions and
    wait until software completes handling the pending events in the event
    ring.  That means xHC stops, but event of "event ring is full" is not
    notified. As the result, the xHC looks like dead to user.
    
    This patch is to apply XHCI_AVOID_BEI quirk to Intel xHC devices. And
    it should be backported to kernels as old as 3.0, that contains the
    commit 69e848c2090a ("Intel xhci: Support EHCI/xHCI port switching.").
    
    Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    Tested-by: Alistair Grant <akgrant0710@gmail.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f4a1af9ffb87829c1501820deadeeb350cd34d4a
Author: Thomas Schlichter <thomas.schlichter@web.de>
Date:   Tue Mar 31 20:24:39 2015 +0200

    cpuidle: ACPI: do not overwrite name and description of C0
    
    commit c7e8bdf5872c5a8f5a6494e16fe839c38a0d3d3d upstream.
    
    Fix a bug that leads to showing the name and description of C-state C0
    as "<null>" in sysfs after the ACPI C-states changed (e.g. after AC->DC
    or DC->AC
    transition).
    
    The function poll_idle_init() in drivers/cpuidle/driver.c initializes the
    state 0 during cpuidle_register_driver(), so we better do not overwrite it
    again with '\0' during acpi_processor_cst_has_changed().
    
    Signed-off-by: Thomas Schlichter <thomas.schlichter@web.de>
    Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8990b6ab3d341753244cba9992026b07038f1eea
Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
Date:   Fri Mar 27 13:35:52 2015 +0200

    dmaengine: omap-dma: Fix memory leak when terminating running transfer
    
    commit 02d88b735f5a60f04dbf6d051b76e1877a0d0844 upstream.
    
    In omap_dma_start_desc the vdesc->node is removed from the virt-dma
    framework managed lists (to be precise from the desc_issued list).
    If a terminate_all comes before the transfer finishes the omap_desc will
    not be freed up because it is not in any of the lists and we stopped the
    DMA channel so the transfer will not going to complete.
    There is no special sequence for leaking memory when using cyclic (audio)
    transfer: with every start and stop of a cyclic transfer the driver leaks
    struct omap_desc worth of memory.
    
    Free up the allocated memory directly in omap_dma_terminate_all() since the
    framework will not going to do that for us.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    CC: <linux-omap@vger.kernel.org>
    Signed-off-by: Vinod Koul <vinod.koul@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0ef5fdbb2cd17f88372c1bb7f1f45266ee557432
Author: Darshana Padmadas <darshanapadmadas@gmail.com>
Date:   Sat Mar 28 12:07:14 2015 +0530

    iio: imu: Use iio_trigger_get for indio_dev->trig assignment
    
    commit 4ce7ca89d6e8eae9e201cd0e972ba323f33e2fb4 upstream.
    
    This patch uses iio_trigger_get to increment the reference
    count of trigger device, to avoid incorrect assignment.
    Can result in a null pointer dereference during removal if the
    trigger has been changed before removal.
    
    This patch refers to a similar situation encountered through the
    following discussion:
    http://www.spinics.net/lists/linux-iio/msg13669.html
    
    Signed-off-by: Darshana Padmadas <darshanapadmadas@gmail.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9c28f1ed67be192f73a679b53d2306db1459b444
Author: Viorel Suman <viorel.suman@gmail.com>
Date:   Wed Feb 18 20:05:21 2015 +0200

    iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo
    
    commit 4dac0a8eefd55bb1f157d1a5a084531334a2d74c upstream.
    
    A hardware fifo reset always imply an invalidation of the
    existing timestamps, so we'll clear timestamps fifo on
    successfull hardware fifo reset.
    
    Signed-off-by: Viorel Suman <viorel.suman@gmail.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3e01cca39c3eef60046d0dc922bfe1a275a18f51
Author: Bart Van Assche <bart.vanassche@sandisk.com>
Date:   Wed Mar 4 10:31:47 2015 +0100

    Defer processing of REQ_PREEMPT requests for blocked devices
    
    commit bba0bdd7ad4713d82338bcd9b72d57e9335a664b upstream.
    
    SCSI transport drivers and SCSI LLDs block a SCSI device if the
    transport layer is not operational. This means that in this state
    no requests should be processed, even if the REQ_PREEMPT flag has
    been set. This patch avoids that a rescan shortly after a cable
    pull sporadically triggers the following kernel oops:
    
    BUG: unable to handle kernel paging request at ffffc9001a6bc084
    IP: [<ffffffffa04e08f2>] mlx4_ib_post_send+0xd2/0xb30 [mlx4_ib]
    Process rescan-scsi-bus (pid: 9241, threadinfo ffff88053484a000, task ffff880534aae100)
    Call Trace:
     [<ffffffffa0718135>] srp_post_send+0x65/0x70 [ib_srp]
     [<ffffffffa071b9df>] srp_queuecommand+0x1cf/0x3e0 [ib_srp]
     [<ffffffffa0001ff1>] scsi_dispatch_cmd+0x101/0x280 [scsi_mod]
     [<ffffffffa0009ad1>] scsi_request_fn+0x411/0x4d0 [scsi_mod]
     [<ffffffff81223b37>] __blk_run_queue+0x27/0x30
     [<ffffffff8122a8d2>] blk_execute_rq_nowait+0x82/0x110
     [<ffffffff8122a9c2>] blk_execute_rq+0x62/0xf0
     [<ffffffffa000b0e8>] scsi_execute+0xe8/0x190 [scsi_mod]
     [<ffffffffa000b2f3>] scsi_execute_req+0xa3/0x130 [scsi_mod]
     [<ffffffffa000c1aa>] scsi_probe_lun+0x17a/0x450 [scsi_mod]
     [<ffffffffa000ce86>] scsi_probe_and_add_lun+0x156/0x480 [scsi_mod]
     [<ffffffffa000dc2f>] __scsi_scan_target+0xdf/0x1f0 [scsi_mod]
     [<ffffffffa000dfa3>] scsi_scan_host_selected+0x183/0x1c0 [scsi_mod]
     [<ffffffffa000edfb>] scsi_scan+0xdb/0xe0 [scsi_mod]
     [<ffffffffa000ee13>] store_scan+0x13/0x20 [scsi_mod]
     [<ffffffff811c8d9b>] sysfs_write_file+0xcb/0x160
     [<ffffffff811589de>] vfs_write+0xce/0x140
     [<ffffffff81158b53>] sys_write+0x53/0xa0
     [<ffffffff81464592>] system_call_fastpath+0x16/0x1b
     [<00007f611c9d9300>] 0x7f611c9d92ff
    
    Reported-by: Max Gurtuvoy <maxg@mellanox.com>
    Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
    Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: James Bottomley <JBottomley@Odin.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 18c9e01df5c59c6a9dc70d3427c4e34080610e2d
Author: Doug Goldstein <cardoe@cardoe.com>
Date:   Mon Mar 23 20:34:48 2015 -0500

    USB: ftdi_sio: Use jtag quirk for SNAP Connect E10
    
    commit b229a0f840f774d29d8fedbf5deb344ca36b7f1a upstream.
    
    This patch uses the existing CALAO Systems ftdi_8u2232c_probe in order
    to avoid attaching a TTY to the JTAG port as this board is based on the
    CALAO Systems reference design and needs the same fix up.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    [johan: clean up probe logic ]
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4ae961697ec5c240d3c1e0ba29b75e05800550d0
Author: Doug Goldstein <cardoe@cardoe.com>
Date:   Sun Mar 15 21:56:04 2015 -0500

    USB: ftdi_sio: Added custom PID for Synapse Wireless product
    
    commit 4899c054a90439477b24da8977db8d738376fe90 upstream.
    
    Synapse Wireless uses the FTDI VID with a custom PID of 0x9090 for their
    SNAP Stick 200 product.
    
    Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9e79894da599f54425592a1ea2d5dfb4397b7367
Author: David Miller <davem@davemloft.net>
Date:   Wed Mar 18 23:18:40 2015 -0400

    radeon: Do not directly dereference pointers to BIOS area.
    
    commit f2c9e560b406f2f6b14b345c7da33467dee9cdf2 upstream.
    
    Use readb() and memcpy_fromio() accessors instead.
    
    Reviewed-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e58126f57083a3160c2883d7cf22c38ed1a75f58
Author: Tejun Heo <tj@kernel.org>
Date:   Mon Mar 23 00:18:48 2015 -0400

    writeback: fix possible underflow in write bandwidth calculation
    
    commit c72efb658f7c8b27ca3d0efb5cfd5ded9fcac89e upstream.
    
    From 1ebf33901ecc75d9496862dceb1ef0377980587c Mon Sep 17 00:00:00 2001
    From: Tejun Heo <tj@kernel.org>
    Date: Mon, 23 Mar 2015 00:08:19 -0400
    
    2f800fbd777b ("writeback: fix dirtied pages accounting on redirty")
    introduced account_page_redirty() which reverts stat updates for a
    redirtied page, making BDI_DIRTIED no longer monotonically increasing.
    
    bdi_update_write_bandwidth() uses the delta in BDI_DIRTIED as the
    basis for bandwidth calculation.  While unlikely, since the above
    patch, the newer value may be lower than the recorded past value and
    underflow the bandwidth calculation leading to a wild result.
    
    Fix it by subtracing min of the old and new values when calculating
    delta.  AFAIK, there hasn't been any report of it happening but the
    resulting erratic behavior would be non-critical and temporary, so
    it's possible that the issue is happening without being reported.  The
    risk of the fix is very low, so tagged for -stable.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Cc: Jens Axboe <axboe@kernel.dk>
    Cc: Jan Kara <jack@suse.cz>
    Cc: Wu Fengguang <fengguang.wu@intel.com>
    Cc: Greg Thelen <gthelen@google.com>
    Fixes: 2f800fbd777b ("writeback: fix dirtied pages accounting on redirty")
    Signed-off-by: Jens Axboe <axboe@fb.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f16678367dae3cd3da3fd0c93b13bad7ad8d301b
Author: Tejun Heo <tj@kernel.org>
Date:   Wed Mar 4 10:37:43 2015 -0500

    writeback: add missing INITIAL_JIFFIES init in global_update_bandwidth()
    
    commit 7d70e15480c0450d2bfafaad338a32e884fc215e upstream.
    
    global_update_bandwidth() uses static variable update_time as the
    timestamp for the last update but forgets to initialize it to
    INITIALIZE_JIFFIES.
    
    This means that global_dirty_limit will be 5 mins into the future on
    32bit and some large amount jiffies into the past on 64bit.  This
    isn't critical as the only effect is that global_dirty_limit won't be
    updated for the first 5 mins after booting on 32bit machines,
    especially given the auxiliary nature of global_dirty_limit's role -
    protecting against global dirty threshold's sudden dips; however, it
    does lead to unintended suboptimal behavior.  Fix it.
    
    Fixes: c42843f2f0bb ("writeback: introduce smoothed global dirty limit")
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Acked-by: Jan Kara <jack@suse.cz>
    Cc: Wu Fengguang <fengguang.wu@intel.com>
    Cc: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dfb06c85571e687aee393dfb72222e3eeec24813
Author: Gu Zheng <guz.fnst@cn.fujitsu.com>
Date:   Wed Mar 25 15:55:20 2015 -0700

    mm/memory hotplug: postpone the reset of obsolete pgdat
    
    commit b0dc3a342af36f95a68fe229b8f0f73552c5ca08 upstream.
    
    Qiu Xishi reported the following BUG when testing hot-add/hot-remove node under
    stress condition:
    
      BUG: unable to handle kernel paging request at 0000000000025f60
      IP: next_online_pgdat+0x1/0x50
      PGD 0
      Oops: 0000 [#1] SMP
      ACPI: Device does not support D3cold
      Modules linked in: fuse nls_iso8859_1 nls_cp437 vfat fat loop dm_mod coretemp mperf crc32c_intel ghash_clmulni_intel aesni_intel ablk_helper cryptd lrw gf128mul glue_helper aes_x86_64 pcspkr microcode igb dca i2c_algo_bit ipv6 megaraid_sas iTCO_wdt i2c_i801 i2c_core iTCO_vendor_support tg3 sg hwmon ptp lpc_ich pps_core mfd_core acpi_pad rtc_cmos button ext3 jbd mbcache sd_mod crc_t10dif scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw scsi_dh_emc scsi_dh ahci libahci libata scsi_mod [last unloaded: rasf]
      CPU: 23 PID: 238 Comm: kworker/23:1 Tainted: G           O 3.10.15-5885-euler0302 #1
      Hardware name: HUAWEI TECHNOLOGIES CO.,LTD. Huawei N1/Huawei N1, BIOS V100R001 03/02/2015
      Workqueue: events vmstat_update
      task: ffffa800d32c0000 ti: ffffa800d32ae000 task.ti: ffffa800d32ae000
      RIP: 0010: next_online_pgdat+0x1/0x50
      RSP: 0018:ffffa800d32afce8  EFLAGS: 00010286
      RAX: 0000000000001440 RBX: ffffffff81da53b8 RCX: 0000000000000082
      RDX: 0000000000000000 RSI: 0000000000000082 RDI: 0000000000000000
      RBP: ffffa800d32afd28 R08: ffffffff81c93bfc R09: ffffffff81cbdc96
      R10: 00000000000040ec R11: 00000000000000a0 R12: ffffa800fffb3440
      R13: ffffa800d32afd38 R14: 0000000000000017 R15: ffffa800e6616800
      FS:  0000000000000000(0000) GS:ffffa800e6600000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000000000025f60 CR3: 0000000001a0b000 CR4: 00000000001407e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      Call Trace:
        refresh_cpu_vm_stats+0xd0/0x140
        vmstat_update+0x11/0x50
        process_one_work+0x194/0x3d0
        worker_thread+0x12b/0x410
        kthread+0xc6/0xd0
        ret_from_fork+0x7c/0xb0
    
    The cause is the "memset(pgdat, 0, sizeof(*pgdat))" at the end of
    try_offline_node, which will reset all the content of pgdat to 0, as the
    pgdat is accessed lock-free, so that the users still using the pgdat
    will panic, such as the vmstat_update routine.
    
    process A:				offline node XX:
    
    vmstat_updat()
       refresh_cpu_vm_stats()
         for_each_populated_zone()
           find online node XX
         cond_resched()
    					offline cpu and memory, then try_offline_node()
    					node_set_offline(nid), and memset(pgdat, 0, sizeof(*pgdat))
           zone = next_zone(zone)
             pg_data_t *pgdat = zone->zone_pgdat;  // here pgdat is NULL now
               next_online_pgdat(pgdat)
                 next_online_node(pgdat->node_id);  // NULL pointer access
    
    So the solution here is postponing the reset of obsolete pgdat from
    try_offline_node() to hotadd_new_pgdat(), and just resetting
    pgdat->nr_zones and pgdat->classzone_idx to be 0 rather than the memset
    0 to avoid breaking pointer information in pgdat.
    
    Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
    Reported-by: Xishi Qiu <qiuxishi@huawei.com>
    Suggested-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
    Cc: Taku Izumi <izumi.taku@jp.fujitsu.com>
    Cc: Tang Chen <tangchen@cn.fujitsu.com>
    Cc: Xie XiuQi <xiexiuqi@huawei.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ef6b5eaddd79fd6515c4eaf7506839bd9c60921c
Author: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Date:   Tue Jan 27 18:08:22 2015 +0530

    nbd: fix possible memory leak
    
    commit ff6b8090e26ef7649ef0cc6b42389141ef48b0cf upstream.
    
    we have already allocated memory for nbd_dev, but we were not
    releasing that memory and just returning the error value.
    
    Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
    Acked-by: Paul Clements <Paul.Clements@SteelEye.com>
    Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a0688f524c6dcd43e5dff5f57f46e962e4c44548
Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Date:   Mon Mar 16 09:08:07 2015 +0200

    iwlwifi: dvm: run INIT firmware again upon .start()
    
    commit 9c8928f5176766bec79f272bd47b7124e11cccbd upstream.
    
    The assumption before this patch was that we don't need to
    run again the INIT firmware after the system booted. The
    INIT firmware runs calibrations which impact the physical
    layer's behavior.
    Users reported that it may be helpful to run these
    calibrations again every time the interface is brought up.
    The penatly is minimal, since the calibrations run fast.
    This fixes:
    https://bugzilla.kernel.org/show_bug.cgi?id=94341
    
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0cfcc3250e9e571ef79627850430e1fda55f4cad
Author: Shachar Raindel <raindel@mellanox.com>
Date:   Wed Mar 18 17:39:08 2015 +0000

    IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic
    
    commit 8494057ab5e40df590ef6ef7d66324d3ae33356b upstream.
    
    Properly verify that the resulting page aligned end address is larger
    than both the start address and the length of the memory area requested.
    
    Both the start and length arguments for ib_umem_get are controlled by
    the user. A misbehaving user can provide values which will cause an
    integer overflow when calculating the page aligned end address.
    
    This overflow can cause also miscalculation of the number of pages
    mapped, and additional logic issues.
    
    Addresses: CVE-2014-8159
    Signed-off-by: Shachar Raindel <raindel@mellanox.com>
    Signed-off-by: Jack Morgenstein <jackm@mellanox.com>
    Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3af9e9334102d7436bb509c8d3d99c695190c58f
Author: Eli Cohen <eli@dev.mellanox.co.il>
Date:   Sun Sep 14 16:47:52 2014 +0300

    IB/core: Avoid leakage from kernel to user space
    
    commit 377b513485fd885dea1083a9a5430df65b35e048 upstream.
    
    Clear the reserved field of struct ib_uverbs_async_event_desc which is
    copied to user space.
    
    Signed-off-by: Eli Cohen <eli@mellanox.com>
    Reviewed-by: Yann Droneaud <ydroneaud@opteya.com>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 75a518b09f0939ad5d5bf12e91b9faec12c66d10
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Wed Apr 15 19:00:32 2015 +0100

    tcp: Fix crash in TCP Fast Open
    
    Commit 355a901e6cf1 ("tcp: make connect() mem charging friendly")
    changed tcp_send_syn_data() to perform an open-coded copy of the 'syn'
    skb rather than using skb_copy_expand().
    
    The open-coded copy does not cover the skb_shared_info::gso_segs
    field, so in the new skb it is left set to 0.  When this commit was
    backported into stable branches between 3.10.y and 3.16.7-ckty
    inclusive, it triggered the BUG() in tcp_transmit_skb().
    
    Since Linux 3.18 the GSO segment count is kept in the
    tcp_skb_cb::tcp_gso_segs field and tcp_send_syn_data() does copy the
    tcp_skb_cb structure to the new skb, so mainline and newer stable
    branches are not affected.
    
    Set skb_shared_info::gso_segs to the correct value of 1.
    
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9dece36273f91a8e7467b7eadbe319fa924eec83
Author: Joe Perches <joe@perches.com>
Date:   Mon Mar 23 18:01:35 2015 -0700

    selinux: fix sel_write_enforce broken return value
    
    commit 6436a123a147db51a0b06024a8350f4c230e73ff upstream.
    
    Return a negative error value like the rest of the entries in this function.
    
    Signed-off-by: Joe Perches <joe@perches.com>
    Acked-by:  Stephen Smalley <sds@tycho.nsa.gov>
    [PM: tweaked subject line]
    Signed-off-by: Paul Moore <pmoore@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a13a3624298bbcb80c6ba46fbf7e2213a3d41013
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed Apr 8 20:47:55 2015 +0200

    ALSA: hda - Fix headphone pin config for Lifebook T731
    
    commit cc7016ab1a22fb26f388c2fb2b692b89897cbc3e upstream.
    
    Some BIOS version of Fujitsu Lifebook T731 seems to set up the
    headphone pin (0x21) without the assoc number 0x0f while it's set only
    to the output on the docking port (0x1a).  With the recent commit
    [03ad6a8c93b6: ALSA: hda - Fix "PCM" name being used on one DAC when
     there are two DACs], this resulted in the weird mixer element
    mapping where the headphone on the laptop is assigned as a shared
    volume with the speaker and the docking port is assigned as an
    individual headphone.
    
    This patch improves the situation by correcting the headphone pin
    config to the more appropriate value.
    
    Reported-and-tested-by: Taylor Smock <smocktaylor@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 082bf2f8175c59b967ddd4cbffa09b0529e1d742
Author: Dmitry M. Fedin <dmitry.fedin@gmail.com>
Date:   Thu Apr 9 17:37:03 2015 +0300

    ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support
    
    commit 3dc8523fa7412e731441c01fb33f003eb3cfece1 upstream.
    
    Adds an entry for Creative USB X-Fi to the rc_config array in
    mixer_quirks.c to allow use of volume knob on the device.
    Adds support for newer X-Fi Pro card, known as "Model No. SB1095"
    with USB ID "041e:3237"
    
    Signed-off-by: Dmitry M. Fedin <dmitry.fedin@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8f21510a905be77dca0c4e7f068e5338d97f6162
Author: Hui Wang <hui.wang@canonical.com>
Date:   Thu Mar 26 17:14:55 2015 +0800

    ALSA: hda - Add one more node in the EAPD supporting candidate list
    
    commit af95b41426e0b58279f8ff0ebe420df49a4e96b8 upstream.
    
    We have a HP machine which use the codec node 0x17 connecting the
    internal speaker, and from the node capability, we saw the EAPD,
    if we don't set the EAPD on for this node, the internal speaker
    can't output any sound.
    
    BugLink: https://bugs.launchpad.net/bugs/1436745
    Signed-off-by: Hui Wang <hui.wang@canonical.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>