commit 769b79eb206ad5b0249a08665fefb913c3d1998e
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Mon Nov 9 12:50:58 2015 -0800

    Linux 3.14.57

commit 6c6216a01ac816230882c35de819e36ad1c40b0d
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Thu Feb 5 10:37:33 2015 +0300

    vhost/scsi: potential memory corruption
    
    commit 59c816c1f24df0204e01851431d3bab3eb76719c upstream.
    
    This code in vhost_scsi_make_tpg() is confusing because we limit "tpgt"
    to UINT_MAX but the data type of "tpg->tport_tpgt" and that is a u16.
    
    I looked at the context and it turns out that in
    vhost_scsi_set_endpoint(), "tpg->tport_tpgt" is used as an offset into
    the vs_tpg[] array which has VHOST_SCSI_MAX_TARGET (256) elements so
    anything higher than 255 then it is invalid.  I have made that the limit
    now.
    
    In vhost_scsi_send_evt() we mask away values higher than 255, but now
    that the limit has changed, we don't need the mask.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Cc: Ray Yang <ray.yang@mediatek.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit edd4ccd3eddb0e001a355190b3b8c68954a0eaf6
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Fri Nov 6 11:07:07 2015 -0800

    xen: fix backport of previous kexec patch
    
    Fixes the backport of 0b34a166f291d255755be46e43ed5497cdd194f2 upstream
    
    Commit 0b34a166f291d255755be46e43ed5497cdd194f2 "x86/xen: Support
    kexec/kdump in HVM guests by doing a soft reset" has been added to the
    4.2-stable tree" needed to correct the CONFIG variable, as
    CONFIG_KEXEC_CORE only showed up in 4.3.
    
    Reported-by: David Vrabel <david.vrabel@citrix.com>
    Reported-by: Luis Henriques <luis.henriques@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e7a10d9297c1abfd27138d86a13f7b6435634a46
Author: Soeren Grunewald <soeren.grunewald@desy.de>
Date:   Thu Jun 11 09:25:04 2015 +0200

    serial: 8250_pci: Add support for 12 port Exar boards
    
    commit be32c0cf0462c36f482b5ddcff1d8371be1e183c upstream.
    
    The Exar XR17V358 can also be combined with a XR17V354 chip to act as a
    single 12 port chip. This works the same way as the combining two XR17V358
    chips. But the reported device id then is 0x4358.
    
    Signed-off-by: Soeren Grunewald <soeren.grunewald@desy.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8843ae25ac43ed45159984c08ed4dd14cca7349c
Author: Soeren Grunewald <soeren.grunewald@desy.de>
Date:   Tue Apr 28 16:29:49 2015 +0200

    serial: 8250_pci: Add support for 16 port Exar boards
    
    commit 96a5d18bc1338786fecac73599f1681f59a59a8e upstream.
    
    The Exar XR17V358 chip usually provides only 8 ports. But two chips can be
    combined to act as a single 16 port chip. Therefor one chip is configured
    as master the second as slave by connecting the mode pin to VCC (master)
    or GND (slave).
    
    Then the master chip is reporting a different device-id depending on
    whether a slave is detected or not. The UARTs 8-15 are addressed from
    0x2000-0x3fff. So the offset of 0x400 from UART to UART can be used to
    address all 16 ports as before.
    
    See: https://www.exar.com/common/content/document.ashx?id=1587 page 11
    
    Signed-off-by: Soeren Grunewald <soeren.grunewald@desy.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 71c364103580a126858155dcc89d91f30320e88b
