commit e99d350e5ba34ef020d2f3bf585134571f1bb323
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sat Jun 6 08:19:54 2015 -0700

    Linux 3.14.44

commit 2e4d4520e9f66dfa843f9b9bc54a7536ac9a010d
Author: Andrew Morton <akpm@linux-foundation.org>
Date:   Thu May 28 15:44:24 2015 -0700

    fs/binfmt_elf.c:load_elf_binary(): return -EINVAL on zero-length mappings
    
    commit 2b1d3ae940acd11be44c6eced5873d47c2e00ffa upstream.
    
    load_elf_binary() returns `retval', not `error'.
    
    Fixes: a87938b2e246b81b4fb ("fs/binfmt_elf.c: fix bug in loading of PIE binaries")
    Reported-by: James Hogan <james.hogan@imgtec.com>
    Cc: Michael Davidson <md@google.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 be647ca464ebd9e54bd142da8150b31492aa1878
Author: Sasha Levin <sasha.levin@oracle.com>
Date:   Wed Jan 28 15:30:43 2015 -0500

    vfs: read file_handle only once in handle_to_path
    
    commit 161f873b89136eb1e69477c847d5a5033239d9ba upstream.
    
    We used to read file_handle twice.  Once to get the amount of extra
    bytes, and once to fetch the entire structure.
    
    This may be problematic since we do size verifications only after the
    first read, so if the number of extra bytes changes in userspace between
    the first and second calls, we'll have an incoherent view of
    file_handle.
    
    Instead, read the constant size once, and copy that over to the final
    structure without having to re-read it again.
    
    Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9ead29e3d2328a69947408ecc4f9ab6a8eb8a6f3
Author: Christian König <christian.koenig@amd.com>
Date:   Thu May 28 15:51:59 2015 +0200

    drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling"
    
    commit 7c0411d2fabc2e2702c9871ffb603e251158b317 upstream.
    
    We have that bug for years and some users report side effects when fixing it on older hardware.
    
    So revert it for VM_CONTEXT0_PAGE_TABLE_END_ADDR, but keep it for VM 1-15.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7e829d88dbffe6e5a0e73364cea12810dba2a1ff
Author: Christian König <christian.koenig@amd.com>
Date:   Tue May 12 14:56:17 2015 +0200

    drm/radeon: fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling
    
    commit 607d48063512707a414e346972e2210dc71ab491 upstream.
    
    The mapping range is inclusive between starting and ending addresses.
    
    Signed-off-by: Christian König <christian.koenig@amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 72848579592399f954054a1309fa3c98e81274fa
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Tue May 12 12:51:38 2015 -0400

    drm/radeon: add new bonaire pci id
    
    commit fcf3b54282e4c5a95a1f45f67558bc105acdbc6a upstream.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 35bcda8ac0aa75be0b7a0c72f43f80cc654679a1
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Thu May 7 21:19:39 2015 +0200

    ACPI / init: Fix the ordering of acpi_reserve_resources()
    
    commit b9a5e5e18fbf223502c0b2264c15024e393da928 upstream.
    
    Since acpi_reserve_resources() is defined as a device_initcall(),
    there's no guarantee that it will be executed in the right order
    with respect to the rest of the ACPI initialization code.  On some
    systems this leads to breakage if, for example, the address range
    that should be reserved for the ACPI fixed registers is given to
    the PCI host bridge instead if the race is won by the wrong code
    path.
    
    Fix this by turning acpi_reserve_resources() into a void function
    and calling it directly from within the ACPI initialization sequence.
    
    Reported-and-tested-by: George McCollister <george.mccollister@gmail.com>
    Link: http://marc.info/?t=143092384600002&r=1&w=2
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7063d2879259f1fa3f4f64aa18e0ae5c8a397226
Author: Mark Hounschell <dmarkh@cfl.rr.com>
Date:   Wed May 13 10:49:09 2015 +0200

    sd: Disable support for 256 byte/sector disks
    
    commit 74856fbf441929918c49ff262ace9835048e4e6a upstream.
    
    256 bytes per sector support has been broken since 2.6.X,
    and no-one stepped up to fix this.
    So disable support for it.
    
    Signed-off-by: Mark Hounschell <dmarkh@cfl.rr.com>
    Signed-off-by: Hannes Reinecke <hare@suse.de>
    Signed-off-by: James Bottomley <JBottomley@Odin.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ca5c8866869adc54b334c53f6eedfca0885636ab
Author: K. Y. Srinivasan <kys@microsoft.com>
Date:   Fri May 1 11:03:02 2015 -0700

    storvsc: Set the SRB flags correctly when no data transfer is needed
    
    commit dc45708ca9988656d706940df5fd102672c5de92 upstream.
    
    Set the SRB flags correctly when there is no data transfer.  Without this
    change some IHV drivers will fail valid commands such as TEST_UNIT_READY.
    
    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Reviewed-by: Long Li <longli@microsoft.com>
    Signed-off-by: James Bottomley <JBottomley@Odin.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 70b074ddfb48d205921b4983255d59fe754c338b
Author: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Date:   Thu Apr 23 09:08:43 2015 -0700

    Input: elantech - fix semi-mt protocol for v3 HW
    
    commit 3c0213d17a09601e0c6c0ae0e27caf70d988290f upstream.
    
    When the v3 hardware sees more than one finger, it uses the semi-mt
    protocol to report the touches. However, it currently works when
    num_fingers is 0, 1 or 2, but when it is 3 and above, it sends only 1
    finger as if num_fingers was 1.
    
    This confuses userspace which knows how to deal with extra fingers
    when all the slots are used, but not when some are missing.
    
    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=90101
    
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e3a9c25976f9ef1689f2e363ec8f3a3bdaa794d9
Author: Larry Finger <Larry.Finger@lwfinger.net>
Date:   Fri Apr 24 11:03:37 2015 -0500

    rtlwifi: rtl8192cu: Fix kernel deadlock
    
    commit 414b7e3b9ce8b0577f613e656fdbc36b34b444dd upstream.
    
    The USB mini-driver in rtlwifi, which is used by rtl8192cu, issues a call to
    usb_control_msg() with a timeout value of 0. In some instances where the
    interface is shutting down, this infinite wait results in a CPU deadlock. A
    one second timeout fixes this problem without affecting any normal operations.
    
    This bug is reported at https://bugzilla.novell.com/show_bug.cgi?id=927786.
    
    Reported-by: Bernhard Wiedemann <bwiedemann@suse.com>
    Tested-by: Bernhard Wiedemann <bwiedemann@suse.com>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Cc: Bernhard Wiedemann <bwiedemann@suse.com>
    Cc: Takashi Iwai<tiwai@suse.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dc82d264943e31b681c28c8398dc094635245bd2
Author: Eric Work <work.eric@gmail.com>
Date:   Mon May 18 23:26:23 2015 -0700

    md/raid0: fix restore to sector variable in raid0_make_request
    
    commit a81157768a00e8cf8a7b43b5ea5cac931262374f upstream.
    
    The variable "sector" in "raid0_make_request()" was improperly updated
    by a call to "sector_div()" which modifies its first argument in place.
    Commit 47d68979cc968535cb87f3e5f2e6a3533ea48fbd restored this variable
    after the call for later re-use.  Unfortunetly the restore was done after
    the referenced variable "bio" was advanced.  This lead to the original
    value and the restored value being different.  Here we move this line to
    the proper place.
    
    One observed side effect of this bug was discarding a file though
    unlinking would cause an unrelated file's contents to be discarded.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Fixes: 47d68979cc96 ("md/raid0: fix bug with chunksize not a power of 2.")
    URL: https://bugzilla.kernel.org/show_bug.cgi?id=98501
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 41801e3c8024d12cfeacc3be4c79d0dad9a74b46
Author: NeilBrown <neilb@suse.de>
Date:   Fri May 8 18:19:34 2015 +1000

    md/raid5: don't record new size if resize_stripes fails.
    
    commit 6e9eac2dcee5e19f125967dd2be3e36558c42fff upstream.
    
    If any memory allocation in resize_stripes fails we will return
    -ENOMEM, but in some cases we update conf->pool_size anyway.
    
    This means that if we try again, the allocations will be assumed
    to be larger than they are, and badness results.
    
    So only update pool_size if there is no error.
    
    This bug was introduced in 2.6.17 and the patch is suitable for
    -stable.
    
    Fixes: ad01c9e3752f ("[PATCH] md: Allow stripes to be expanded in preparation for expanding an array")
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dfa0af4392f58436b16b66a7fd12ba7a4a462ab2
Author: Jean Delvare <jdelvare@suse.de>
Date:   Mon Apr 20 11:21:13 2015 +0200

    thermal: step_wise: Revert optimization
    
    Commit 178c2490b99f898efc06d1ad75cadc84f13021a6 ("thermal: step_wise:
    cdev only needs update on a new target state") broke driver acerhdf.
    That driver abused the step_wise thermal governor until the bang_bang
    governor was available, and the optimization broke this usage model.
    
    Kernels v3.12 to v3.18 are affected. In v3.19 the acerhdf driver was
    switched to the bang_bang governor and that solved the problem.
    
    For kernels v3.12 to v3.17, the bang_bang governor isn't available
    yet so the easiest fix is to revert the optimization.
    
    Signed-off-by: Jean Delvare <jdelvare@suse.de>
    Reported-by: Dieter Jurzitza (https://bugzilla.opensuse.org/show_bug.cgi?id=925961)
    Tested-by: Peter Feuerer <peter@piie.net>
    Tested-by: Dieter Jurzitza

commit ca486dd1cec6073c3ada3b32b928d38c54ac4b55
Author: Scott Mayhew <smayhew@redhat.com>
Date:   Tue Apr 28 16:29:53 2015 -0400

    svcrpc: fix potential GSSX_ACCEPT_SEC_CONTEXT decoding failures
    
    commit 9507271d960a1911a51683888837d75c171cd91f upstream.
    
    In an environment where the KDC is running Active Directory, the
    exported composite name field returned in the context could be large
    enough to span a page boundary.  Attaching a scratch buffer to the
    decoding xdr_stream helps deal with those cases.
    
    The case where we saw this was actually due to behavior that's been
    fixed in newer gss-proxy versions, but we're fixing it here too.
    
    Signed-off-by: Scott Mayhew <smayhew@redhat.com>
    Reviewed-by: Simo Sorce <simo@redhat.com>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7ccb389b966778295cbd5a08b3b8435dae0a09a5
Author: Mel Gorman <mgorman@suse.de>
Date:   Thu May 14 15:17:09 2015 -0700

    mm, numa: really disable NUMA balancing by default on single node machines
    
    commit b0dc2b9bb4ab782115b964310518ee0b17784277 upstream.
    
    NUMA balancing is meant to be disabled by default on UMA machines but
    the check is using nr_node_ids (highest node) instead of
    num_online_nodes (online nodes).
    
    The consequences are that a UMA machine with a node ID of 1 or higher
    will enable NUMA balancing.  This will incur useless overhead due to
    minor faults with the impact depending on the workload.  These are the
    impact on the stats when running a kernel build on a single node machine
    whose node ID happened to be 1:
    
      			       vanilla     patched
      NUMA base PTE updates          5113158           0
      NUMA huge PMD updates              643           0
      NUMA page range updates        5442374           0
      NUMA hint faults               2109622           0
      NUMA hint local faults         2109622           0
      NUMA hint local percent            100         100
      NUMA pages migrated                  0           0
    
    Signed-off-by: Mel Gorman <mgorman@suse.de>
    Reviewed-by: Rik van Riel <riel@redhat.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 0c7dd3e341200c1569c2a281fdb534666cf8675b
Author: Andi Kleen <ak@linux.intel.com>
Date:   Thu May 14 15:16:53 2015 -0700

    tools/vm: fix page-flags build
    
    commit 4933f55fe72c86e57efc454dd6e673c7f17af5a3 upstream.
    
    libabikfs.a doesn't exist anymore, so we now need to link with libapi.a.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.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 e497a5167b8324a8728dc30cb360cab2934732a1
Author: Russell King <rmk+kernel@arm.linux.org.uk>
Date:   Fri May 15 11:02:23 2015 +0100

    ARM: fix missing syscall trace exit
    
    commit 1b97937246d8b97c0760d16d8992c7937bdf5e6a upstream.
    
    Josh Stone reports:
    
      I've discovered a case where both arm and arm64 will miss a ptrace
      syscall-exit that they should report.  If the syscall is entered
      without TIF_SYSCALL_TRACE set, then it goes on the fast path.  It's
      then possible to have TIF_SYSCALL_TRACE added in the middle of the
      syscall, but ret_fast_syscall doesn't check this flag again.
    
    Fix this by always checking for a syscall trace in the fast exit path.
    
    Reported-by: Josh Stone <jistone@redhat.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5388b9840541d379ab19527e7b7cb6a9d4db0371
Author: Philippe Reynes <tremyfr@gmail.com>
Date:   Wed May 13 00:18:26 2015 +0200

    ARM: dts: imx27: only map 4 Kbyte for fec registers
    
    commit a29ef819f3f34f89a1b9b6a939b4c1cdfe1e85ce upstream.
    
    According to the imx27 documentation, fec has a 4 Kbyte
    memory space map. Moreover, the actual 16 Kbyte mapping
    overlaps the SCC (Security Controller) memory register
    space. So, we reduce the memory register space to 4 Kbyte.
    
    Signed-off-by: Philippe Reynes <tremyfr@gmail.com>
    Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Fixes: 9f0749e3eb88 ("ARM i.MX27: Add devicetree support")
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 154531c40bcd0e108f161cbb86fba35e02d1bff7
Author: Janusz Dziedzic <janusz.dziedzic@tieto.com>
Date:   Mon May 11 11:31:15 2015 +0200

    mac80211: move WEP tailroom size check
    
    commit 47b4e1fc4972cc43a19121bc2608a60aef3bf216 upstream.
    
    Remove checking tailroom when adding IV as it uses only
    headroom, and move the check to the ICV generation that
    actually needs the tailroom.
    
    In other case I hit such warning and datapath don't work,
    when testing:
    - IBSS + WEP
    - ath9k with hw crypt enabled
    - IPv6 data (ping6)
    
    WARNING: CPU: 3 PID: 13301 at net/mac80211/wep.c:102 ieee80211_wep_add_iv+0x129/0x190 [mac80211]()
    [...]
    Call Trace:
    [<ffffffff817bf491>] dump_stack+0x45/0x57
    [<ffffffff8107746a>] warn_slowpath_common+0x8a/0xc0
    [<ffffffff8107755a>] warn_slowpath_null+0x1a/0x20
    [<ffffffffc09ae109>] ieee80211_wep_add_iv+0x129/0x190 [mac80211]
    [<ffffffffc09ae7ab>] ieee80211_crypto_wep_encrypt+0x6b/0xd0 [mac80211]
    [<ffffffffc09d3fb1>] invoke_tx_handlers+0xc51/0xf30 [mac80211]
    [...]
    
    Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b17cbe3c49ab4b4370ca9631c8621c2438618425
Author: Harald Freudenberger <freude@linux.vnet.ibm.com>
Date:   Thu May 21 10:01:11 2015 +0200

    crypto: s390/ghash - Fix incorrect ghash icv buffer handling.
    
    commit a1cae34e23b1293eccbcc8ee9b39298039c3952a upstream.
    
    Multitheaded tests showed that the icv buffer in the current ghash
    implementation is not handled correctly. A move of this working ghash
    buffer value to the descriptor context fixed this. Code is tested and
    verified with an multithreaded application via af_alg interface.
    
    Signed-off-by: Harald Freudenberger <freude@linux.vnet.ibm.com>
    Signed-off-by: Gerald Schaefer <geraldsc@linux.vnet.ibm.com>
    Reported-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b66614bc2f03b43a7d646839276f8c4b27952295
Author: Michael Brunner <mibru@gmx.de>
Date:   Mon May 11 12:46:49 2015 +0200

    gpio: gpio-kempld: Fix get_direction return value
    
    commit f230e8ffc03f17bd9d6b90ea890b8252a8cc1821 upstream.
    
    This patch fixes an inverted return value of the gpio get_direction
    function.
    
    The wrong value causes the direction sysfs entry and GPIO debugfs file
    to indicate incorrect GPIO direction settings. In some cases it also
    prevents setting GPIO output values.
    
    The problem is also present in all other stable kernel versions since
    linux-3.12.
    
    Reported-by: Jochen Henneberg <jh@henneberg-systemdesign.com>
    Signed-off-by: Michael Brunner <michael.brunner@kontron.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a3338cd9fae90c67ec12ca375b76764d6ffd11ef
Author: Scott Branden <sbranden@broadcom.com>
Date:   Mon Mar 16 10:59:52 2015 -0700

    rt2x00: add new rt2800usb device DWA 130
    
    commit ea345c145ff23197eab34d0c4d0c8a93d7bea8c6 upstream.
    
    Add the USB Id to link the D-Link DWA 130 USB Wifi adapter
    to the rt2830 driver.
    
    Signed-off-by: Scott Branden <sbranden@broadcom.com>
    Signed-off-by: Pieter Truter <ptruter@broadcom.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Cc: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit edc8643179e9198aa11e7a505ac01a90e7859659
Author: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Date:   Sat Apr 25 19:52:37 2015 +0200

    libata: Ignore spurious PHY event on LPM policy change
    
    commit 09c5b4803a80a5451d950d6a539d2eb311dc0fb1 upstream.
    
    When the LPM policy is set to ATA_LPM_MAX_POWER, the device might
    generate a spurious PHY event that cuases errors on the link.
    Ignore this event if it occured within 10s after the policy change.
    
    The timeout was chosen observing that on a Dell XPS13 9333 these
    spurious events can occur up to roughly 6s after the policy change.
    
    Link: http://lkml.kernel.org/g/3352987.ugV1Ipy7Z5@xps13
    Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d7ad68665c207a92d32a366a01481ebe3a6b2d57
Author: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Date:   Sat Apr 25 19:52:36 2015 +0200

    libata: Add helper to determine when PHY events should be ignored
    
    commit 8393b811f38acdf7fd8da2028708edad3e68ce1f upstream.
    
    This is a preparation commit that will allow to add other criteria
    according to which PHY events should be dropped.
    
    Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cdf0b10c2e341792e3a7ec622a767d62aadf38c9
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Thu May 14 19:11:50 2015 -0400

    jbd2: fix r_count overflows leading to buffer overflow in journal recovery
    
    commit e531d0bceb402e643a4499de40dd3fa39d8d2e43 upstream.
    
    The journal revoke block recovery code does not check r_count for
    sanity, which means that an evil value of r_count could result in
    the kernel reading off the end of the revoke table and into whatever
    garbage lies beyond.  This could crash the kernel, so fix that.
    
    However, in testing this fix, I discovered that the code to write
    out the revoke tables also was not correctly checking to see if the
    block was full -- the current offset check is fine so long as the
    revoke table space size is a multiple of the record size, but this
    is not true when either journal_csum_v[23] are set.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fc371c057452f734868ad2b2738cc715fad74d87
Author: Eryu Guan <guaneryu@gmail.com>
Date:   Thu May 14 19:00:45 2015 -0400

    ext4: check for zero length extent explicitly
    
    commit 2f974865ffdfe7b9f46a9940836c8b167342563d upstream.
    
    The following commit introduced a bug when checking for zero length extent
    
    5946d08 ext4: check for overlapping extents in ext4_valid_extent_entries()
    
    Zero length extent could pass the check if lblock is zero.
    
    Adding the explicit check for zero length back.
    
    Signed-off-by: Eryu Guan <guaneryu@gmail.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1e217f7207a18add4440166fa818d65b53f5422a
Author: Lukas Czerner <lczerner@redhat.com>
Date:   Thu May 14 18:55:18 2015 -0400

    ext4: fix NULL pointer dereference when journal restart fails
    
    commit 9d506594069355d1fb2de3f9104667312ff08ed3 upstream.
    
    Currently when journal restart fails, we'll have the h_transaction of
    the handle set to NULL to indicate that the handle has been effectively
    aborted. We handle this situation quietly in the jbd2_journal_stop() and just
    free the handle and exit because everything else has been done before we
    attempted (and failed) to restart the journal.
    
    Unfortunately there are a number of problems with that approach
    introduced with commit
    
    41a5b913197c "jbd2: invalidate handle if jbd2_journal_restart()
    fails"
    
    First of all in ext4 jbd2_journal_stop() will be called through
    __ext4_journal_stop() where we would try to get a hold of the superblock
    by dereferencing h_transaction which in this case would lead to NULL
    pointer dereference and crash.
    
    In addition we're going to free the handle regardless of the refcount
    which is bad as well, because others up the call chain will still
    reference the handle so we might potentially reference already freed
    memory.
    
    Moreover it's expected that we'll get aborted handle as well as detached
    handle in some of the journalling function as the error propagates up
    the stack, so it's unnecessary to call WARN_ON every time we get
    detached handle.
    
    And finally we might leak some memory by forgetting to free reserved
    handle in jbd2_journal_stop() in the case where handle was detached from
    the transaction (h_transaction is NULL).
    
    Fix the NULL pointer dereference in __ext4_journal_stop() by just
    calling jbd2_journal_stop() quietly as suggested by Jan Kara. Also fix
    the potential memory leak in jbd2_journal_stop() and use proper
    handle refcounting before we attempt to free it to avoid use-after-free
    issues.
    
    And finally remove all WARN_ON(!transaction) from the code so that we do
    not get random traces when something goes wrong because when journal
    restart fails we will get to some of those functions.
    
    Signed-off-by: Lukas Czerner <lczerner@redhat.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Reviewed-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ad34c79b5fda56d036ce3274f286a454887d76cc
Author: Pan Xinhui <xinhuix.pan@intel.com>
Date:   Sat Mar 28 10:42:56 2015 +0800

    tty/n_gsm.c: fix a memory leak when gsmtty is removed
    
    commit 8f9cfeed3eae86c70d3b04445a6f2036b27b6304 upstream.
    
    when gsmtty_remove put dlci, it will cause memory leak if dlci->port's refcount is zero.
    So we do the cleanup work in .cleanup callback instead.
    
    dlci will be last put in two call chains.
    1) gsmld_close -> gsm_cleanup_mux -> gsm_dlci_release -> dlci_put
    2) gsmld_remove -> dlci_put
    so there is a race. the memory leak depends on the race.
    
    In call chain 2. we hit the memory leak. below comment tells.
    
    release_tty -> tty_driver_remove_tty -> gsmtty_remove -> dlci_put -> tty_port_destructor (WARN_ON(port->itty) and return directly)
                             |
                    tty->port->itty = NULL;
                             |
                    tty_kref_put ---> release_one_tty -> gsmtty_cleanup (added by our patch)
    
    So our patch fix the memory leak by doing the cleanup work after tty core did.
    
    Signed-off-by: Pan Xinhui <xinhuix.pan@intel.com>
    Fixes: dfabf7ffa30585
    Acked-by: Jiri Slaby <jslaby@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 68275f52fca669da9aba3692c08048faa36059f9