Author: Roman Gushchin <klamm@yandex-team.ru>
Date:   Sat Oct 31 10:53:50 2015 +1100

    md/raid5: fix locking in handle_stripe_clean_event()
    
    commit b8a9d66d043ffac116100775a469f05f5158c16f upstream.
    
    After commit 566c09c53455 ("raid5: relieve lock contention in get_active_stripe()")
    __find_stripe() is called under conf->hash_locks + hash.
    But handle_stripe_clean_event() calls remove_hash() under
    conf->device_lock.
    
    Under some cirscumstances the hash chain can be circuited,
    and we get an infinite loop with disabled interrupts and locked hash
    lock in __find_stripe(). This leads to hard lockup on multiple CPUs
    and following system crash.
    
    I was able to reproduce this behavior on raid6 over 6 ssd disks.
    The devices_handle_discard_safely option should be set to enable trim
    support. The following script was used:
    
    for i in `seq 1 32`; do
        dd if=/dev/zero of=large$i bs=10M count=100 &
    done
    
    neilb: original was against a 3.x kernel.  I forward-ported
      to 4.3-rc.  This verison is suitable for any kernel since
      Commit: 59fc630b8b5f ("RAID5: batch adjacent full stripe write")
      (v4.1+).  I'll post a version for earlier kernels to stable.
    
    Signed-off-by: Roman Gushchin <klamm@yandex-team.ru>
    Fixes: 566c09c53455 ("raid5: relieve lock contention in get_active_stripe()")
    Signed-off-by: NeilBrown <neilb@suse.com>
    Cc: Shaohua Li <shli@kernel.org>
    Cc: <stable@vger.kernel.org> # 3.13 - 4.2
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0a494af786ed92017825ad11a0351e869d1ff977
Author: Doron Tsur <doront@mellanox.com>
Date:   Sun Oct 11 15:58:17 2015 +0300

    IB/cm: Fix rb-tree duplicate free and use-after-free
    
    commit 0ca81a2840f77855bbad1b9f172c545c4dc9e6a4 upstream.
    
    ib_send_cm_sidr_rep could sometimes erase the node from the sidr
    (depending on errors in the process). Since ib_send_cm_sidr_rep is
    called both from cm_sidr_req_handler and cm_destroy_id, cm_id_priv
    could be either erased from the rb_tree twice or not erased at all.
    Fixing that by making sure it's erased only once before freeing
    cm_id_priv.
    
    Fixes: a977049dacde ('[PATCH] IB: Add the kernel CM implementation')
    Signed-off-by: Doron Tsur <doront@mellanox.com>
    Signed-off-by: Matan Barak <matanb@mellanox.com>
    Signed-off-by: Doug Ledford <dledford@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a672d16d8c2adb6f007c28ff76e94bb2eb9fdfe4
Author: Dāvis Mosāns <davispuh@gmail.com>
Date:   Fri Aug 21 07:29:22 2015 +0300

    mvsas: Fix NULL pointer dereference in mvs_slot_task_free
    
    commit 2280521719e81919283b82902ac24058f87dfc1b upstream.
    
    When pci_pool_alloc fails in mvs_task_prep then task->lldd_task stays
    NULL but it's later used in mvs_abort_task as slot which is passed
    to mvs_slot_task_free causing NULL pointer dereference.
    
    Just return from mvs_slot_task_free when passed with NULL slot.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101891
    Signed-off-by: Dāvis Mosāns <davispuh@gmail.com>
    Reviewed-by: Tomas Henzl <thenzl@redhat.com>
    Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
    Signed-off-by: James Bottomley <JBottomley@Odin.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 74d1fb7a3f4a9208ab9eb7b7cec54ca6cfcb33eb
Author: NeilBrown <neilb@suse.com>
Date:   Sat Oct 31 11:00:56 2015 +1100

    Revert "md: allow a partially recovered device to be hot-added to an array."
    
    commit d01552a76d71f9879af448e9142389ee9be6e95b upstream.
    
    This reverts commit 7eb418851f3278de67126ea0c427641ab4792c57.
    
    This commit is poorly justified, I can find not discusison in email,
    and it clearly causes a problem.
    
    If a device which is being recovered fails and is subsequently
    re-added to an array, there could easily have been changes to the
    array *before* the point where the recovery was up to.  So the
    recovery must start again from the beginning.
    
    If a spare is being recovered and fails, then when it is re-added we
    really should do a bitmap-based recovery up to the recovery-offset,
    and then a full recovery from there.  Before this reversion, we only
    did the "full recovery from there" which is not corect.  After this
    reversion with will do a full recovery from the start, which is safer
    but not ideal.
    
    It will be left to a future patch to arrange the two different styles
    of recovery.
    
    Reported-and-tested-by: Nate Dailey <nate.dailey@stratus.com>
    Signed-off-by: NeilBrown <neilb@suse.com>
    Fixes: 7eb418851f32 ("md: allow a partially recovered device to be hot-added to an array.")
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 29f33397b3fd79a46771afd210fabadc0b71a7ea
Author: Jes Sorensen <Jes.Sorensen@redhat.com>
Date:   Tue Oct 20 12:09:13 2015 -0400

    md/raid10: submit_bio_wait() returns 0 on success
    
    commit 681ab4696062f5aa939c9e04d058732306a97176 upstream.
    
    This was introduced with 9e882242c6193ae6f416f2d8d8db0d9126bd996b
    which changed the return value of submit_bio_wait() to return != 0 on
    error, but didn't update the caller accordingly.
    
    Fixes: 9e882242c6 ("block: Add submit_bio_wait(), remove from md")
    Reported-by: Bill Kuzeja <William.Kuzeja@stratus.com>
    Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
    Signed-off-by: NeilBrown <neilb@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c58aebcd8c3240a5f7913f82f6131ff4b564d94b
Author: Jes Sorensen <Jes.Sorensen@redhat.com>
Date:   Tue Oct 20 12:09:12 2015 -0400

    md/raid1: submit_bio_wait() returns 0 on success
    
    commit 203d27b0226a05202438ddb39ef0ef1acb14a759 upstream.
    
    This was introduced with 9e882242c6193ae6f416f2d8d8db0d9126bd996b
    which changed the return value of submit_bio_wait() to return != 0 on
    error, but didn't update the caller accordingly.
    
    Fixes: 9e882242c6 ("block: Add submit_bio_wait(), remove from md")
    Reported-by: Bill Kuzeja <William.Kuzeja@stratus.com>
    Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
    Signed-off-by: NeilBrown <neilb@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 36ce9978ddfb0db0adf9e4bddcceca19be430801
Author: Herbert Xu <herbert@gondor.apana.org.au>
Date:   Mon Oct 19 18:23:57 2015 +0800

    crypto: api - Only abort operations on fatal signal
    
    commit 3fc89adb9fa4beff31374a4bf50b3d099d88ae83 upstream.
    
    Currently a number of Crypto API operations may fail when a signal
    occurs.  This causes nasty problems as the caller of those operations
    are often not in a good position to restart the operation.
    
    In fact there is currently no need for those operations to be
    interrupted by user signals at all.  All we need is for them to
    be killable.
    
    This patch replaces the relevant calls of signal_pending with
    fatal_signal_pending, and wait_for_completion_interruptible with
    wait_for_completion_killable, respectively.
    
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9f0a848f82684f8f1417b3770a679a4441486bf7
Author: Peter Zijlstra <peterz@infradead.org>
Date:   Thu Aug 20 10:34:59 2015 +0930

    module: Fix locking in symbol_put_addr()
    
    commit 275d7d44d802ef271a42dc87ac091a495ba72fc5 upstream.
    
    Poma (on the way to another bug) reported an assertion triggering:
    
      [<ffffffff81150529>] module_assert_mutex_or_preempt+0x49/0x90
      [<ffffffff81150822>] __module_address+0x32/0x150
      [<ffffffff81150956>] __module_text_address+0x16/0x70
      [<ffffffff81150f19>] symbol_put_addr+0x29/0x40
      [<ffffffffa04b77ad>] dvb_frontend_detach+0x7d/0x90 [dvb_core]
    
    Laura Abbott <labbott@redhat.com> produced a patch which lead us to
    inspect symbol_put_addr(). This function has a comment claiming it
    doesn't need to disable preemption around the module lookup
    because it holds a reference to the module it wants to find, which
    therefore cannot go away.
    
    This is wrong (and a false optimization too, preempt_disable() is really
    rather cheap, and I doubt any of this is on uber critical paths,
    otherwise it would've retained a pointer to the actual module anyway and
    avoided the second lookup).
    
    While its true that the module cannot go away while we hold a reference
    on it, the data structure we do the lookup in very much _CAN_ change
    while we do the lookup. Therefore fix the comment and add the
    required preempt_disable().
    
    Reported-by: poma <pomidorabelisima@gmail.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Fixes: a6e6abd575fc ("module: remove module_text_address()")
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 294cf83fda51e9fc2f0c9dca79dda88110637e88
Author: Cathy Avery <cathy.avery@oracle.com>
Date:   Fri Oct 2 09:35:01 2015 -0400

    xen-blkfront: check for null drvdata in blkback_changed (XenbusStateClosing)
    
    commit a54c8f0f2d7df525ff997e2afe71866a1a013064 upstream.
    
    xen-blkfront will crash if the check to talk_to_blkback()
    in blkback_changed()(XenbusStateInitWait) returns an error.
    The driver data is freed and info is set to NULL. Later during
    the close process via talk_to_blkback's call to xenbus_dev_fatal()
    the null pointer is passed to and dereference in blkfront_closing.
    
    Signed-off-by: Cathy Avery <cathy.avery@oracle.com>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d6a4980890d0d2dbdc326301d506799cce0dc824