Author: Ludovic Desroches <ludovic.desroches@atmel.com>
Date:   Wed May 6 15:16:46 2015 +0200

    mmc: atmel-mci: fix bad variable type for clkdiv
    
    commit 60c8f783a18feb95ad967c87e9660caf09fb4700 upstream.
    
    clkdiv is declared as an u32 but it can be set to a negative value
    causing a huge divisor value. Change its type to int to avoid this case.
    
    Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e28e66f7c51d40c2f0d8e6e916f26d34d009f737
Author: Anton Blanchard <anton@samba.org>
Date:   Thu May 14 14:45:40 2015 +1000

    powerpc: Align TOC to 256 bytes
    
    commit 5e95235ccd5442d4a4fe11ec4eb99ba1b7959368 upstream.
    
    Recent toolchains force the TOC to be 256 byte aligned. We need
    to enforce this alignment in our linker script, otherwise pointers
    to our TOC variables (__toc_start, __prom_init_toc_start) could
    be incorrect.
    
    If they are bad, we die a few hundred instructions into boot.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 67be82e439923022b91548984c80859b523ae2d8
Author: Krzysztof Opasiak <k.opasiak@samsung.com>
Date:   Fri Mar 20 15:48:56 2015 +0100

    usb: gadget: configfs: Fix interfaces array NULL-termination
    
    commit 903124fe1aa284f61745a9dd4fbfa0184e569fff upstream.
    
    memset() to 0 interfaces array before reusing
    usb_configuration structure.
    
    This commit fix bug:
    
    ln -s functions/acm.1 configs/c.1
    ln -s functions/acm.2 configs/c.1
    ln -s functions/acm.3 configs/c.1
    echo "UDC name" > UDC
    echo "" > UDC
    rm configs/c.1/acm.*
    rmdir functions/*
    mkdir functions/ecm.usb0
    ln -s functions/ecm.usb0 configs/c.1
    echo "UDC name" > UDC
    
    [   82.220969] Unable to handle kernel NULL pointer dereference at virtual address 00000000
    [   82.229009] pgd = c0004000
    [   82.231698] [00000000] *pgd=00000000
    [   82.235260] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
    [   82.240638] Modules linked in:
    [   82.243681] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.0.0-rc2 #39
    [   82.249926] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
    [   82.256003] task: c07cd2f0 ti: c07c8000 task.ti: c07c8000
    [   82.261393] PC is at composite_setup+0xe3c/0x1674
    [   82.266073] LR is at composite_setup+0xf20/0x1674
    [   82.270760] pc : [<c03510d4>]    lr : [<c03511b8>]    psr: 600001d3
    [   82.270760] sp : c07c9df0  ip : c0806448  fp : ed8c9c9c
    [   82.282216] r10: 00000001  r9 : 00000000  r8 : edaae918
    [   82.287425] r7 : ed551cc0  r6 : 00007fff  r5 : 00000000  r4 : ed799634
    [   82.293934] r3 : 00000003  r2 : 00010002  r1 : edaae918  r0 : 0000002e
    [   82.300446] Flags: nZCv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
    [   82.307910] Control: 10c5387d  Table: 6bc1804a  DAC: 00000015
    [   82.313638] Process swapper/0 (pid: 0, stack limit = 0xc07c8210)
    [   82.319627] Stack: (0xc07c9df0 to 0xc07ca000)
    [   82.323969] 9de0:                                     00000000 c06e65f4 00000000 c07c9f68
    [   82.332130] 9e00: 00000067 c07c59ac 000003f7 edaae918 ed8c9c98 ed799690 eca2f140 200001d3
    [   82.340289] 9e20: ee79a2d8 c07c9e88 c07c5304 ffff55db 00010002 edaae810 edaae860 eda96d50
    [   82.348448] 9e40: 00000009 ee264510 00000007 c07ca444 edaae860 c0340890 c0827a40 ffff55e0
    [   82.356607] 9e60: c0827a40 eda96e40 ee264510 edaae810 00000000 edaae860 00000007 c07ca444
    [   82.364766] 9e80: edaae860 c0354170 c03407dc c033db4c edaae810 00000000 00000000 00000010
    [   82.372925] 9ea0: 00000032 c0341670 00000000 00000000 00000001 eda96e00 00000000 00000000
    [   82.381084] 9ec0: 00000000 00000032 c0803a23 ee1aa840 00000001 c005d54c 249e2450 00000000
    [   82.389244] 9ee0: 200001d3 ee1aa840 ee1aa8a0 ed84f4c0 00000000 c07c9f68 00000067 c07c59ac
    [   82.397403] 9f00: 00000000 c005d688 ee1aa840 ee1aa8a0 c07db4b4 c006009c 00000032 00000000
    [   82.405562] 9f20: 00000001 c005ce20 c07c59ac c005cf34 f002000c c07ca780 c07c9f68 00000057
    [   82.413722] 9f40: f0020000 413fc090 00000001 c00086b4 c000f804 60000053 ffffffff c07c9f9c
    [   82.421880] 9f60: c0803a20 c0011fc0 00000000 00000000 c07c9fb8 c001bee0 c07ca4f0 c057004c
    [   82.430040] 9f80: c07ca4fc c0803a20 c0803a20 413fc090 00000001 00000000 01000000 c07c9fb0
    [   82.438199] 9fa0: c000f800 c000f804 60000053 ffffffff 00000000 c0050e70 c0803bc0 c0783bd8
    [   82.446358] 9fc0: ffffffff ffffffff c0783664 00000000 00000000 c07b13e8 00000000 c0803e54
    [   82.454517] 9fe0: c07ca480 c07b13e4 c07ce40c 4000406a 00000000 40008074 00000000 00000000
    [   82.462689] [<c03510d4>] (composite_setup) from [<c0340890>] (s3c_hsotg_complete_setup+0xb4/0x418)
    [   82.471626] [<c0340890>] (s3c_hsotg_complete_setup) from [<c0354170>] (usb_gadget_giveback_request+0xc/0x10)
    [   82.481429] [<c0354170>] (usb_gadget_giveback_request) from [<c033db4c>] (s3c_hsotg_complete_request+0xcc/0x12c)
    [   82.491583] [<c033db4c>] (s3c_hsotg_complete_request) from [<c0341670>] (s3c_hsotg_irq+0x4fc/0x558)
    [   82.500614] [<c0341670>] (s3c_hsotg_irq) from [<c005d54c>] (handle_irq_event_percpu+0x50/0x150)
    [   82.509291] [<c005d54c>] (handle_irq_event_percpu) from [<c005d688>] (handle_irq_event+0x3c/0x5c)
    [   82.518145] [<c005d688>] (handle_irq_event) from [<c006009c>] (handle_fasteoi_irq+0xd4/0x18c)
    [   82.526650] [<c006009c>] (handle_fasteoi_irq) from [<c005ce20>] (generic_handle_irq+0x20/0x30)
    [   82.535242] [<c005ce20>] (generic_handle_irq) from [<c005cf34>] (__handle_domain_irq+0x6c/0xdc)
    [   82.543923] [<c005cf34>] (__handle_domain_irq) from [<c00086b4>] (gic_handle_irq+0x2c/0x6c)
    [   82.552256] [<c00086b4>] (gic_handle_irq) from [<c0011fc0>] (__irq_svc+0x40/0x74)
    [   82.559716] Exception stack(0xc07c9f68 to 0xc07c9fb0)
    [   82.564753] 9f60:                   00000000 00000000 c07c9fb8 c001bee0 c07ca4f0 c057004c
    [   82.572913] 9f80: c07ca4fc c0803a20 c0803a20 413fc090 00000001 00000000 01000000 c07c9fb0
    [   82.581069] 9fa0: c000f800 c000f804 60000053 ffffffff
    [   82.586113] [<c0011fc0>] (__irq_svc) from [<c000f804>] (arch_cpu_idle+0x30/0x3c)
    [   82.593491] [<c000f804>] (arch_cpu_idle) from [<c0050e70>] (cpu_startup_entry+0x128/0x1a4)
    [   82.601740] [<c0050e70>] (cpu_startup_entry) from [<c0783bd8>] (start_kernel+0x350/0x3bc)
    [   82.609890] Code: 0a000002 e3530005 05975010 15975008 (e5953000)
    [   82.615965] ---[ end trace f57d5f599a5f1bfa ]---
    
    Most of kernel code assume that interface array in
    struct usb_configuration is NULL terminated.
    
    When gadget is composed with configfs configuration
    structure may be reused for different functions set.
    
    This bug happens because purge_configs_funcs() sets
    only next_interface_id to 0. Interface array still
    contains pointers to already freed interfaces. If in
    second try we add less interfaces than earlier we
    may access unallocated memory when trying to get
    interface descriptors.
    
    Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9db585f4f8c131f901c90929a7358fe280dadc77
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Thu Apr 30 11:09:44 2015 +0200

    usb-storage: Add NO_WP_DETECT quirk for Lacie 059f:0651 devices
    
    commit 172115090f5e739660b97694618a2ba86457063a upstream.
    
    Without this flag some versions of these enclosures do not work.
    
    Reported-and-tested-by: Christian Schaller <cschalle@redhat.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1f8cca7befdc69eabd0835f71631a61cb0f75566
Author: Mark Edwards <sonofaforester@gmail.com>
Date:   Tue Apr 14 08:52:34 2015 -0400

    USB: cp210x: add ID for KCF Technologies PRN device
    
    commit c735ed74d83f8ecb45c4c4c95a16853c9c3c8157 upstream.
    
    Added the USB serial console device ID for KCF Technologies PRN device
    which has a USB port for its serial console.
    
    Signed-off-by: Mark Edwards <sonofaforester@gmail.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7bfe253215d542a5e210cdc502e863d85bdfc0bd
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date:   Wed Apr 22 14:35:08 2015 +0200

    USB: pl2303: Remove support for Samsung I330
    
    commit 48ef23a4f686b1e4519d4193c20d26834ff810ff upstream.
    
    This phone is already supported by the visor driver.
    
    Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit be24a0d0c2acf03aa949a465ec41f6c42a8b23e1
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date:   Wed Apr 22 14:35:09 2015 +0200

    USB: visor: Match I330 phone more precisely
    
    commit 82ee3aeb9295c5fc37fd2ddf20f13ac2b40ec97d upstream.
    
    Samsung has just released a portable USB3 SSD, coming in a very small
    and nice form factor. It's USB ID is 04e8:8001, which unfortunately is
    already used by the Palm Visor driver for the Samsung I330 phone cradle.
    Having pl2303 or visor pick up this device ID results in conflicts with
    the usb-storage driver, which handles the newly released portable USB3
    SSD.
    
    To work around this conflict, I've dug up a mailing list post [1] from a
    long time ago, in which a user posts the full USB descriptor
    information. The most specific value in this appears to be the interface
    class, which has value 255 (0xff). Since usb-storage requires an
    interface class of 0x8, I believe it's correct to disambiguate the two
    devices by matching on 0xff inside visor.
    
    [1] http://permalink.gmane.org/gmane.linux.usb.user/4264
    
    Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c6526404e92d0057f57bb50f4eef9672b83bbbdb
Author: Joe Lawrence <joe.lawrence@stratus.com>
Date:   Thu Apr 30 17:16:04 2015 +0300

    xhci: gracefully handle xhci_irq dead device
    
    commit 948fa13504f80b9765d2b753691ab94c83a10341 upstream.
    
    If the xHCI host controller has died (ie, device removed) or suffered
    other serious fatal error (STS_FATAL), then xhci_irq should handle this
    condition with IRQ_HANDLED instead of -ESHUTDOWN.
    
    Signed-off-by: Joe Lawrence <joe.lawrence@stratus.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 697409c7b1b1c9cdfd3997452ea9a601bae5d06e
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Thu Apr 30 17:16:03 2015 +0300

    xhci: Solve full event ring by increasing TRBS_PER_SEGMENT to 256
    
    commit 18cc2f4cbbaf825a4fedcf2d60fd388d291e0a38 upstream.
    
    Our event ring consists of only one segment, and we risk filling
    the event ring in case we get isoc transfers with short intervals
    such as webcams that fill a TD every microframe (125us)
    
    With 64 TRB segment size one usb camera could fill the event ring in 8ms.
    A setup with several cameras and other devices can fill up the
    event ring as it is shared between all devices.
    This has occurred when uvcvideo queues 5 * 32TD URBs which then
    get cancelled when the video mode changes. The cancelled URBs are returned
    in the xhci interrupt context and blocks the interrupt handler from
    handling the new events.
    
    A full event ring will block xhci from scheduling traffic and affect all
    devices conneted to the xhci, will see errors such as Missed Service
    Intervals for isoc devices, and  and Split transaction errors for LS/FS
    interrupt devices.
    
    Increasing the TRB_PER_SEGMENT will also increase the default endpoint ring
    size, which is welcome as for most isoc transfer we had to dynamically
    expand the endpoint ring anyway to be able to queue the 5 * 32TDs uvcvideo
    queues.
    
    The default size used to be 64 TRBs per segment
    
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a5bfa46306df0fc1b4ef5ec23d720caeacde6b1e
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
Date:   Thu Apr 30 17:16:02 2015 +0300

    xhci: fix isoc endpoint dequeue from advancing too far on transaction error
    
    commit d104d0152a97fade389f47635b73a9ccc7295d0b upstream.
    
    Isoc TDs usually consist of one TRB, sometimes two. When all goes well we
    receive only one success event for a TD, and move the dequeue pointer to
    the next TD.
    
    This fails if the TD consists of two TRBs and we get a transfer error
    on the first TRB, we will then see two events for that TD.
    
    Fix this by making sure the event we get is for the last TRB in that TD
    before moving the dequeue pointer to the next TD. This will resolve some
    of the uvc and dvb issues with the
    "ERROR Transfer event TRB DMA ptr not part of current TD" error message
    
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 82f2351275f6a79143d59ba4181dec9fad95514f
Author: Andy Grover <agrover@redhat.com>
Date:   Fri May 22 14:07:44 2015 -0700

    target/pscsi: Don't leak scsi_host if hba is VIRTUAL_HOST
    
    commit 5a7125c64def3b21f8147eca8b54949a60963942 upstream.
    
    See https://bugzilla.redhat.com/show_bug.cgi?id=1025672
    
    We need to put() the reference to the scsi host that we got in
    pscsi_configure_device(). In VIRTUAL_HOST mode it is associated with
    the dev_virt, not the hba_virt.
    
    Signed-off-by: Andy Grover <agrover@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b479c8bfa276ffd1ccc23f40bd8c3ccb2412b2e4
Author: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Date:   Tue May 5 17:49:54 2015 +0200

    staging: gdm724x: Correction of variable usage after applying ALIGN()
    
    commit 892c89d5d7ffd1bb794fe54d86c0eef18d215fab upstream.
    
    Fix regression introduced by commit <29ef8a53542a>. After it writing
    AT commands to /dev/GCT-ATM0 is unsuccessful (no echo, no response)
    and dmesg show "gdmtty: invalid payload : 1 16 f011".
    
    Before that commit value of dummy_cnt was only a padding size. After using
    ALIGN() this value is increased by its first argument. So the following
    usage of this variable needs correction.
    
    Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit afb2cc5681f3d188420f770484cd2d491caec58e
Author: Zidan Wang <zidan.wang@freescale.com>
Date:   Tue May 12 14:58:50 2015 +0800

    ASoC: wm8994: correct BCLK DIV 348 to 384
    
    commit 17fc2e0a3db11889e942c5ab15a1fcb876638f25 upstream.
    
    According to the RM of wm8958, BCLK DIV 348 doesn't exist, correct it
    to 384.
    
    Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
    Acked-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 7f6469ced41d2b4b5acbb96edcca1df88f9f649f
Author: Zidan Wang <zidan.wang@freescale.com>
Date:   Tue May 12 14:58:36 2015 +0800

    ASoC: wm8960: fix "RINPUT3" audio route error
    
    commit 85e36a1f4a735d991ba5106781ea48e89a0b8901 upstream.
    
    It should be "RINPUT3" instead of "LINPUT3" route to "Right Input
    Mixer".
    
    Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
    Acked-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 86a8cd527799ded8eab87e9b85b2388fbb9b1921
Author: Axel Lin <axel.lin@ingics.com>
Date:   Mon Apr 27 14:51:35 2015 +0800

    ASoC: mc13783: Fix wrong mask value used in mc13xxx_reg_rmw() calls
    
    commit 545774bd6e1427d98dde77244329d2311c5eca6f upstream.
    
    mc13xxx_reg_rmw() won't change any bit if passing 0 to the mask field.
    Pass AUDIO_SSI_SEL instead of 0 for the mask field to set AUDIO_SSI_SEL
    bit.
    
    Signed-off-by: Axel Lin <axel.lin@ingics.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 33dc294ef27f02fdd33eeda14d6ce1b2dbeddf69
Author: Takashi Iwai <tiwai@suse.de>
Date:   Sun May 24 08:27:52 2015 +0200

    Revert "ALSA: hda - Add mute-LED mode control to Thinkpad"
    
    commit 3530febb5c7636f6b26d15637f68296804d26491 upstream.
    
    This reverts commit 7290006d8c0900c56d8c58428134f02c35109d17.
    
    Through the regression report, it was revealed that the
    tpacpi_led_set() call to thinkpad_acpi helper doesn't only toggle the
    mute LED but actually mutes the sound.  This is contradiction to the
    expectation, and rather confuses user.
    
    According to Henrique, it's not trivial to judge which TP model
    behaves "LED-only" and which model does whatever more intrusive, as
    Lenovo's implementations vary model by model.  So, from the safety
    reason, we should revert the patch for now.
    
    Reported-by: Martin Steigerwald <martin@lichtvoll.de>
    Cc: Pali Rohár <pali.rohar@gmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 84c28caf882dac288877716ceafd8dce2d96fd46
Author: Takashi Iwai <tiwai@suse.de>
Date:   Fri May 1 09:20:34 2015 +0200

    ALSA: hda - Add headphone quirk for Lifebook E752
    
    commit 88776f366ede7d9cdce60bd2c9753dd6d6fa8b77 upstream.
    
    Fujitsu Lifebook E752 laptop needs a similar quirk done for Lifebook
    T731.  Otherwise the headphone is always muted.
    
    Reported-and-tested-by: Christian Weber <we_chris@hotmail.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 82d6e4569426aa944640305e9510f6600432faa6
Author: David Henningsson <david.henningsson@canonical.com>
Date:   Wed May 13 13:28:54 2015 +0200

    ALSA: hda - Add Conexant codecs CX20721, CX20722, CX20723 and CX20724
    
    commit 6ffc0898b29a2811a6c0569c5dd9b581980110df upstream.
    
    This patch adds support for Conexant HD Audio codecs
    CX20721, CX20722, CX20723 and CX20724.
    
    BugLink: https://bugs.launchpad.net/bugs/1454656
    Signed-off-by: David Henningsson <david.henningsson@canonical.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 85f13d11fa402be59592da99d04ca12b0662dc63
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Thu May 28 23:09:19 2015 -0400

    d_walk() might skip too much
    
    commit 2159184ea01e4ae7d15f2017e296d4bc82d5aeb0 upstream.
    
    when we find that a child has died while we'd been trying to ascend,
    we should go into the first live sibling itself, rather than its sibling.
    
    Off-by-one in question had been introduced in "deal with deadlock in
    d_walk()" and the fix needs to be backported to all branches this one
    has been backported to.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9ad68dc3f6f155f6a8bda0bb8837c854a9db2ff2
Author: Jan Kara <jack@suse.cz>
Date:   Tue Jun 2 17:10:28 2015 +0200

    lib: Fix strnlen_user() to not touch memory after specified maximum
    
    commit f18c34e483ff6b1d9866472221e4015b3a4698e4 upstream.
    
    If the specified maximum length of the string is a multiple of unsigned
    long, we would load one long behind the specified maximum.  If that
    happens to be in a next page, we can hit a page fault although we were
    not expected to.
    
    Fix the off-by-one bug in the test whether we are at the end of the
    specified range.
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7bbf0eb78d91361497ce6dbb787cf1625cbaeb1a
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Thu May 28 09:08:09 2015 -0700

    hwmon: (nct6775) Add missing sysfs attribute initialization
    
    commit 1b63bf617206ff35b93c57c67bbe067ac735a85a upstream.
    
    The following error message is seen when loading the nct6775 driver
    with DEBUG_LOCK_ALLOC enabled.
    
    BUG: key ffff88040b2f0030 not in .data!
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 186 at kernel/locking/lockdep.c:2988
    				lockdep_init_map+0x469/0x630()
    DEBUG_LOCKS_WARN_ON(1)
    
    Caused by a missing call to sysfs_attr_init() when initializing
    sysfs attributes.
    
    Reported-by: Alexey Orishko <alexey.orishko@gmail.com>
    Reviewed-by: Jean Delvare <jdelvare@suse.de>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 982a00e5842c7edd90d7bafac97c18539365777e
Author: Chris Lesiak <chris.lesiak@licor.com>
Date:   Tue May 26 15:40:44 2015 -0500

    hwmon: (ntc_thermistor) Ensure iio channel is of type IIO_VOLTAGE
    
    commit adba657533bdd255f7b78bc8a324091f46b294cd upstream.
    
    When configured via device tree, the associated iio device needs to be
    measuring voltage for the conversion to resistance to be correct.
    Return -EINVAL if that is not the case.
    
    Signed-off-by: Chris Lesiak <chris.lesiak@licor.com>
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8d3cbb90968e6fc0114b6666d393ad968eaeb16a
Author: David Vrabel <david.vrabel@citrix.com>
Date:   Tue May 19 18:40:49 2015 +0100

    xen/events: don't bind non-percpu VIRQs with percpu chip
    
    commit 77bb3dfdc0d554befad58fdefbc41be5bc3ed38a upstream.
    
    A non-percpu VIRQ (e.g., VIRQ_CONSOLE) may be freed on a different
    VCPU than it is bound to.  This can result in a race between
    handle_percpu_irq() and removing the action in __free_irq() because
    handle_percpu_irq() does not take desc->lock.  The interrupt handler
    sees a NULL action and oopses.
    
    Only use the percpu chip/handler for per-CPU VIRQs (like VIRQ_TIMER).
    
      # cat /proc/interrupts | grep virq
       40:      87246          0  xen-percpu-virq      timer0
       44:          0          0  xen-percpu-virq      debug0
       47:          0      20995  xen-percpu-virq      timer1
       51:          0          0  xen-percpu-virq      debug1
       69:          0          0   xen-dyn-virq      xen-pcpu
       74:          0          0   xen-dyn-virq      mce
       75:         29          0   xen-dyn-virq      hvc_console
    
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c018f62178c6a14d61c6dc3885d42e0c3f977782
Author: Ilya Dryomov <idryomov@gmail.com>
Date:   Mon May 11 17:53:10 2015 +0300

    libceph: request a new osdmap if lingering request maps to no osd
    
    commit b0494532214bdfbf241e94fabab5dd46f7b82631 upstream.
    
    This commit does two things.  First, if there are any homeless
    lingering requests, we now request a new osdmap even if the osdmap that
    is being processed brought no changes, i.e. if a given lingering
    request turned homeless in one of the previous epochs and remained
    homeless in the current epoch.  Not doing so leaves us with a stale
    osdmap and as a result we may miss our window for reestablishing the
    watch and lose notifies.
    
    MON=1 OSD=1:
    
        # cat linger-needmap.sh
        #!/bin/bash
        rbd create --size 1 test
        DEV=$(rbd map test)
        ceph osd out 0
        rbd map dne/dne # obtain a new osdmap as a side effect (!)
        sleep 1
        ceph osd in 0
        rbd resize --size 2 test
        # rbd info test | grep size -> 2M
        # blockdev --getsize $DEV -> 1M
    
    N.B.: Not obtaining a new osdmap in between "osd out" and "osd in"
    above is enough to make it miss that resize notify, but that is a
    bug^Wlimitation of ceph watch/notify v1.
    
    Second, homeless lingering requests are now kicked just like those
    lingering requests whose mapping has changed.  This is mainly to
    recognize that a homeless lingering request makes no sense and to
    preserve the invariant that a registered lingering request is not
    sitting on any of r_req_lru_item lists.  This spares us a WARN_ON,
    which commit ba9d114ec557 ("libceph: clear r_req_lru_item in
    __unregister_linger_request()") tried to fix the _wrong_ way.
    
    Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
    Reviewed-by: Sage Weil <sage@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e93327e02e4200f321bc2f0838fbb46e06b8646f
Author: Rusty Russell <rusty@rustcorp.com.au>
Date:   Wed May 27 10:59:26 2015 +0930

    lguest: fix out-by-one error in address checking.
    
    commit 83a35114d0e4583e6b0ca39502e68b6a92e2910c upstream.
    
    This bug has been there since day 1; addresses in the top guest physical
    page weren't considered valid.  You could map that page (the check in
    check_gpte() is correct), but if a guest tried to put a pagetable there
    we'd check that address manually when walking it, and kill the guest.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 1330ac1cd7b8d6180ccd60eaf271e0954cc58d82
Author: Sasha Levin <sasha.levin@oracle.com>
Date:   Thu May 28 15:44:29 2015 -0700

    fs, omfs: add NULL terminator in the end up the token list
    
    commit dcbff39da3d815f08750552fdd04f96b51751129 upstream.
    
    match_token() expects a NULL terminator at the end of the token list so
    that it would know where to stop.  Not having one causes it to overrun
    to invalid memory.
    
    In practice, passing a mount option that omfs didn't recognize would
    sometimes panic the system.
    
    Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
    Signed-off-by: Bob Copeland <me@bobcopeland.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 5ca74d43d929e6ecaba677a411f0e81371d61f76
Author: Junling Zheng <zhengjunling@huawei.com>
Date:   Mon Jun 1 09:28:00 2015 +0000

    net: socket: Fix the wrong returns for recvmsg and sendmsg
    
    Based on 08adb7dabd4874cc5666b4490653b26534702ce0 upstream.
    
    We found that after v3.10.73, recvmsg might return -EFAULT while -EINVAL
    was expected.
    
    We tested it through the recvmsg01 testcase come from LTP testsuit. It set
    msg->msg_namelen to -1 and the recvmsg syscall returned errno 14, which is
    unexpected (errno 22 is expected):
    
    recvmsg01    4  TFAIL  :  invalid socket length ; returned -1 (expected -1),
    errno 14 (expected 22)
    
    Linux mainline has no this bug for commit 08adb7dab fixes it accidentally.
    However, it is too large and complex to be backported to LTS 3.10.
    
    Commit 281c9c36 (net: compat: Update get_compat_msghdr() to match
    copy_msghdr_from_user() behaviour) made get_compat_msghdr() return
    error if msg_sys->msg_namelen was negative, which changed the behaviors
    of recvmsg and sendmsg syscall in a lib32 system:
    
    Before commit 281c9c36, get_compat_msghdr() wouldn't fail and it would
    return -EINVAL in move_addr_to_user() or somewhere if msg_sys->msg_namelen
    was invalid and then syscall returned -EINVAL, which is correct.
    
    And now, when msg_sys->msg_namelen is negative, get_compat_msghdr() will
    fail and wants to return -EINVAL, however, the outer syscall will return
    -EFAULT directly, which is unexpected.
    
    This patch gets the return value of get_compat_msghdr() as well as
    copy_msghdr_from_user(), then returns this expected value if
    get_compat_msghdr() fails.
    
    Fixes: 281c9c36 (net: compat: Update get_compat_msghdr() to match copy_msghdr_from_user() behaviour)
    Signed-off-by: Junling Zheng <zhengjunling@huawei.com>
    Signed-off-by: Hanbing Xu <xuhanbing@huawei.com>
    Cc: Li Zefan <lizefan@huawei.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: David Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2917b458441b54eaf677f440005dc2635ca0e1ec
Author: Paolo Bonzini <pbonzini@redhat.com>
Date:   Thu Apr 2 11:04:05 2015 +0200

    KVM: MMU: fix CR4.SMEP=1, CR0.WP=0 with shadow pages
    
    commit 898761158be7682082955e3efa4ad24725305fc7 upstream.
    
    smep_andnot_wp is initialized in kvm_init_shadow_mmu and shadow pages
    should not be reused for different values of it.  Thus, it has to be
    added to the mask in kvm_mmu_pte_write.
    
    Reviewed-by: Xiao Guangrong <guangrong.xiao@linux.intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2b592f2c291bb2d4115f3febdd6ed8aa2dd3c69a
Author: Chen Gang <gang.chen.5i5j@gmail.com>
Date:   Sat Nov 1 19:46:12 2014 +0800

    qla2xxx: remove redundant declaration in 'qla_gbl.h'
    
    commit 9493c2422cae272d6f1f567cbb424195defe4176 upstream.
    
    Remove 2 redundant extern inline functions: qla8044_set_qsnt_ready() and
    qla8044_need_reset_handler(). At present, within upstream next kernel
    source code, they are only used within "drivers/scsi/qla2xxx/qla_nx2.c".
    
    The related error and warnings (with allmodconfig under tile):
    
        CC [M]  drivers/scsi/qla2xxx/qla_nx2.o
      drivers/scsi/qla2xxx/qla_nx2.c:1633:1: error: static declaration of 'qla8044_need_reset_handler' follows non-static declaration
       qla8044_need_reset_handler(struct scsi_qla_host *vha)
       ^
      In file included from drivers/scsi/qla2xxx/qla_def.h:3706:0,
                       from drivers/scsi/qla2xxx/qla_nx2.c:11:
      drivers/scsi/qla2xxx/qla_gbl.h:756:20: note: previous declaration of 'qla8044_need_reset_handler' was here
       extern inline void qla8044_need_reset_handler(struct scsi_qla_host *vha);
                          ^
      drivers/scsi/qla2xxx/qla_gbl.h:756:20: warning: inline function 'qla8044_need_reset_handler' declared but never defined
      make[3]: *** [drivers/scsi/qla2xxx/qla_nx2.o] Error 1
      make[2]: *** [drivers/scsi/qla2xxx] Error 2
      make[1]: *** [drivers/scsi] Error 2
      make: *** [drivers] Error 2
    
        CC [M]  drivers/scsi/qla2xxx/qla_tmpl.o
      In file included from drivers/scsi/qla2xxx/qla_def.h:3706:0,
                       from drivers/scsi/qla2xxx/qla_tmpl.c:7:
      drivers/scsi/qla2xxx/qla_gbl.h:755:20: warning: inline function 'qla8044_set_qsnt_ready' declared but never defined
       extern inline void qla8044_set_qsnt_ready(struct scsi_qla_host *vha);
                        ^
    
    Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
    Acked-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d6d25d1664a5751d200e469fe5027e7fc68b73c1
Author: Kirill A. Shutemov <kirill@shutemov.name>
Date:   Mon Oct 20 12:23:12 2014 +0300

    kernel: use the gnu89 standard explicitly
    
    commit 51b97e354ba9fce1890cf38ecc754aa49677fc89 upstream.
    
    Sasha Levin reports:
     "gcc5 changes the default standard to c11, which makes kernel build
      unhappy
    
      Explicitly define the kernel standard to be gnu89 which should keep
      everything working exactly like it was before gcc5"
    
    There are multiple small issues with the new default, but the biggest
    issue seems to be that the old - and very useful - GNU extension to
    allow a cast in front of an initializer has gone away.
    
    Patch updated by Kirill:
     "I'm pretty sure all gcc versions you can build kernel with supports
      -std=gnu89.  cc-option is redunrant.
    
      We also need to adjust HOSTCFLAGS otherwise allmodconfig fails for me"
    
    Note by Andrew Pinski:
     "Yes it was reported and both problems relating to this extension has
      been added to gnu99 and gnu11.  Though there are other issues with the
      kernel dealing with extern inline have different semantics between
      gnu89 and gnu99/11"
    
    End result: we may be able to move up to a newer stdc model eventually,
    but right now the newer models have some annoying deficiencies, so the
    traditional "gnu89" model ends up being the preferred one.
    
    Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
    Singed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a18d3f83d34231387e839d5a60f1d47394140974
Author: Behan Webster <behanw@converseincode.com>
Date:   Wed Oct 29 15:42:21 2014 -0700

    staging, rtl8192e, LLVMLinux: Remove unused inline prototype
    
    commit 62ec95f86d2850b7ce6d73fb236a6fcf48411aea upstream.
    
    rtllib_probe_req is defined as "static inline" in rtllib_softmac.c however it
    is declared differently as "extern inline" in rtllib_softmac.h. Since it isn't
    used outside of the scope of rtllib_softmac, it makes sense to remove the
    incorrect declaration.
    
    Signed-off-by: Behan Webster <behanw@converseincode.com>
    Suggested-by: Arnd Bergmann <arnd@arndb.de>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fa89009a1869844f9a9360eb07c45d457446ac0e
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Thu Jun 5 22:48:15 2014 +0200

    staging: rtl8712, rtl8712: avoid lots of build warnings
    
    commit 0c9f3a65c5eb7fe1fc611a22eb8a8b71ea865998 upstream.
    
    The rtl8712 driver has an 'extern inline' function that contains an
    'if', which causes lots of warnings with CONFIG_PROFILE_ALL_BRANCHES
    overriding the definition of 'if':
    
    drivers/staging/rtl8712/ieee80211.h:759:229: warning: '______f' is static but declared in inline function 'ieee80211_get_hdrlen' which is not static [enabled by default]
    
    This changes the driver to use 'static inline' instead, which happens
    to be the correct annotation anyway.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Cc: Larry Finger <Larry.Finger@lwfinger.net>
    Cc: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c3d1409f854af336108600edcd967feacf4cbd24
Author: Behan Webster <behanw@converseincode.com>
Date:   Wed Oct 29 15:42:20 2014 -0700

    staging, rtl8192e, LLVMLinux: Change extern inline to static inline
    
    commit 6d91857d4826b382b3fd4fad95f52713be646f96 upstream.
    
    With compilers which follow the C99 standard (like modern versions of gcc and
    clang), "extern inline" does the opposite thing from older versions of gcc
    (emits code for an externally linkable version of the inline function).
    
    "static inline" does the intended behavior in all cases instead.
    
    Signed-off-by: Behan Webster <behanw@converseincode.com>
    Suggested-by: Arnd Bergmann <arnd@arndb.de>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 43770aad8a09e8d7c42c8e0eaf5b7ad6b5214c9b
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sat May 23 13:26:23 2015 -0700

    staging: wlags49_h2: fix extern inline functions
    
    Patch not upstream as this driver is deleted there.
    
    Fix up some "extern inline" functions as they break the build when using
    a "modern" complier (i.e. gcc5).
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>