Author: Laura Abbott <labbott@fedoraproject.org>
Date:   Mon Oct 12 11:30:13 2015 +0300

    xhci: Add spurious wakeup quirk for LynxPoint-LP controllers
    
    commit fd7cd061adcf5f7503515ba52b6a724642a839c8 upstream.
    
    We received several reports of systems rebooting and powering on
    after an attempted shutdown. Testing showed that setting
    XHCI_SPURIOUS_WAKEUP quirk in addition to the XHCI_SPURIOUS_REBOOT
    quirk allowed the system to shutdown as expected for LynxPoint-LP
    xHCI controllers. Set the quirk back.
    
    Note that the quirk was originally introduced for LynxPoint and
    LynxPoint-LP just for this same reason. See:
    
    commit 638298dc66ea ("xhci: Fix spurious wakeups after S5 on Haswell")
    
    It was later limited to only concern HP machines as it caused
    regression on some machines, see both bug and commit:
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66171
    commit 6962d914f317 ("xhci: Limit the spurious wakeup fix only to HP machines")
    
    Later it was discovered that the powering on after shutdown
    was limited to LynxPoint-LP (Haswell-ULT) and that some non-LP HP
    machine suffered from spontaneous resume from S3 (which should
    not be related to the SPURIOUS_WAKEUP quirk at all). An attempt
    to fix this then removed the SPURIOUS_WAKEUP flag usage completely.
    
    commit b45abacde3d5 ("xhci: no switching back on non-ULT Haswell")
    
    Current understanding is that LynxPoint-LP (Haswell ULT) machines
    need the SPURIOUS_WAKEUP quirk, otherwise they will restart, and
    plain Lynxpoint (Haswell) machines may _not_ have the quirk
    set otherwise they again will restart.
    
    Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
    Cc: Takashi Iwai <tiwai@suse.de>
    Cc: Oliver Neukum <oneukum@suse.com>
    [Added more history to commit message -Mathias]
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2a95d40851bb497e14b8168454d2e9470e821a41
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Mon Oct 12 11:30:12 2015 +0300

    xhci: handle no ping response error properly
    
    commit 3b4739b8951d650becbcd855d7d6f18ac98a9a85 upstream.
    
    If a host fails to wake up a isochronous SuperSpeed device from U1/U2
    in time for a isoch transfer it will generate a "No ping response error"
    Host will then move to the next transfer descriptor.
    
    Handle this case in the same way as missed service errors, tag the
    current TD as skipped and handle it on the next transfer event.
    
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bb601ba313dd3b1a7fd78b6a64b6b069627afda5
Author: Mike Snitzer <snitzer@redhat.com>
Date:   Thu Oct 22 10:56:40 2015 -0400

    dm btree: fix leak of bufio-backed block in btree_split_beneath error path
    
    commit 4dcb8b57df3593dcb20481d9d6cf79d1dc1534be upstream.
    
    btree_split_beneath()'s error path had an outstanding FIXME that speaks
    directly to the potential for _not_ cleaning up a previously allocated
    bufio-backed block.
    
    Fix this by releasing the previously allocated bufio block using
    unlock_block().
    
    Reported-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Acked-by: Joe Thornber <thornber@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 36ce17424c89564f46ac535d666a5d4973678c5a
Author: Joe Thornber <ejt@redhat.com>
Date:   Wed Oct 21 18:36:49 2015 +0100

    dm btree remove: fix a bug when rebalancing nodes after removal
    
    commit 2871c69e025e8bc507651d5a9cf81a8a7da9d24b upstream.
    
    Commit 4c7e309340ff ("dm btree remove: fix bug in redistribute3") wasn't
    a complete fix for redistribute3().
    
    The redistribute3 function takes 3 btree nodes and shares out the entries
    evenly between them.  If the three nodes in total contained
    (MAX_ENTRIES * 3) - 1 entries between them then this was erroneously getting
    rebalanced as (MAX_ENTRIES - 1) on the left and right, and (MAX_ENTRIES + 1) in
    the center.
    
    Fix this issue by being more careful about calculating the target number
    of entries for the left and right nodes.
    
    Unit tested in userspace using this program:
    https://github.com/jthornber/redistribute3-test/blob/master/redistribute3_t.c
    
    Signed-off-by: Joe Thornber <ejt@redhat.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c48938c53e87b9c653c1bdf176d7e5645f0ec80d
Author: Will Deacon <will.deacon@arm.com>
Date:   Wed Oct 28 16:56:13 2015 +0000

    Revert "ARM64: unwind: Fix PC calculation"
    
    commit 9702970c7bd3e2d6fecb642a190269131d4ac16c upstream.
    
    This reverts commit e306dfd06fcb44d21c80acb8e5a88d55f3d1cf63.
    
    With this patch applied, we were the only architecture making this sort
    of adjustment to the PC calculation in the unwinder. This causes
    problems for ftrace, where the PC values are matched against the
    contents of the stack frames in the callchain and fail to match any
    records after the address adjustment.
    
    Whilst there has been some effort to change ftrace to workaround this,
    those patches are not yet ready for mainline and, since we're the odd
    architecture in this regard, let's just step in line with other
    architectures (like arch/arm/) for now.
    
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 29f6392728a0e1186ec2526fcddade173edb3093
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Sun Oct 11 19:38:00 2015 +0200

    rbd: prevent kernel stack blow up on rbd map
    
    commit 6d69bb536bac0d403d83db1ca841444981b280cd upstream.
    
    Mapping an image with a long parent chain (e.g. image foo, whose parent
    is bar, whose parent is baz, etc) currently leads to a kernel stack
    overflow, due to the following recursion in the reply path:
    
      rbd_osd_req_callback()
        rbd_obj_request_complete()
          rbd_img_obj_callback()
            rbd_img_parent_read_callback()
              rbd_obj_request_complete()
                ...
    
    Limit the parent chain to 16 images, which is ~5K worth of stack.  When
    the above recursion is eliminated, this limit can be lifted.
    
    Fixes: http://tracker.ceph.com/issues/12538
    
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Reviewed-by: Josh Durgin <jdurgin@redhat.com>
    [idryomov@gmail.com: backport to 3.14: rbd_dev->opts, context]
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a6bdfc658ea696a64d94e4ed0770f2433f5d4202
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Sun Oct 11 19:38:00 2015 +0200

    rbd: don't leak parent_spec in rbd_dev_probe_parent()
    
    commit 1f2c6651f69c14d0d3a9cfbda44ea101b02160ba upstream.
    
    Currently we leak parent_spec and trigger a "parent reference
    underflow" warning if rbd_dev_create() in rbd_dev_probe_parent() fails.
    The problem is we take the !parent out_err branch and that only drops
    refcounts; parent_spec that would've been freed had we called
    rbd_dev_unparent() remains and triggers rbd_warn() in
    rbd_dev_parent_put() - at that point we have parent_spec != NULL and
    parent_ref == 0, so counter ends up being -1 after the decrement.
    
    Redo rbd_dev_probe_parent() to fix this.
    
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    [idryomov@gmail.com: backport to < 4.2: rbd_dev->opts]
    Reviewed-by: Alex Elder <elder@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ea4fd9be3449da9a00d1671af934c512deb770cd
Author: Ronny Hegewald <ronny.hegewald@online.de>
Date:   Thu Oct 15 18:50:46 2015 +0000

    rbd: require stable pages if message data CRCs are enabled
    
    commit bae818ee1577c27356093901a0ea48f672eda514 upstream.
    
    rbd requires stable pages, as it performs a crc of the page data before
    they are send to the OSDs.
    
    But since kernel 3.9 (patch 1d1d1a767206fbe5d4c69493b7e6d2a8d08cc0a0
    "mm: only enforce stable page writes if the backing device requires
    it") it is not assumed anymore that block devices require stable pages.
    
    This patch sets the necessary flag to get stable pages back for rbd.
    
    In a ceph installation that provides multiple ext4 formatted rbd
    devices "bad crc" messages appeared regularly (ca 1 message every 1-2
    minutes on every OSD that provided the data for the rbd) in the
    OSD-logs before this patch. After this patch this messages are pretty
    much gone (only ca 1-2 / month / OSD).
    
    Signed-off-by: Ronny Hegewald <Ronny.Hegewald@online.de>
    [idryomov@gmail.com: require stable pages only in crc case, changelog]
    [idryomov@gmail.com: backport to 3.9-3.17: context]
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ceb4781bbd0112809f71e5a5b55d7baf46128b4a
Author: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Date:   Wed Oct 7 13:10:54 2015 +0200

    iio: mxs-lradc: Fix temperature offset
    
    commit b94e22805a2224061bb263a82b72e09544a5fbb3 upstream.
    
    0° Kelvin is actually −273.15°C, not -272.15°C. Fix the temperature offset.
    Also improve the comment explaining the calculation.
    
    Reported-by: Janusz Użycki <j.uzycki@elpromaelectronics.com>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
    Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
    Acked-by: Marek Vasut <marex@denx.de>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7fc5986496d4f18edec7ac5e5b7e0db45a58ff88
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Fri Oct 23 10:38:52 2015 -0400

    drm/radeon: don't try to recreate sysfs entries on resume
    
    commit 49abb26651167c892393cd9f2ad23df429645ed9 upstream.
    
    Fixes a harmless error message caused by:
    51a4726b04e880fdd9b4e0e58b13f70b0a68a7f5
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 41b849066ae71ab5f8d36743814a42ed6be718ae
Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
Date:   Wed Oct 7 22:08:24 2015 +0300

    drm/i915: Restore lost DPLL register write on gen2-4
    
    commit 8e7a65aa70bcc1235a44e40ae0da5056525fe081 upstream.
    
    We accidentally lost the initial DPLL register write in
    1c4e02746147 drm/i915: Fix DVO 2x clock enable on 830M
    
    The "three times for luck" hack probably saved us from a total
    disaster. But anyway, bring the initial write back so that the
    code actually makes some sense.
    
    Reported-and-tested-by: Nick Bowler <nbowler@draconx.ca>
    References: http://mid.gmane.org/CAN_QmVyMaArxYgEcVVsGvsMo7-6ohZr8HmF5VhkkL4i9KOmrhw@mail.gmail.com
    Cc: Nick Bowler <nbowler@draconx.ca>
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6d5138ba774d5a394809a0dccd9f0e06570642cf
Author: Ilia Mirkin <imirkin@alum.mit.edu>
Date:   Tue Oct 20 01:15:39 2015 -0400

    drm/nouveau/gem: return only valid domain when there's only one
    
    commit 2a6c521bb41ce862e43db46f52e7681d33e8d771 upstream.
    
    On nv50+, we restrict the valid domains to just the one where the buffer
    was originally created. However after the buffer is evicted to system
    memory, we might move it back to a different domain that was not
    originally valid. When sharing the buffer and retrieving its GEM_INFO
    data, we still want the domain that will be valid for this buffer in a
    pushbuf, not the one where it currently happens to be.
    
    This resolves fdo#92504 and several others. These are due to suspend
    evicting all buffers, making it more likely that they temporarily end up
    in the wrong place.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92504
    Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b675fdb9e8626f233bf2870f5d850e3cda1d4fde
Author: SeongJae Park <sj38.park@gmail.com>
Date:   Tue Feb 4 15:58:09 2014 +0900

    spi: fix pointer-integer size mismatch warning
    
    commit e1bde3b11fedace5042f0232339da90bc85666af upstream.
    
    Fix the pointer-integer size mismatch warning below:
    	drivers/spi/spi-gpio.c: In function ‘spi_gpio_setup’:
    	drivers/spi/spi-gpio.c:252:8: warning: cast from pointer to integer of
    			different size [-Wpointer-to-int-cast]
    	   cs = (unsigned int) spi->controller_data;
    	        ^
    
    Signed-off-by: SeongJae Park <sj38.park@gmail.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f7aae006ddea262b6c6b4eee94c1392093ba6579
Author: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Date:   Thu Dec 4 14:56:04 2014 +0000

    power: bq24190_charger: suppress build warning
    
    commit 31f50e48e3e4ea9d503285a389d6a1b5349d66c0 upstream.
    
    This patch fixes following build warning:
    
    In file included from include/linux/printk.h:261:0,
                     from include/linux/kernel.h:13,
                     from include/linux/list.h:8,
                     from include/linux/module.h:9,
                     from drivers/power/bq24190_charger.c:11:
    drivers/power/bq24190_charger.c: In function ‘bq24190_irq_handler_thread’:
    include/linux/dynamic_debug.h:86:20: warning: ‘ss_reg’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       __dynamic_dev_dbg(&descriptor, dev, fmt, \
                        ^
    drivers/power/bq24190_charger.c:1211:5: note: ‘ss_reg’ was declared here
      u8 ss_reg, f_reg;
         ^
    In file included from include/linux/printk.h:261:0,
                     from include/linux/kernel.h:13,
                     from include/linux/list.h:8,
                     from include/linux/module.h:9,
                     from drivers/power/bq24190_charger.c:11:
    include/linux/dynamic_debug.h:86:20: warning: ‘f_reg’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       __dynamic_dev_dbg(&descriptor, dev, fmt, \
                        ^
    drivers/power/bq24190_charger.c:1211:13: note: ‘f_reg’ was declared here
      u8 ss_reg, f_reg;
    
    Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
    Signed-off-by: Sebastian Reichel <sre@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5211b8aef9f583140302f111028b3a1ea0e08e4d
Author: David S. Miller <davem@davemloft.net>
Date:   Fri Apr 17 15:15:40 2015 -0400

    sfc: Fix memcpy() with const destination compiler warning.
    
    commit 1d20a16062e771b6e26b843c0cde3b17c1146e00 upstream.
    
    drivers/net/ethernet/sfc/selftest.c: In function ‘efx_iterate_state’:
    drivers/net/ethernet/sfc/selftest.c:388:9: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
    
    This is because the msg[] member of struct efx_loopback_payload
    is marked as 'const'.  Remove that.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b8319d55f4d62bef89f54530832dd2914e5bd220
Author: Jan Kara <jack@suse.com>
Date:   Thu Oct 22 13:32:21 2015 -0700

    mm: make sendfile(2) killable
    
    commit 296291cdd1629c308114504b850dc343eabc2782 upstream.
    
    Currently a simple program below issues a sendfile(2) system call which
    takes about 62 days to complete in my test KVM instance.
    
            int fd;
            off_t off = 0;
    
            fd = open("file", O_RDWR | O_TRUNC | O_SYNC | O_CREAT, 0644);
            ftruncate(fd, 2);
            lseek(fd, 0, SEEK_END);
            sendfile(fd, fd, &off, 0xfffffff);
    
    Now you should not ask kernel to do a stupid stuff like copying 256MB in
    2-byte chunks and call fsync(2) after each chunk but if you do, sysadmin
    should have a way to stop you.
    
    We actually do have a check for fatal_signal_pending() in
    generic_perform_write() which triggers in this path however because we
    always succeed in writing something before the check is done, we return
    value > 0 from generic_perform_write() and thus the information about
    signal gets lost.
    
    Fix the problem by doing the signal check before writing anything.  That
    way generic_perform_write() returns -EINTR, the error gets propagated up
    and the sendfile loop terminates early.
    
    Signed-off-by: Jan Kara <jack@suse.com>
    Reported-by: Dmitry Vyukov <dvyukov@google.com>
    Cc: Al Viro <viro@ZenIV.linux.org.uk>
    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 a5a1e5d07ef64e6d904a035d9fb04d4fefcafa45
Author: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Date:   Tue Oct 20 10:25:58 2015 +0100

    ASoC: wm8904: Correct number of EQ registers
    
    commit 97aff2c03a1e4d343266adadb52313613efb027f upstream.
    
    There are 24 EQ registers not 25, I suspect this bug came about because
    the registers start at EQ1 not zero. The bug is relatively harmless as
    the extra register written is an unused one.
    
    Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 49c8037b80f74c69546b8cadcd637fefe6ac645d
Author: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Date:   Fri Oct 16 15:53:29 2015 +0530

    powerpc/rtas: Validate rtas.entry before calling enter_rtas()
    
    commit 8832317f662c06f5c06e638f57bfe89a71c9b266 upstream.
    
    Currently we do not validate rtas.entry before calling enter_rtas(). This
    leads to a kernel oops when user space calls rtas system call on a powernv
    platform (see below). This patch adds code to validate rtas.entry before
    making enter_rtas() call.
    
      Oops: Exception in kernel mode, sig: 4 [#1]
      SMP NR_CPUS=1024 NUMA PowerNV
      task: c000000004294b80 ti: c0000007e1a78000 task.ti: c0000007e1a78000
      NIP: 0000000000000000 LR: 0000000000009c14 CTR: c000000000423140
      REGS: c0000007e1a7b920 TRAP: 0e40   Not tainted  (3.18.17-340.el7_1.pkvm3_1_0.2400.1.ppc64le)
      MSR: 1000000000081000 <HV,ME>  CR: 00000000  XER: 00000000
      CFAR: c000000000009c0c SOFTE: 0
      NIP [0000000000000000]           (null)
      LR [0000000000009c14] 0x9c14
      Call Trace:
      [c0000007e1a7bba0] [c00000000041a7f4] avc_has_perm_noaudit+0x54/0x110 (unreliable)
      [c0000007e1a7bd80] [c00000000002ddc0] ppc_rtas+0x150/0x2d0
      [c0000007e1a7be30] [c000000000009358] syscall_exit+0x0/0x98
    
    Fixes: 55190f88789a ("powerpc: Add skeleton PowerNV platform")
    Reported-by: NAGESWARA R. SASTRY <nasastry@in.ibm.com>
    Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
    [mpe: Reword change log, trim oops, and add stable + fixes]
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5d20bbde895c0353f5099131ef60ee62ba95dee6
Author: Joerg Roedel <jroedel@suse.de>
Date:   Tue Oct 20 14:59:36 2015 +0200

    iommu/amd: Don't clear DTE flags when modifying it
    
    commit cbf3ccd09d683abf1cacd36e3640872ee912d99b upstream.
    
    During device assignment/deassignment the flags in the DTE
    get lost, which might cause spurious faults, for example
    when the device tries to access the system management range.
    Fix this by not clearing the flags with the rest of the DTE.
    
    Reported-by: G. Richard Bellamy <rbellamy@pteradigm.com>
    Tested-by: G. Richard Bellamy <rbellamy@pteradigm.com>
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0caf59c93d8a6e3bb568b1b2d590b11109d125e7
Author: Luca Coelho <luciano.coelho@intel.com>
Date:   Tue Sep 22 09:44:39 2015 +0300

    iwlwifi: pci: add a few more PCI subvendor IDs for the 7265 series
    
    commit f08f625876476b6c4a87834dc86e3b927f4697d2 upstream.
    
    Add 3 new subdevice IDs for the 0x095A device ID and 2 for the 0x095B
    device ID.
    
    Reported-by: Jeremy <jeremy.bomkamp@gmail.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 61b30e9c36582297acefed83675cf2899ac2ccf1
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Sep 15 14:36:09 2015 +0200

    iwlwifi: mvm: fix D3 firmware PN programming
    
    commit 2cf5eb3ab7bb7f2e3a70edcef236cd62c87db030 upstream.
    
    The code to send the RX PN data (for each TID) to the firmware
    has a devastating bug: it overwrites the data for TID 0 with
    all the TID data, leaving the remaining TIDs zeroed. This will
    allow replays to actually be accepted by the firmware, which
    could allow waking up the system.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b0e9eaf162855cb114f6125b367d4dc12bf0fa18
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Sep 22 10:47:27 2015 +0200

    iwlwifi: fix firmware filename for 3160
    
    commit b5a48134f8af08f5243328f8a0b05fc5ae7cf343 upstream.
    
    The MODULE_FIRMWARE() for 3160 should be using the 7260 version as
    it's done in the device configuration struct instead of referencing
    IWL3160_UCODE_API_OK which doesn't even exist.
    
    Reported-by: Hauke Mehrtens <hauke@hauke-m.de>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0023548d4c19570a6f0150bb323923634b5abfcf
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Sep 15 14:36:09 2015 +0200

    iwlwifi: dvm: fix D3 firmware PN programming
    
    commit 5bd166872d8f99f156fac191299d24f828bb2348 upstream.
    
    The code to send the RX PN data (for each TID) to the firmware
    has a devastating bug: it overwrites the data for TID 0 with
    all the TID data, leaving the remaining TIDs zeroed. This will
    allow replays to actually be accepted by the firmware, which
    could allow waking up the system.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit afaf800b99d4a3d9b6e4133248fc4ac498ac113f
Author: Felix Fietkau <nbd@openwrt.org>
Date:   Thu Sep 24 16:59:46 2015 +0200

    ath9k: declare required extra tx headroom
    
    commit 029cd0370241641eb70235d205aa0b90c84dce44 upstream.
    
    ath9k inserts padding between the 802.11 header and the data area (to
    align it). Since it didn't declare this extra required headroom, this
    led to some nasty issues like randomly dropped packets in some setups.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>