[openchrome-devel] drm-openchrome: Changes to 'drm-next-4.19'

Kevin Brace kevinbrace at kemper.freedesktop.org
Tue Jul 17 02:36:38 UTC 2018


New branch 'drm-next-4.19' available with the following commits:
commit b48b001db30ce680652906876239fd2967cfd696
Merge: 839508f2a378 bf642e3a1996
Author: Kevin Brace <kevinbrace at gmx.com>
Date:   Mon Jul 16 19:08:05 2018 -0700

    Merge tag 'drm-fixes-2018-07-16-1' of git://anongit.freedesktop.org/drm/drm into drm-next-4.19
    
    i915, amdgpu, armada, sun4i and tegra fixes

commit bf642e3a1996f1ed8f083c5ecd4b51270a9e11bc
Merge: a929b32537bc 09d2da310d61
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jul 16 10:32:11 2018 +1000

    Merge tag 'drm-intel-fixes-2018-07-12' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
    
    I already pulled the first fix, pull the GVT fixes.
    
    - GVT fix for KBL vGPU hang to update virtual register from LRI.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180713070922.GA19840@intel.com

commit a929b32537bc6800f7b54df56455ca942bcd3035
Merge: 990187537be1 92298c1cd8e8
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jul 16 09:57:22 2018 +1000

    Merge branch 'drm-armada-fixes' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-fixes
    
    Two armada fixes.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180713075427.GA16160@rmk-PC.armlinux.org.uk

commit 990187537be1136ccd739efa550780ca4ee1a100
Merge: 2757de4c0986 3156b53c2e2f
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jul 16 09:50:26 2018 +1000

    Merge tag 'drm-misc-fixes-2018-07-13' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
    
    Fixes for v4.18-rc5:
    - Single fix for a build error when the driver is builtin,
      but the backend is a loadable module.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/9c596cf5-3f24-070e-74f2-c59bfbaf68fa@linux.intel.com

commit 2757de4c098616a3da29f149bd2b7f0842989830
Merge: e280057762cd 5265f0338bc0
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jul 16 09:48:54 2018 +1000

    Merge tag 'drm/tegra/for-4.18-rc5' of git://anongit.freedesktop.org/tegra/linux into drm-fixes
    
    drm/tegra: Fixes for v4.18-rc5
    
    This contains a couple of one- or two-line fixes for various minor
    issues in the Tegra driver.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180712070142.15571-1-thierry.reding@gmail.com

commit e280057762cd553a6863b7e3a73f5040ed879a15
Merge: f88147e4e1c2 02ce6ce2e1d0
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jul 16 09:45:56 2018 +1000

    Merge branch 'drm-fixes-4.18' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
    
    A few display and GPUVM fixes for 4.18.
    
    A few more fixes for 4.18. Two display fixes and a fix to avoid a segfault if
    the GPU does not power up properly on resume.  These are on top of my pull
    from earlier this week.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180712043820.2877-1-alexander.deucher@amd.com

commit f88147e4e1c2268a38aea326573f533652ee2314
Merge: 572d8fda26fe 96a85cc517a9
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Jul 16 09:42:48 2018 +1000

    Merge tag 'drm-intel-fixes-2018-07-10' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
    
    - Fix hotplug irq ack on i965/g4x (Ville)
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    
    Link: https://patchwork.freedesktop.org/patch/msgid/20180710213249.GA16479@intel.com

commit 02ce6ce2e1d07e31e8314c761a2caa087ea094ce
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Thu Jul 12 08:38:09 2018 -0500

    drm/amdgpu/pp/smu7: use a local variable for toc indexing
    
    Rather than using the index variable stored in vram.  If
    the device fails to come back online after a resume cycle,
    reads from vram will return all 1s which will cause a
    segfault. Based on a patch from Thomas Martitz <kugel at rockbox.org>.
    This avoids the segfault, but we still need to sort out
    why the GPU does not come back online after a resume.
    
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=105760
    Acked-by: Christian König <christian.koenig at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: stable at vger.kernel.org

commit 8d4235f71513cdccd9dc52b674323c3591552bc1
Author: David Francis <David.Francis at amd.com>
Date:   Thu Jul 12 10:07:49 2018 -0400

    amd/dc/dce100: On dce100, set clocks to 0 on suspend
    
    [Why]
    When a dce100 asic was suspended, the clocks were not set to 0.
    Upon resume, the new clock was compared to the existing clock,
    they were found to be the same, and so the clock was not set.
    This resulted in a pernicious blackscreen.
    
    [How]
    In atomic commit, check to see if there are any active pipes.
    If no, set clocks to 0
    
    Signed-off-by: David Francis <David.Francis at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit d89d01f2232b90e8024ae07ff5ab213521875448
Author: Harry Wentland <harry.wentland at amd.com>
Date:   Thu Jul 12 10:23:21 2018 -0400

    drm/amd/display: Convert 10kHz clks from PPLib into kHz for Vega
    
    The driver is expecting clock frequency in kHz, while SMU returns
    the values in 10kHz, which causes the bandwidth validation to fail
    
    4.18 has the faulty clock assignment in pp_to_dc_clock_levels_with_latency
    only, which is only used by Vega. Make sure we multiply these values
    by 10 here, as we do for other ASICs as powerplay assigned them
    wrong. 4.19 has the proper fix in powerplay.
    
    v2: Add Fixes tag
    v3: Fixes -> Bugzilla, with simplified link
    
    Bugzilla: https://bugs.freedesktop.org/107082
    
    Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
    Signed-off-by: Harry Wentland <harry.wentland at amd.com>
    Acked-by: Michel Dänzer <michel.daenzer at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit 09d2da310d61c4bfae33ea05b88e7a8f31350d9e
Merge: 96a85cc517a9 6cef21a19649
Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
Date:   Thu Jul 12 00:15:52 2018 -0700

    Merge tag 'gvt-fixes-2018-07-11' of https://github.com/intel/gvt-linux into drm-intel-fixes
    
    gvt-fixes-2018-07-11
    
    - Fix KBL virtual register update from LRI for GPU hang (Henry)
    
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180711024056.GV1267@zhen-hp.sh.intel.com

commit 9d4a0d4cdc8b5904ec7c9b9e04bab3e9e60d7a74
Author: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
Date:   Thu Jul 5 14:49:34 2018 -0400

    drm/amdgpu: Verify root PD is mapped into kernel address space (v4)
    
    Problem: When PD/PT update made by CPU root PD was not yet mapped causing
    page fault.
    
    Fix: Verify root PD is mapped into CPU address space.
    
    v2:
    Make sure that we add the root PD to the relocated list
    since then it's get mapped into CPU address space bt default
    in amdgpu_vm_update_directories.
    
    v3:
    Drop change to not move kernel type BOs to evicted list.
    
    v4:
    Remove redundant bo move to relocated list.
    
    Link: https://bugs.freedesktop.org/show_bug.cgi?id=107065
    Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
    Reviewed-by: Christian König <christian.koenig at amd.com>
    Reviewed-by: Junwei Zhang <Jerry.Zhang at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: stable at vger.kernel.org

commit 0b9021972d3eef525d53076d8c7ac091e988d2e4
Author: Christian König <christian.koenig at amd.com>
Date:   Fri Jul 6 13:46:05 2018 +0200

    drm/amd/display: fix invalid function table override
    
    Otherwise we try to program hardware with the wrong watermark functions
    when multiple DCE generations are installed in one system.
    
    Signed-off-by: Christian König <christian.koenig at amd.com>
    Reviewed-by: Harry Wentland <harry.wentland at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: stable at vger.kernel.org

commit ed6b4b5559769c6c5a0fcb3fac8a9e1f4e58c4ae
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Mon Jun 25 11:07:17 2018 +0200

    drm/amdgpu: Reserve VM root shared fence slot for command submission (v3)
    
    Without this, there could not be enough slots, which could trigger the
    BUG_ON in reservation_object_add_shared_fence.
    
    v2:
    * Jump to the error label instead of returning directly (Jerry Zhang)
    v3:
    * Reserve slots for command submission after VM updates (Christian König)
    
    Cc: stable at vger.kernel.org
    Bugzilla: https://bugs.freedesktop.org/106418
    Reported-by: mikhail.v.gavrilov at gmail.com
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    Signed-off-by: Junwei Zhang <Jerry.Zhang at amd.com>
    Reviewed-by: Christian König <christian.koenig at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit 5292221d6ddfed75e5b46cd42237a677094b99f3
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Tue Jul 10 12:56:45 2018 -0500

    Revert "drm/amd/display: Don't return ddc result and read_bytes in same return value"
    
    This reverts commit 018d82e5f02ef3583411bcaa4e00c69786f46f19.
    
    This breaks DDC in certain cases.  Revert for 4.18 and previous kernels.
    For 4.19, this is fixed with the following more extensive patches:
    drm/amd/display: Serialize is_dp_sink_present
    drm/amd/display: Break out function to simply read aux reply
    drm/amd/display: Return aux replies directly to DRM
    drm/amd/display: Right shift AUX reply value sooner than later
    drm/amd/display: Read AUX channel even if only status byte is returned
    
    Link: https://lists.freedesktop.org/archives/amd-gfx/2018-July/023788.html
    Acked-by: Harry Wentland <harry.wentland at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: stable at vger.kernel.org

commit 572d8fda26fecbb6bbb63e917b5610c7157cde96
Author: Gustavo A. R. Silva <gustavo at embeddedor.com>
Date:   Wed Jul 4 17:20:41 2018 -0500

    char: amd64-agp: Use 64-bit arithmetic instead of 32-bit
    
    Cast *tmp* and *nb_base* to u64 in order to give the compiler
    complete information about the proper arithmetic to use.
    
    Notice that such variables are used in contexts that expect
    expressions of type u64 (64 bits, unsigned) and the following
    expressions are currently being evaluated using 32-bit arithmetic:
    
    tmp << 25
    nb_base << 25
    
    Addresses-Coverity-ID: 200586 ("Unintentional integer overflow")
    Addresses-Coverity-ID: 200587 ("Unintentional integer overflow")
    Signed-off-by: Gustavo A. R. Silva <gustavo at embeddedor.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 8fb8876b2d1432b352c96add3adefa28d2754672
Author: Souptick Joarder <jrdr.linux at gmail.com>
Date:   Mon May 21 23:47:04 2018 +0530

    char: agp: Change return type to vm_fault_t
    
    Use new return type vm_fault_t for fault handler. For now,
    this is just documenting that the function returns a
    VM_FAULT value rather than an errno. Once all instances are
    converted, vm_fault_t will become a distinct type.
    
    Ref-> commit 1c8f422059ae ("mm: change return type to
    vm_fault_t") was added in 4.17-rc1 to introduce the new
    typedef vm_fault_t. Currently we are making change to all
    drivers to return vm_fault_t for page fault handlers. As
    part of that char/agp driver is also getting changed to
    return vm_fault_t type from fault handler.
    
    Signed-off-by: Souptick Joarder <jrdr.linux at gmail.com>
    Reviewed-by: Matthew Wilcox <mawilcox at microsoft.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit dc81aab1be9fac2e11f31fe7538a50705eba08cf
Author: Daniel Vetter <daniel.vetter at ffwll.ch>
Date:   Fri Jul 6 09:28:42 2018 +0200

    MAINTAINERS: update drm tree
    
    Mail to dri-devel went out, linux-next was updated, but we forgot this
    one here.
    
    Cc: David Airlie <airlied at linux.ie>
    Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
    Acked-by: Alex Deucher <alexander.deucher at amd.com>
    Acked-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180706072842.9009-1-daniel.vetter@ffwll.ch

commit fcaca5d8d164bc5148b7e4f7d5daf9a1c956afae
Merge: 1e4b044d2251 2c83a726d6fb
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Jul 10 10:45:04 2018 +1000

    Merge branch 'etnaviv/fixes' of https://git.pengutronix.de/git/lst/linux into drm-fixes
    
    Lucas wrote:
    "a couple of small fixes:
    - 2 patches from Fabio to fix module reloading
    - one patch to fix a userspace visible regression, where the job
    timeout is a bit too eager and kills legitimate jobs"
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/1530868450.15725.8.camel@pengutronix.de

commit 96a85cc517a9ee4ae5e8d7f5a36cba05023784eb
Author: Ville Syrjälä <ville.syrjala at linux.intel.com>
Date:   Thu Jun 14 20:56:25 2018 +0300

    drm/i915: Fix hotplug irq ack on i965/g4x
    
    Just like with PIPESTAT, the edge triggered IIR on i965/g4x
    also causes problems for hotplug interrupts. To make sure
    we don't get the IIR port interrupt bit stuck low with the
    ISR bit high we must force an edge in ISR. Unfortunately
    we can't borrow the PIPESTAT trick and toggle the enable
    bits in PORT_HOTPLUG_EN as that act itself generates hotplug
    interrupts. Instead we just have to loop until we've cleared
    PORT_HOTPLUG_STAT, or we just give up and WARN.
    
    v2: Don't frob with PORT_HOTPLUG_EN
    
    Cc: stable at vger.kernel.org
    Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180614175625.1615-1-ville.syrjala@linux.intel.com
    Reviewed-by: Imre Deak <imre.deak at intel.com>
    (cherry picked from commit 0ba7c51a6fd80a89236f6ceb52e63f8a7f62bfd3)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

commit 92298c1cd8e8a6b56322b602ad72b54e6237631d
Author: Russell King <rmk+kernel at armlinux.org.uk>
Date:   Tue Jun 26 17:06:06 2018 +0100

    drm/armada: fix irq handling
    
    Add the missing locks to the IRQ enable/disable paths, and fix a comment
    in the interrupt handler: reading the ISR clears down the status bits,
    but does not reset the interrupt so it can signal again.  That seems to
    require a write.
    
    Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>

commit d378859a667edc99e3473704847698cae97ca2b1
Author: Russell King <rmk+kernel at armlinux.org.uk>
Date:   Sun Jun 24 14:35:10 2018 +0100

    drm/armada: fix colorkey mode property
    
    The colorkey mode property was not correctly disabling the colorkeying
    when "disabled" mode was selected.  Arrange for this to work as one
    would expect.
    
    Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>

commit 5265f0338bc0feec6c0d544dfe005dec1a93cb93
Author: Mikko Perttunen <mperttunen at nvidia.com>
Date:   Wed Jun 20 16:03:58 2018 +0300

    drm/tegra: Fix comparison operator for buffer size
    
    Here we are checking for the buffer length, not an offset for writing
    to, so using > is correct. The current code incorrectly rejects a
    command buffer ending at the memory buffer's end.
    
    Signed-off-by: Mikko Perttunen <mperttunen at nvidia.com>
    Reviewed-by: Dmitry Osipenko <digetx at gmail.com>
    Signed-off-by: Thierry Reding <treding at nvidia.com>

commit ec58923215dbbeef59ee82923ee94d745f73db58
Author: Dmitry Osipenko <digetx at gmail.com>
Date:   Fri Jul 6 21:02:36 2018 +0300

    gpu: host1x: Check whether size of unpin isn't 0
    
    Only gather pins are mapped by the Host1x driver, regular BO relocations
    are not. Check whether size of unpin isn't 0, otherwise IOVA allocation at
    0x0 could be erroneously released.
    
    Signed-off-by: Dmitry Osipenko <digetx at gmail.com>
    Signed-off-by: Thierry Reding <treding at nvidia.com>

commit 4466b1f0e022f94a026bd700fee34bff15cdc4ef
Author: Dmitry Osipenko <digetx at gmail.com>
Date:   Sat May 19 04:07:10 2018 +0300

    gpu: host1x: Skip IOMMU initialization if firewall is enabled
    
    Host1x's CDMA can't access the command buffers if IOMMU and Host1x
    firewall are enabled in the kernels config because firewall doesn't map
    the copied buffer into IOVA space. Fix this by skipping IOMMU
    initialization if firewall is enabled as firewall merges sparse cmdbufs
    into a single contiguous buffer and hence IOMMU isn't needed in this case.
    
    Signed-off-by: Dmitry Osipenko <digetx at gmail.com>
    Signed-off-by: Thierry Reding <treding at nvidia.com>

commit 3156b53c2e2fadafa1a16412a8791b38f94b5bdc
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Fri Jul 6 16:28:28 2018 +0200

    drm/sun4i: link in front-end code if needed
    
    When the base sun4i DRM driver is built-in but the back-end is
    a loadable module, we run into a link error:
    
    drivers/gpu/drm/sun4i/sun4i_drv.o: In function `sun4i_drv_probe':
    sun4i_drv.c:(.text+0x60c): undefined reference to `sun4i_frontend_of_table'
    
    The dependency is a bit tricky, the best workaround I have come up
    with is to use a Makefile hack to to interpret both
    CONFIG_DRM_SUN4I_BACKEND=m and CONFIG_DRM_SUN4I_BACKEND=y
    as a directive to build the front-end the same way as the main module.
    
    Fixes: dd0421f47505 ("drm/sun4i: Add a driver for the display frontend")
    Link: https://lore.kernel.org/lkml/20180301091908.zcptz3ezqr2c6ly5@flea/
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Signed-off-by: Maxime Ripard <maxime.ripard at bootlin.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180706142847.2032381-1-arnd@arndb.de

commit 1e4b044d22517cae7047c99038abb444423243ca
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 8 16:34:02 2018 -0700

    Linux 4.18-rc4

commit ca04b3cca11acbaf904f707f2d9ca9654d7cc226
Merge: 23adbe6fb571 f0463f3619fd
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 8 14:12:46 2018 -0700

    Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
    
    Pull ARM SoC fixes from Olof Johansson:
     "A small collection of fixes, sort of the usual at this point, all for
      i.MX or OMAP:
    
       - Enable ULPI drivers on i.MX to avoid a hang
    
       - Pinctrl fix for touchscreen on i.MX51 ZII RDU1
    
       - Fixes for ethernet clock references on am3517
    
       - mmc0 write protect detection fix for am335x
    
       - kzalloc->kcalloc conversion in an OMAP driver
    
       - USB metastability fix for USB on dra7
    
       - Fix touchscreen wakeup on am437x"
    
    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
      ARM: imx_v4_v5_defconfig: Select ULPI support
      ARM: imx_v6_v7_defconfig: Select ULPI support
      ARM: dts: omap3: Fix am3517 mdio and emac clock references
      ARM: dts: am335x-bone-common: Fix mmc0 Write Protect
      bus: ti-sysc: Use 2-factor allocator arguments
      ARM: dts: dra7: Disable metastability workaround for USB2
      ARM: dts: imx51-zii-rdu1: fix touchscreen pinctrl
      ARM: dts: am437x: make edt-ft5x06 a wakeup source

commit 23adbe6fb571897b57c1f3dd952d598edce2f8e6
Merge: 6f27a64092ae 612bc3b3d4be
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 8 13:56:25 2018 -0700

    Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull x86/pti updates from Thomas Gleixner:
     "Two small fixes correcting the handling of SSB mitigations on AMD
      processors"
    
    * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR
      x86/bugs: Update when to check for the LS_CFG SSBD mitigation

commit 6f27a64092ae0993e3389081673a258a4c926186
Merge: 6fb2489d7f09 15279df6f26c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 8 13:26:55 2018 -0700

    Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull x86 fixes from Thomas Gleixner:
    
     - Prevent an out-of-bounds access in mtrr_write()
    
     - Break a circular dependency in the new hyperv IPI acceleration code
    
     - Address the build breakage related to inline functions by enforcing
       gnu_inline and explicitly bringing native_save_fl() out of line,
       which also adds a set of _ARM_ARG macros which provide 32/64bit
       safety.
    
     - Initialize the shadow CR4 per cpu variable before using it.
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/mtrr: Don't copy out-of-bounds data in mtrr_write
      x86/hyper-v: Fix the circular dependency in IPI enlightenment
      x86/paravirt: Make native_save_fl() extern inline
      x86/asm: Add _ASM_ARG* constants for argument registers to <asm/asm.h>
      compiler-gcc.h: Add __attribute__((gnu_inline)) to all inline declarations
      x86/mm/32: Initialize the CR4 shadow before __flush_tlb_all()

commit 6fb2489d7f09e1a9360d0afec65bcde1a6a472d4
Merge: f5c926b99e42 1cef1150ef40
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 8 12:41:23 2018 -0700

    Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull scheduler fixes from Thomas Gleixner:
    
     - The hopefully final fix for the reported race problems in
       kthread_parkme(). The previous attempt still left a hole and was
       partially wrong.
    
     - Plug a race in the remote tick mechanism which triggers a warning
       about updates not being done correctly. That's a false positive if
       the race condition is hit as the remote CPU is idle. Plug it by
       checking the condition again when holding run queue lock.
    
     - Fix a bug in the utilization estimation of a run queue which causes
       the estimation to be 0 when a run queue is throttled.
    
     - Advance the global expiration of the period timer when the timer is
       restarted after a idle period. Otherwise the expiry time is stale and
       the timer fires prematurely.
    
     - Cure the drift between the bandwidth timer and the runqueue
       accounting, which leads to bogus throttling of runqueues
    
     - Place the call to cpufreq_update_util() correctly so the function
       will observe the correct number of running RT tasks and not a stale
       one.
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      kthread, sched/core: Fix kthread_parkme() (again...)
      sched/util_est: Fix util_est_dequeue() for throttled cfs_rq
      sched/fair: Advance global expiration when period timer is restarted
      sched/fair: Fix bandwidth timer clock drift condition
      sched/rt: Fix call to cpufreq_update_util()
      sched/nohz: Skip remote tick on idle task entirely

commit f5c926b99e421db13d2056bc99a624499a2be19e
Merge: 124b99fb8018 08b393d01c88
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 8 11:57:40 2018 -0700

    Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull objtool fix from Thomas Gleixner:
     "A single fix for objtool to address a bug in handling the cold
      subfunction detection for aliased functions which was added recently.
      The bug causes objtool to enter an infinite loop"
    
    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      objtool: Support GCC 8 '-fnoreorder-functions'

commit 124b99fb8018a7ac45558d8ab249ed758e14e618
Merge: 70a2dc6abc8a 221e00d1fce9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 8 11:29:14 2018 -0700

    Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
    
    Pull crypto fixes from Herbert Xu:
    
     - add missing RETs in x86 aegis/morus
    
     - fix build error in arm speck
    
    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
      crypto: x86 - Add missing RETs
      crypto: arm/speck - fix building in Thumb2 mode

commit 70a2dc6abc8af028b0c71af6b3520574ee09e814
Merge: 8979319f2d36 a17712c8e4be
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 8 11:10:30 2018 -0700

    Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
    
    Pull ext4 bugfixes from Ted Ts'o:
     "Bug fixes for ext4; most of which relate to vulnerabilities where a
      maliciously crafted file system image can result in a kernel OOPS or
      hang.
    
      At least one fix addresses an inline data bug could be triggered by
      userspace without the need of a crafted file system (although it does
      require that the inline data feature be enabled)"
    
    * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
      ext4: check superblock mapped prior to committing
      ext4: add more mount time checks of the superblock
      ext4: add more inode number paranoia checks
      ext4: avoid running out of journal credits when appending to an inline file
      jbd2: don't mark block as modified if the handle is out of credits
      ext4: never move the system.data xattr out of the inode body
      ext4: clear i_data in ext4_inode_info when removing inline data
      ext4: include the illegal physical block in the bad map ext4_error msg
      ext4: verify the depth of extent tree in ext4_find_extent()
      ext4: only look at the bg_flags field if it is valid
      ext4: make sure bitmaps and the inode table don't overlap with bg descriptors
      ext4: always check block group bounds in ext4_init_block_bitmap()
      ext4: always verify the magic number in xattr blocks
      ext4: add corruption check in ext4_xattr_set_entry()
      ext4: add warn_on_error mount option

commit 8979319f2d361b5729b215e1d47cb5bbcaca9d76
Merge: b2d44d145d2a 83235822b8b4
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 8 10:55:21 2018 -0700

    Merge tag 'pci-v4.18-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
    
    Pull PCI fixes from Bjorn Helgaas:
    
     - Fix a use-after-free in the endpoint code (Dan Carpenter)
    
     - Stop defaulting CONFIG_PCIE_DW_PLAT_HOST to yes (Geert Uytterhoeven)
    
     - Fix an nfp regression caused by a change in how we limit the number
       of VFs we can enable (Jakub Kicinski)
    
     - Fix failure path cleanup issues in the new R-Car gen3 PHY support
       (Marek Vasut)
    
     - Fix leaks of OF nodes in faraday, xilinx-nwl, xilinx (Nicholas Mc
       Guire)
    
    * tag 'pci-v4.18-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
      nfp: stop limiting VFs to 0
      PCI/IOV: Reset total_VFs limit after detaching PF driver
      PCI: faraday: Add missing of_node_put()
      PCI: xilinx-nwl: Add missing of_node_put()
      PCI: xilinx: Add missing of_node_put()
      PCI: endpoint: Use after free in pci_epf_unregister_driver()
      PCI: controller: dwc: Do not let PCIE_DW_PLAT_HOST default to yes
      PCI: rcar: Clean up PHY init on failure
      PCI: rcar: Shut the PHY down in failpath

commit b2d44d145d2a72386b1b17da59a5e04989594897
Merge: 4f572efde460 729c0c9dd552
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jul 7 18:31:34 2018 -0700

    Merge tag '4.18-rc3-smb3fixes' of git://git.samba.org/sfrench/cifs-2.6
    
    Pull cifs fixes from Steve French:
     "Five smb3/cifs fixes for stable (including for some leaks and memory
      overwrites) and also a few fixes for recent regressions in packet
      signing.
    
      Additional testing at the recent SMB3 test event, and some good work
      by Paulo and others spotted the issues fixed here. In addition to my
      xfstest runs on these, Aurelien and Stefano did additional test runs
      to verify this set"
    
    * tag '4.18-rc3-smb3fixes' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: Fix stack out-of-bounds in smb{2,3}_create_lease_buf()
      cifs: Fix infinite loop when using hard mount option
      cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting
      cifs: Fix memory leak in smb2_set_ea()
      cifs: fix SMB1 breakage
      cifs: Fix validation of signed data in smb2
      cifs: Fix validation of signed data in smb3+
      cifs: Fix use after free of a mid_q_entry

commit 4f572efde4600a577d1fc0bcee191bc9cec842f8
Merge: 89ac2233d34d 7ec916f82c48
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jul 7 17:55:16 2018 -0700

    Merge tag 'dma-mapping-4.18-3' of git://git.infradead.org/users/hch/dma-mapping
    
    Pull dma-mapping fix from Christoph Hellwig:
     "Revert an incorrect dma-mapping commit for 4.18-rc"
    
    * tag 'dma-mapping-4.18-3' of git://git.infradead.org/users/hch/dma-mapping:
      Revert "iommu/intel-iommu: Enable CONFIG_DMA_DIRECT_OPS=y and clean up intel_{alloc,free}_coherent()"

commit 89ac2233d34dcf87854ad48d638d1a86db3f6bd2
Merge: ea9561cfc952 c4c2b7644cc9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jul 7 17:29:08 2018 -0700

    Merge tag 'dmaengine-fix-4.18-rc4' of git://git.infradead.org/users/vkoul/slave-dma
    
    Pull dmaengine fixes from Vinod Koul:
     "We have few odd driver fixes and one email update change for you this
      time:
    
       - Driver fixes for k3dma (off by one), pl330 (burst residue
         granularity) and omap-dma (incorrect residue_granularity)
    
       - Sinan's email update"
    
    * tag 'dmaengine-fix-4.18-rc4' of git://git.infradead.org/users/vkoul/slave-dma:
      dmaengine: k3dma: Off by one in k3_of_dma_simple_xlate()
      dmaengine: pl330: report BURST residue granularity
      MAINTAINERS: Update email-id of Sinan Kaya
      dmaengine: ti: omap-dma: Fix OMAP1510 incorrect residue_granularity

commit ea9561cfc952fc0a86184563c0a8c7371116e0f6
Merge: 43b6b6eca863 dc0f0a026d33
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jul 7 17:15:38 2018 -0700

    Merge tag 'for-linus-4.18-2' of git://github.com/cminyard/linux-ipmi
    
    Pull IPMI fixes from Corey Minyard:
     "A couple of small fixes: one to the BMC side of things that fixes an
      interrupt issue, and one oops fix if init fails in a certain way on
      the client driver"
    
    * tag 'for-linus-4.18-2' of git://github.com/cminyard/linux-ipmi:
      ipmi: kcs_bmc: fix IRQ exception if the channel is not open
      ipmi: Cleanup oops on initialization failure

commit 43b6b6eca863cf2f83dc062484963377c66a72be
Merge: 624434af256a 1a381d4a0a9a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jul 7 10:51:25 2018 -0700

    Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
    
    Pull arm64 LDFLAGS clean-up from Catalin Marinas:
    
     - use aarch64elf instead of aarch64linux
    
     - move endianness options to LDFLAGS instead from LD
    
     - remove no-op '-p' linker flag
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: remove no-op -p linker flag
      arm64: add endianness option to LDFLAGS instead of LD
      arm64: Use aarch64elf and aarch64elfb emulation mode variants

commit 15279df6f26cf2013d713904b4a0c957ae8abb96
Author: Jann Horn <jannh at google.com>
Date:   Fri Jul 6 23:50:03 2018 +0200

    x86/mtrr: Don't copy out-of-bounds data in mtrr_write
    
    Don't access the provided buffer out of bounds - this can cause a kernel
    out-of-bounds read when invoked through sys_splice() or other things that
    use kernel_write()/__kernel_write().
    
    Fixes: 7f8ec5a4f01a ("x86/mtrr: Convert to use strncpy_from_user() helper")
    Signed-off-by: Jann Horn <jannh at google.com>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
    Cc: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
    Cc: "H. Peter Anvin" <hpa at zytor.com>
    Cc: stable at vger.kernel.org
    Link: https://lkml.kernel.org/r/20180706215003.156702-1-jannh@google.com

commit 624434af256a86b74b857f78b7c0d4a11b7dcb6c
Merge: 29119529d8de 26b5b874aff5
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 6 19:45:47 2018 -0700

    Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
    
    Pull SCSI fixes from James Bottomley:
     "This is two minor bug fixes (aacraid, target) and a fix for a
      potential exploit in the way sg handles teardown"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: sg: mitigate read/write abuse
      scsi: aacraid: Fix PD performance regression over incorrect qd being set
      scsi: target: Fix truncated PR-in ReadKeys response

commit 29119529d8de5179db44fe59f0155b6534ade914
Merge: c2b58149d21f 9fea4b395260
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 6 19:13:42 2018 -0700

    Merge tag 'for-linus-20180706' of git://git.kernel.dk/linux-block
    
    Pull block fixes from Jens Axboe:
     "Two minor fixes for this series:
    
       - add LOOP_SET_BLOCK_SIZE as compat ioctl (Evan Green)
    
       - drbd use-after-free fix (Lars Ellenberg)"
    
    * tag 'for-linus-20180706' of git://git.kernel.dk/linux-block:
      loop: Add LOOP_SET_BLOCK_SIZE in compat ioctl
      drbd: fix access after free

commit c2b58149d21f619e34ed047ac27eaf280db692da
Merge: 1bb155702d0f 9cc63791fad6
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 6 12:32:17 2018 -0700

    Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
    
    Pull clk fixes from Stephen Boyd:
     "The usual collection of driver fixlets:
    
       - build cleanup/fix for the sunxi makefile that tried to save size
         but failed and prevented dead code elimination from working
    
       - two Davinci clk driver fixes for a typo causing build failures in
         different configurations and an error check that checks the wrong
         variable.
    
       - undo the DT ABI breaking imx6ul binding header shuffle that got
         merged this cycle"
    
    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
      dt-bindings: clock: imx6ul: Do not change the clock definition order
      clk: davinci: fix a typo (which leads to build failures)
      clk: davinci: cfgchip: testing the wrong variable
      clk: sunxi-ng: replace lib-y with obj-y

commit 1bb155702d0f533035aa2bd829b8e32848dbca3d
Merge: b4d0562137c9 d7ef4899d718
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 6 12:23:53 2018 -0700

    Merge tag 'vfio-v4.18-rc4' of git://github.com/awilliam/linux-vfio
    
    Pull VFIO fixes from Alex Williamson:
    
     - Make vfio-pci IGD extensions optional via Kconfig (Alex Williamson)
    
     - Remove unused and soon to be removed map_atomic callback from mbochs
       sample driver, add unmap callback to avoid dmabuf leaks (Gerd
       Hoffmann)
    
     - Fix usage of get_user_pages_longterm() (Jason Gunthorpe)
    
     - Fix sample mbochs driver vm_operations_struct.fault return type
       (Souptick Joarder)
    
    * tag 'vfio-v4.18-rc4' of git://github.com/awilliam/linux-vfio:
      sample/vfio-mdev: Change return type to vm_fault_t
      vfio: Use get_user_pages_longterm correctly
      sample/mdev/mbochs: add mbochs_kunmap_dmabuf
      sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf
      vfio/pci: Make IGD support a configurable option

commit b4d0562137c9035becad5fc0588f6163aed916db
Merge: c42c12a90545 9d6d99e3ac8c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jul 6 09:14:34 2018 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
    
    Pull s390 fixes from Martin Schwidefsky:
     "A few more changes for v4.18:
    
       - wire up the two new system calls io_pgetevents and rseq
    
       - fix a register corruption in the expolines code for machines
         without EXRL
    
       - drastically reduce the memory utilization of the dasd driver
    
       - fix reference counting for KVM page table pages"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390: wire up rseq system call
      s390: wire up io_pgetevents system call
      s390/mm: fix refcount usage for 4K pgste
      s390/dasd: reduce the default queue depth and nr of hardware queues
      s390: Correct register corruption in critical section cleanup

commit 1268ed0c474a5c8f165ef386f3310521b5e00e27
Author: K. Y. Srinivasan <kys at microsoft.com>
Date:   Tue Jul 3 16:01:55 2018 -0700

    x86/hyper-v: Fix the circular dependency in IPI enlightenment
    
    The IPI hypercalls depend on being able to map the Linux notion of CPU ID
    to the hypervisor's notion of the CPU ID. The array hv_vp_index[] provides
    this mapping. Code for populating this array depends on the IPI functionality.
    Break this circular dependency.
    
    [ tglx: Use a proper define instead of '-1' with a u32 variable as pointed
      	out by Vitaly ]
    
    Fixes: 68bb7bfb7985 ("X86/Hyper-V: Enable IPI enlightenments")
    Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
    Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
    Tested-by: Michael Kelley <mikelley at microsoft.com>
    Cc: gregkh at linuxfoundation.org
    Cc: devel at linuxdriverproject.org
    Cc: olaf at aepfle.de
    Cc: apw at canonical.com
    Cc: jasowang at redhat.com
    Cc: hpa at zytor.com
    Cc: sthemmin at microsoft.com
    Cc: Michael.H.Kelley at microsoft.com
    Cc: vkuznets at redhat.com
    Link: https://lkml.kernel.org/r/20180703230155.15160-1-kys@linuxonhyperv.com

commit c42c12a905454734bbddaa9ca62413b4d493234e
Merge: 97f4e1422954 c78d1f9d95a9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 5 19:43:29 2018 -0700

    Merge tag 'drm-fixes-2018-07-06' of git://anongit.freedesktop.org/drm/drm
    
    Pull drm fixes from Dave Airlie:
     "This is the drm fixes for rc4.
    
      It's a bit larger than I'd like but the exynos cleanups are pretty
      mechanical, and I'd rather have them in sooner rather than later so we
      can avoid too much conflicts around them. The non-mechanincal exynos
      changes are mostly fixes for new feature recently introduced.
    
      Apart from the exynos updates, we have:
    
      i915:
       - GVT and GGTT mapping fixes
    
      amdgpu:
       - fix HDMI2.0 4K at 60 Hz regression
       - Hotplug fixes for dual-GPU laptops to make power management better
       - misc vega12 bios fixes, a race fix and some typos.
    
      sii8620 bridge:
       - small fixes around mode setting
    
      core:
       - use kvzalloc to allocate blob property memory"
    
    * tag 'drm-fixes-2018-07-06' of git://anongit.freedesktop.org/drm/drm: (34 commits)
      drm/amd/display: add a check for display depth validity
      drm/amd/display: adding ycbcr420 pixel encoding for hdmi
      drm/udl: fix display corruption of the last line
      drm/bridge/sii8620: Fix link mode selection
      drm/bridge/sii8620: Fix display of packed pixel modes
      drm/bridge/sii8620: Send AVI infoframe in all MHL versions
      drm/amdgpu: fix user fence write race condition
      drm/i915: Try GGTT mmapping whole object as partial
      drm/amdgpu/pm: fix display count in non-DC path
      drm/amdgpu: fix swapped emit_ib_size in vce3
      drm: Use kvzalloc for allocating blob property memory
      drm/i915/gvt: changed DDI mode emulation type
      drm/i915/gvt: fix a bug of partially write ggtt enties
      drm/exynos: Replace drm_dev_unref with drm_dev_put
      drm/exynos: Replace drm_gem_object_unreference_unlocked with put function
      drm/exynos: Replace drm_framebuffer_{un/reference} with put,get functions
      drm/exynos: ipp: use correct enum type
      drm/exynos: decon5433: Fix WINCONx reset value
      drm/exynos: decon5433: Fix per-plane global alpha for XRGB modes
      drm/exynos: fimc: Use real buffer width for configuring the hardware
      ...

commit 97f4e1422954b42483a9cd23e7c879ab96c84cbe
Merge: 0fa3ecd87848 1fe4293f4b8d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 5 19:29:07 2018 -0700

    Merge tag 'trace-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
    
    Pull tracing fixes and cleanups from Steven Rostedt:
     "While cleaning out my INBOX, I found a few patches that were lost in
      the noise. These are minor bug fixes and clean ups. Those include:
    
       - avoid a string overflow
    
       - code that didn't match the comment (but should)
    
       - a small code optimization (use of a conditional)
    
       - quiet printf warnings
    
       - nuke unused code
    
       - fix function graph interrupt annotation"
    
    * tag 'trace-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      tracing: Fix missing return symbol in function_graph output
      ftrace: Nuke clear_ftrace_function
      tracing: Use __printf markup to silence compiler
      tracing: Optimize trace_buffer_iter() logic
      tracing: Make create_filter() code match the comments
      tracing: Avoid string overflow

commit c78d1f9d95a9f2cd5546c64f5315f54681dd6055
Merge: c8440a70bd20 aab109b340ea
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Jul 6 10:46:58 2018 +1000

    Merge tag 'exynos-drm-fixes-for-v4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes
    
    Fixups
    - Fix several problems to IPPv2 merged to mainline recentely.
      . An align problem of width size that IPP driver incorrectly
        calculated the real buffer size.
      . Horizontal and vertical flip problem.
      . Per-plane global alpha for XRGB modes.
      . Incorrect variant of the YUV modes.
    - Fix plane overlapping problem.
      . The stange order of overlapping planes on XRGB modes
        by setting global alpha value to maximum value.
    
    Cleanup
    - Rename a enum type, drm_ipp_size_id, to one specific to Exynos,
      drm_exynos_ipp_limit_type.
    - Replace {un/reference} with {put,get} functions.
      . it replaces several reference/unreference functions with Linux
        kernel nameing standard.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    
    Link: https://patchwork.freedesktop.org/patch/msgid/1530512041-21392-1-git-send-email-inki.dae@samsung.com

commit c8440a70bd204b4149971cfaeddc5e9aee72b7b0
Merge: 0581a5cb0624 413ff0b94248
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Jul 6 10:44:35 2018 +1000

    Merge branch 'drm-fixes-4.18' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
    
    - Fix an HDMI 2.0 4k at 60 regression
    - Hotplug fixes for PX/HG laptops
    - Fixes for vbios changes in vega12
    - Fix a race in the user fence code
    - Fix a couple of misc typos
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180705155206.2752-1-alexander.deucher@amd.com

commit 0581a5cb06249cb694d5776e8995928e6639d93e
Merge: b7716735bb0e 3030deda0971
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Jul 6 10:44:04 2018 +1000

    Merge tag 'drm-intel-fixes-2018-07-05' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
    
    A couple of GVT fixes, and a GGTT mmapping fix.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    
    Link: https://patchwork.freedesktop.org/patch/msgid/8736wxq35t.fsf@intel.com

commit b7716735bb0ee56d4c311582da8ef6df77fc3700
Merge: 99ec9e77511d 44f9a4b0dc75
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Jul 6 10:41:12 2018 +1000

    Merge tag 'drm-misc-fixes-2018-07-05' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes
    
    Fixes for v4.18-rc4:
    - A few small fixes for the sii8620 bridge.
    - Allocate blob property memory using kvzalloc instead of kmalloc.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    
    Link: https://patchwork.freedesktop.org/patch/msgid/4267636e-bb7c-8f69-eeff-12e045b3e7e1@linux.intel.com

commit f0463f3619fd10e0cbaa5195bf2bc264a77a586d
Merge: 6d9d0f1763a9 0144eb204cdc
Author: Olof Johansson <olof at lixom.net>
Date:   Thu Jul 5 14:59:20 2018 -0700

    Merge tag 'omap-for-v4.18/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
    
    Fixes for omap for v4.18-rc cycle
    
    Few dts fixes for regressions for various SoCs and
    devices for touchscreen wake, dra7 USB quirk, pinmux
    for beaglebone mmc, and emac clock.
    
    Also included is a change for ti-sysc to use kcalloc
    that Kees wanted to get into v4.18 as that's the last
    one he wanted to fix for improved defense against
    allocation overflows.
    
    * tag 'omap-for-v4.18/fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
      ARM: dts: omap3: Fix am3517 mdio and emac clock references
      ARM: dts: am335x-bone-common: Fix mmc0 Write Protect
      bus: ti-sysc: Use 2-factor allocator arguments
      ARM: dts: dra7: Disable metastability workaround for USB2
      ARM: dts: am437x: make edt-ft5x06 a wakeup source
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 0fa3ecd87848c9c93c2c828ef4c3a8ca36ce46c7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 3 17:10:19 2018 -0700

    Fix up non-directory creation in SGID directories
    
    sgid directories have special semantics, making newly created files in
    the directory belong to the group of the directory, and newly created
    subdirectories will also become sgid.  This is historically used for
    group-shared directories.
    
    But group directories writable by non-group members should not imply
    that such non-group members can magically join the group, so make sure
    to clear the sgid bit on non-directories for non-members (but remember
    that sgid without group execute means "mandatory locking", just to
    confuse things even more).
    
    Reported-by: Jann Horn <jannh at google.com>
    Cc: Andy Lutomirski <luto at kernel.org>
    Cc: Al Viro <viro at zeniv.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 7ec916f82c48dcfc115eee2e3e0e6d400e310fc5
Author: Christoph Hellwig <hch at lst.de>
Date:   Thu Jul 5 13:29:55 2018 -0600

    Revert "iommu/intel-iommu: Enable CONFIG_DMA_DIRECT_OPS=y and clean up intel_{alloc,free}_coherent()"
    
    This commit may cause a less than required dma mask to be used for
    some allocations, which apparently leads to module load failures for
    iwlwifi sometimes.
    
    This reverts commit d657c5c73ca987214a6f9436e435b34fc60f332a.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reported-by: Fabio Coatti <fabio.coatti at gmail.com>
    Tested-by: Fabio Coatti <fabio.coatti at gmail.com>

commit 729c0c9dd55204f0c9a823ac8a7bfa83d36c7e78
Author: Stefano Brivio <sbrivio at redhat.com>
Date:   Thu Jul 5 15:10:02 2018 +0200

    cifs: Fix stack out-of-bounds in smb{2,3}_create_lease_buf()
    
    smb{2,3}_create_lease_buf() store a lease key in the lease
    context for later usage on a lease break.
    
    In most paths, the key is currently sourced from data that
    happens to be on the stack near local variables for oplock in
    SMB2_open() callers, e.g. from open_shroot(), whereas
    smb2_open_file() properly allocates space on its stack for it.
    
    The address of those local variables holding the oplock is then
    passed to create_lease_buf handlers via SMB2_open(), and 16
    bytes near oplock are used. This causes a stack out-of-bounds
    access as reported by KASAN on SMB2.1 and SMB3 mounts (first
    out-of-bounds access is shown here):
    
    [  111.528823] BUG: KASAN: stack-out-of-bounds in smb3_create_lease_buf+0x399/0x3b0 [cifs]
    [  111.530815] Read of size 8 at addr ffff88010829f249 by task mount.cifs/985
    [  111.532838] CPU: 3 PID: 985 Comm: mount.cifs Not tainted 4.18.0-rc3+ #91
    [  111.534656] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
    [  111.536838] Call Trace:
    [  111.537528]  dump_stack+0xc2/0x16b
    [  111.540890]  print_address_description+0x6a/0x270
    [  111.542185]  kasan_report+0x258/0x380
    [  111.544701]  smb3_create_lease_buf+0x399/0x3b0 [cifs]
    [  111.546134]  SMB2_open+0x1ef8/0x4b70 [cifs]
    [  111.575883]  open_shroot+0x339/0x550 [cifs]
    [  111.591969]  smb3_qfs_tcon+0x32c/0x1e60 [cifs]
    [  111.617405]  cifs_mount+0x4f3/0x2fc0 [cifs]
    [  111.674332]  cifs_smb3_do_mount+0x263/0xf10 [cifs]
    [  111.677915]  mount_fs+0x55/0x2b0
    [  111.679504]  vfs_kern_mount.part.22+0xaa/0x430
    [  111.684511]  do_mount+0xc40/0x2660
    [  111.698301]  ksys_mount+0x80/0xd0
    [  111.701541]  do_syscall_64+0x14e/0x4b0
    [  111.711807]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
    [  111.713665] RIP: 0033:0x7f372385b5fa
    [  111.715311] Code: 48 8b 0d 99 78 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 66 78 2c 00 f7 d8 64 89 01 48
    [  111.720330] RSP: 002b:00007ffff27049d8 EFLAGS: 00000206 ORIG_RAX: 00000000000000a5
    [  111.722601] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f372385b5fa
    [  111.724842] RDX: 000055c2ecdc73b2 RSI: 000055c2ecdc73f9 RDI: 00007ffff270580f
    [  111.727083] RBP: 00007ffff2705804 R08: 000055c2ee976060 R09: 0000000000001000
    [  111.729319] R10: 0000000000000000 R11: 0000000000000206 R12: 00007f3723f4d000
    [  111.731615] R13: 000055c2ee976060 R14: 00007f3723f4f90f R15: 0000000000000000
    
    [  111.735448] The buggy address belongs to the page:
    [  111.737420] page:ffffea000420a7c0 count:0 mapcount:0 mapping:0000000000000000 index:0x0
    [  111.739890] flags: 0x17ffffc0000000()
    [  111.741750] raw: 0017ffffc0000000 0000000000000000 dead000000000200 0000000000000000
    [  111.744216] raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000
    [  111.746679] page dumped because: kasan: bad access detected
    
    [  111.750482] Memory state around the buggy address:
    [  111.752562]  ffff88010829f100: 00 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00 00
    [  111.754991]  ffff88010829f180: 00 00 f2 f2 00 00 00 00 00 00 00 00 00 00 00 00
    [  111.757401] >ffff88010829f200: 00 00 00 00 00 f1 f1 f1 f1 01 f2 f2 f2 f2 f2 f2
    [  111.759801]                                               ^
    [  111.762034]  ffff88010829f280: f2 02 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 00 00 00
    [  111.764486]  ffff88010829f300: f2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [  111.766913] ==================================================================
    
    Lease keys are however already generated and stored in fid data
    on open and create paths: pass them down to the lease context
    creation handlers and use them.
    
    Suggested-by: Aurélien Aptel <aaptel at suse.com>
    Reviewed-by: Aurelien Aptel <aaptel at suse.com>
    Fixes: b8c32dbb0deb ("CIFS: Request SMB2.1 leases")
    Signed-off-by: Stefano Brivio <sbrivio at redhat.com>
    Signed-off-by: Steve French <stfrench at microsoft.com>

commit 7ffbe65578b44fafdef577a360eb0583929f7c6e
Author: Paulo Alcantara <paulo at paulo.ac>
Date:   Thu Jul 5 13:46:34 2018 -0300

    cifs: Fix infinite loop when using hard mount option
    
    For every request we send, whether it is SMB1 or SMB2+, we attempt to
    reconnect tcon (cifs_reconnect_tcon or smb2_reconnect) before carrying
    out the request.
    
    So, while server->tcpStatus != CifsNeedReconnect, we wait for the
    reconnection to succeed on wait_event_interruptible_timeout(). If it
    returns, that means that either the condition was evaluated to true, or
    timeout elapsed, or it was interrupted by a signal.
    
    Since we're not handling the case where the process woke up due to a
    received signal (-ERESTARTSYS), the next call to
    wait_event_interruptible_timeout() will _always_ fail and we end up
    looping forever inside either cifs_reconnect_tcon() or smb2_reconnect().
    
    Here's an example of how to trigger that:
    
    $ mount.cifs //foo/share /mnt/test -o
    username=foo,password=foo,vers=1.0,hard
    
    (break connection to server before executing bellow cmd)
    $ stat -f /mnt/test & sleep 140
    [1] 2511
    
    $ ps -aux -q 2511
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      2511  0.0  0.0  12892  1008 pts/0    S    12:24   0:00 stat -f
    /mnt/test
    
    $ kill -9 2511
    
    (wait for a while; process is stuck in the kernel)
    $ ps -aux -q 2511
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      2511 83.2  0.0  12892  1008 pts/0    R    12:24  30:01 stat -f
    /mnt/test
    
    By using 'hard' mount point means that cifs.ko will keep retrying
    indefinitely, however we must allow the process to be killed otherwise
    it would hang the system.
    
    Signed-off-by: Paulo Alcantara <palcantara at suse.de>
    Cc: stable at vger.kernel.org
    Reviewed-by: Aurelien Aptel <aaptel at suse.com>
    Signed-off-by: Steve French <stfrench at microsoft.com>

commit f46ecbd97f508e68a7806291a139499794874f3d
Author: Stefano Brivio <sbrivio at redhat.com>
Date:   Thu Jul 5 11:46:42 2018 +0200

    cifs: Fix slab-out-of-bounds in send_set_info() on SMB2 ACE setting
    
    A "small" CIFS buffer is not big enough in general to hold a
    setacl request for SMB2, and we end up overflowing the buffer in
    send_set_info(). For instance:
    
     # mount.cifs //127.0.0.1/test /mnt/test -o username=test,password=test,nounix,cifsacl
     # touch /mnt/test/acltest
     # getcifsacl /mnt/test/acltest
     REVISION:0x1
     CONTROL:0x9004
     OWNER:S-1-5-21-2926364953-924364008-418108241-1000
     GROUP:S-1-22-2-1001
     ACL:S-1-5-21-2926364953-924364008-418108241-1000:ALLOWED/0x0/0x1e01ff
     ACL:S-1-22-2-1001:ALLOWED/0x0/R
     ACL:S-1-22-2-1001:ALLOWED/0x0/R
     ACL:S-1-5-21-2926364953-924364008-418108241-1000:ALLOWED/0x0/0x1e01ff
     ACL:S-1-1-0:ALLOWED/0x0/R
     # setcifsacl -a "ACL:S-1-22-2-1004:ALLOWED/0x0/R" /mnt/test/acltest
    
    this setacl will cause the following KASAN splat:
    
    [  330.777927] BUG: KASAN: slab-out-of-bounds in send_set_info+0x4dd/0xc20 [cifs]
    [  330.779696] Write of size 696 at addr ffff88010d5e2860 by task setcifsacl/1012
    
    [  330.781882] CPU: 1 PID: 1012 Comm: setcifsacl Not tainted 4.18.0-rc2+ #2
    [  330.783140] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
    [  330.784395] Call Trace:
    [  330.784789]  dump_stack+0xc2/0x16b
    [  330.786777]  print_address_description+0x6a/0x270
    [  330.787520]  kasan_report+0x258/0x380
    [  330.788845]  memcpy+0x34/0x50
    [  330.789369]  send_set_info+0x4dd/0xc20 [cifs]
    [  330.799511]  SMB2_set_acl+0x76/0xa0 [cifs]
    [  330.801395]  set_smb2_acl+0x7ac/0xf30 [cifs]
    [  330.830888]  cifs_xattr_set+0x963/0xe40 [cifs]
    [  330.840367]  __vfs_setxattr+0x84/0xb0
    [  330.842060]  __vfs_setxattr_noperm+0xe6/0x370
    [  330.843848]  vfs_setxattr+0xc2/0xd0
    [  330.845519]  setxattr+0x258/0x320
    [  330.859211]  path_setxattr+0x15b/0x1b0
    [  330.864392]  __x64_sys_setxattr+0xc0/0x160
    [  330.866133]  do_syscall_64+0x14e/0x4b0
    [  330.876631]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
    [  330.878503] RIP: 0033:0x7ff2e507db0a
    [  330.880151] Code: 48 8b 0d 89 93 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 bc 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 56 93 2c 00 f7 d8 64 89 01 48
    [  330.885358] RSP: 002b:00007ffdc4903c18 EFLAGS: 00000246 ORIG_RAX: 00000000000000bc
    [  330.887733] RAX: ffffffffffffffda RBX: 000055d1170de140 RCX: 00007ff2e507db0a
    [  330.890067] RDX: 000055d1170de7d0 RSI: 000055d115b39184 RDI: 00007ffdc4904818
    [  330.892410] RBP: 0000000000000001 R08: 0000000000000000 R09: 000055d1170de7e4
    [  330.894785] R10: 00000000000002b8 R11: 0000000000000246 R12: 0000000000000007
    [  330.897148] R13: 000055d1170de0c0 R14: 0000000000000008 R15: 000055d1170de550
    
    [  330.901057] Allocated by task 1012:
    [  330.902888]  kasan_kmalloc+0xa0/0xd0
    [  330.904714]  kmem_cache_alloc+0xc8/0x1d0
    [  330.906615]  mempool_alloc+0x11e/0x380
    [  330.908496]  cifs_small_buf_get+0x35/0x60 [cifs]
    [  330.910510]  smb2_plain_req_init+0x4a/0xd60 [cifs]
    [  330.912551]  send_set_info+0x198/0xc20 [cifs]
    [  330.914535]  SMB2_set_acl+0x76/0xa0 [cifs]
    [  330.916465]  set_smb2_acl+0x7ac/0xf30 [cifs]
    [  330.918453]  cifs_xattr_set+0x963/0xe40 [cifs]
    [  330.920426]  __vfs_setxattr+0x84/0xb0
    [  330.922284]  __vfs_setxattr_noperm+0xe6/0x370
    [  330.924213]  vfs_setxattr+0xc2/0xd0
    [  330.926008]  setxattr+0x258/0x320
    [  330.927762]  path_setxattr+0x15b/0x1b0
    [  330.929592]  __x64_sys_setxattr+0xc0/0x160
    [  330.931459]  do_syscall_64+0x14e/0x4b0
    [  330.933314]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    [  330.936843] Freed by task 0:
    [  330.938588] (stack is not available)
    
    [  330.941886] The buggy address belongs to the object at ffff88010d5e2800
     which belongs to the cache cifs_small_rq of size 448
    [  330.946362] The buggy address is located 96 bytes inside of
     448-byte region [ffff88010d5e2800, ffff88010d5e29c0)
    [  330.950722] The buggy address belongs to the page:
    [  330.952789] page:ffffea0004357880 count:1 mapcount:0 mapping:ffff880108fdca80 index:0x0 compound_mapcount: 0
    [  330.955665] flags: 0x17ffffc0008100(slab|head)
    [  330.957760] raw: 0017ffffc0008100 dead000000000100 dead000000000200 ffff880108fdca80
    [  330.960356] raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000
    [  330.963005] page dumped because: kasan: bad access detected
    
    [  330.967039] Memory state around the buggy address:
    [  330.969255]  ffff88010d5e2880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [  330.971833]  ffff88010d5e2900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    [  330.974397] >ffff88010d5e2980: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc
    [  330.976956]                                            ^
    [  330.979226]  ffff88010d5e2a00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    [  330.981755]  ffff88010d5e2a80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
    [  330.984225] ==================================================================
    
    Fix this by allocating a regular CIFS buffer in
    smb2_plain_req_init() if the request command is SMB2_SET_INFO.
    
    Reported-by: Jianhong Yin <jiyin at redhat.com>
    Fixes: 366ed846df60 ("cifs: Use smb 2 - 3 and cifsacl mount options setacl function")
    CC: Stable <stable at vger.kernel.org>
    Signed-off-by: Stefano Brivio <sbrivio at redhat.com>
    Reviewed-and-tested-by: Aurelien Aptel <aaptel at suse.com>
    Signed-off-by: Steve French <stfrench at microsoft.com>

commit 6aa0c114eceec8cc61715f74a4ce91b048d7561c
Author: Paulo Alcantara <paulo at paulo.ac>
Date:   Wed Jul 4 14:16:16 2018 -0300

    cifs: Fix memory leak in smb2_set_ea()
    
    This patch fixes a memory leak when doing a setxattr(2) in SMB2+.
    
    Signed-off-by: Paulo Alcantara <palcantara at suse.de>
    Cc: stable at vger.kernel.org
    Signed-off-by: Steve French <stfrench at microsoft.com>
    Reviewed-by: Aurelien Aptel <aaptel at suse.com>

commit 81f39f951b8098b1c59b01ad10d06d7dc01c7019
Author: Ronnie Sahlberg <lsahlber at redhat.com>
Date:   Thu Jun 28 10:47:14 2018 +1000

    cifs: fix SMB1 breakage
    
    SMB1 mounting broke in commit 35e2cc1ba755
    ("cifs: Use correct packet length in SMB2_TRANSFORM header")
    Fix it and also rename smb2_rqst_len to smb_rqst_len
    to make it less unobvious that the function is also called from
    CIFS/SMB1
    
    Good job by Paulo reviewing and cleaning up Ronnie's original patch.
    
    Signed-off-by: Ronnie Sahlberg <lsahlber at redhat.com>
    Reviewed-by: Paulo Alcantara <palcantara at suse.de>
    Signed-off-by: Steve French <stfrench at microsoft.com>

commit 8de8c4608fe9edc046c31bf82b2b7ebc1daae015
Author: Paulo Alcantara <paulo at paulo.ac>
Date:   Sat Jun 23 14:52:24 2018 -0300

    cifs: Fix validation of signed data in smb2
    
    Fixes: c713c8770fa5 ("cifs: push rfc1002 generation down the stack")
    
    We failed to validate signed data returned by the server because
    __cifs_calc_signature() now expects to sign the actual data in iov but
    we were also passing down the rfc1002 length.
    
    Fix smb3_calc_signature() to calculate signature of rfc1002 length prior
    to passing only the actual data iov[1-N] to __cifs_calc_signature(). In
    addition, there are a few cases where no rfc1002 length is passed so we
    make sure there's one (iov_len == 4).
    
    Signed-off-by: Paulo Alcantara <palcantara at suse.de>
    Reviewed-by: Ronnie Sahlberg <lsahlber at redhat.com>
    Signed-off-by: Steve French <stfrench at microsoft.com>

commit 27c32b49c3dbfe1e5f57d2b61823bf9474ae0875
Author: Paulo Alcantara <paulo at paulo.ac>
Date:   Sat Jun 23 14:52:23 2018 -0300

    cifs: Fix validation of signed data in smb3+
    
    Fixes: c713c8770fa5 ("cifs: push rfc1002 generation down the stack")
    
    We failed to validate signed data returned by the server because
    __cifs_calc_signature() now expects to sign the actual data in iov but
    we were also passing down the rfc1002 length.
    
    Fix smb3_calc_signature() to calculate signature of rfc1002 length prior
    to passing only the actual data iov[1-N] to __cifs_calc_signature(). In
    addition, there are a few cases where no rfc1002 length is passed so we
    make sure there's one (iov_len == 4).
    
    Signed-off-by: Paulo Alcantara <palcantara at suse.de>
    Reviewed-by: Ronnie Sahlberg <lsahlber at redhat.com>
    Signed-off-by: Steve French <stfrench at microsoft.com>

commit 696e420bb2a6624478105651d5368d45b502b324
Author: Lars Persson <lars.persson at axis.com>
Date:   Mon Jun 25 14:05:25 2018 +0200

    cifs: Fix use after free of a mid_q_entry
    
    With protocol version 2.0 mounts we have seen crashes with corrupt mid
    entries. Either the server->pending_mid_q list becomes corrupt with a
    cyclic reference in one element or a mid object fetched by the
    demultiplexer thread becomes overwritten during use.
    
    Code review identified a race between the demultiplexer thread and the
    request issuing thread. The demultiplexer thread seems to be written
    with the assumption that it is the sole user of the mid object until
    it calls the mid callback which either wakes the issuer task or
    deletes the mid.
    
    This assumption is not true because the issuer task can be woken up
    earlier by a signal. If the demultiplexer thread has proceeded as far
    as setting the mid_state to MID_RESPONSE_RECEIVED then the issuer
    thread will happily end up calling cifs_delete_mid while the
    demultiplexer thread still is using the mid object.
    
    Inserting a delay in the cifs demultiplexer thread widens the race
    window and makes reproduction of the race very easy:
    
    		if (server->large_buf)
    			buf = server->bigbuf;
    
    +		usleep_range(500, 4000);
    
    		server->lstrp = jiffies;
    
    To resolve this I think the proper solution involves putting a
    reference count on the mid object. This patch makes sure that the
    demultiplexer thread holds a reference until it has finished
    processing the transaction.
    
    Cc: stable at vger.kernel.org
    Signed-off-by: Lars Persson <larper at axis.com>
    Acked-by: Paulo Alcantara <palcantara at suse.de>
    Reviewed-by: Ronnie Sahlberg <lsahlber at redhat.com>
    Reviewed-by: Pavel Shilovsky <pshilov at microsoft.com>
    Signed-off-by: Steve French <stfrench at microsoft.com>

commit d02d21ea007b6b33cdaf15c2f84fb1fea996ecc2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jul 4 18:17:51 2018 -0700

    autofs: rename 'autofs' module back to 'autofs4'
    
    It turns out that systemd has a bug: it wants to load the autofs module
    early because of some initialization ordering with udev, and it doesn't
    do that correctly.  Everywhere else it does the proper "look up module
    name" that does the proper alias resolution, but in that early code, it
    just uses a hardcoded "autofs4" for the module name.
    
    The result of that is that as of commit a2225d931f75 ("autofs: remove
    left-over autofs4 stubs"), you get
    
        systemd[1]: Failed to insert module 'autofs4': No such file or directory
    
    in the system logs, and a lack of module loading.  All this despite the
    fact that we had very clearly marked 'autofs4' as an alias for this
    module.
    
    What's so ridiculous about this is that literally everything else does
    the module alias handling correctly, including really old versions of
    systemd (that just used 'modprobe' to do this), and even all the other
    systemd module loading code.
    
    Only that special systemd early module load code is broken, hardcoding
    the module names for not just 'autofs4', but also "ipv6", "unix",
    "ip_tables" and "virtio_rng".  Very annoying.
    
    Instead of creating an _additional_ separate compatibility 'autofs4'
    module, just rely on the fact that everybody else gets this right, and
    just call the module 'autofs4' for compatibility reasons, with 'autofs'
    as the alias name.
    
    That will allow the systemd people to fix their bugs, adding the proper
    alias handling, and maybe even fix the name of the module to be just
    "autofs" (so that they can _test_ the alias handling).  And eventually,
    we can revert this silly compatibility hack.
    
    See also
    
        https://github.com/systemd/systemd/issues/9501
        https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902946
    
    for the systemd bug reports upstream and in the Debian bug tracker
    respectively.
    
    Fixes: a2225d931f75 ("autofs: remove left-over autofs4 stubs")
    Reported-by: Ben Hutchings <ben at decadent.org.uk>
    Reported-by: Michael Biebl <biebl at debian.org>
    Cc: Ian Kent <raven at themaw.net>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 1a381d4a0a9a0f999a13faaba22bf6b3fc80dcb9
Author: Greg Hackmann <ghackmann at android.com>
Date:   Wed Jun 27 12:46:14 2018 -0700

    arm64: remove no-op -p linker flag
    
    Linking the ARM64 defconfig kernel with LLVM lld fails with the error:
    
      ld.lld: error: unknown argument: -p
      Makefile:1015: recipe for target 'vmlinux' failed
    
    Without this flag, the ARM64 defconfig kernel successfully links with
    lld and boots on Dragonboard 410c.
    
    After digging through binutils source and changelogs, it turns out that
    -p is only relevant to ancient binutils installations targeting 32-bit
    ARM.  binutils accepts -p for AArch64 too, but it's always been
    undocumented and silently ignored.  A comment in
    ld/emultempl/aarch64elf.em explains that it's "Only here for backwards
    compatibility".
    
    Since this flag is a no-op on ARM64, we can safely drop it.
    
    Acked-by: Will Deacon <will.deacon at arm.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers at google.com>
    Signed-off-by: Greg Hackmann <ghackmann at google.com>
    Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>

commit 06c85639897cf3ea6a11c5cb6929fb0d9d7efea5
Merge: 90dc8b65d243 df958569dbaa
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 5 09:52:30 2018 -0700

    Merge tag 'acpi-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
    
    Pull ACPI fixes from Rafael Wysocki:
     "These fix a recent ACPICA regression, fix a battery driver regression
      introduced during the 4.17 cycle and fix up the recently added support
      for the PPTT ACPI table.
    
      Specifics:
    
       - Revert part of a recent ACPICA regression fix that added leading
         newlines to ACPICA error messages and made the kernel log look
         broken (Rafael Wysocki).
    
       - Fix an ACPI battery driver regression introduced during the 4.17
         cycle due to incorrect error handling that made Thinkpad 13 laptops
         crash on boot (Jouke Witteveen).
    
       - Fix up the recently added PPTT ACPI table support by covering the
         case when a PPTT structure represents a processors group correctly
         (Sudeep Holla)"
    
    * tag 'acpi-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      ACPI / battery: Safe unregistering of hooks
      ACPI / PPTT: use ACPI ID whenever ACPI_PPTT_ACPI_PROCESSOR_ID_VALID is set
      ACPICA: Drop leading newlines from error messages

commit 90dc8b65d2436833f5bc5a5a243f0965216e141b
Merge: b19b92820935 88b96088e94e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 5 09:50:18 2018 -0700

    Merge tag 'pm-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
    
    Pull power management fixes from Rafael Wysocki:
     "These fix a PCI power management regression introduced during the 4.17
      cycle and fix up the recently added support for devices in multiple
      power domains.
    
      Specifics:
    
       - Resume parallel PCI (non-PCIe) bridges on suspend-to-RAM (ACP S3)
         to avoid confusing the platform firmware which started to happen
         after a core power management regression fix that went in during
         the 4.17 cycle (Rafael Wysocki).
    
       - Fix up the recently added support for devices in multiple power
         domains by avoiding to power up the entire domain unnecessarily
         when attaching a device to it (Ulf Hansson)"
    
    * tag 'pm-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      PM / Domains: Don't power on at attach for the multi PM domain case
      PCI / ACPI / PM: Resume bridges w/o drivers on suspend-to-RAM

commit b19b9282093588e73401f9d4981310a8de975f7d
Merge: 760885f282b1 9a6a51154f8b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 5 09:47:18 2018 -0700

    Merge tag 'riscv-for-linus-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
    
    Pull RISC-V fixes from Palmer Dabbelt:
     "This contains a handful of fixes for the RISC-V port:
    
       - A fix to R_RISCV_ADD32/R_RISCV_SUB32 relocations that allows
         modules that use these to load correctly.
    
       - The removal of of_platform_populate(), which is obselete.
    
       - The removal of irq-riscv-intc.h, which is obselete.
    
       - A fix to PTRACE_SETREGSET.
    
       - Fixes that allow the RV32I kernel to build (at least for Zong, I've
         got another patch on the mailing list that's necessary on my setup :)).
    
      I've just given these a defconfig build test"
    
    * tag 'riscv-for-linus-4.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
      RISC-V: Fix PTRACE_SETREGSET bug.
      RISC-V: Don't include irq-riscv-intc.h
      riscv: remove unnecessary of_platform_populate call
      RISC-V: fix R_RISCV_ADD32/R_RISCV_SUB32 relocations
      RISC-V: Change variable type for 32-bit compatible
      RISC-V: Add definiion of extract symbol's index and type for 32-bit
      RISC-V: Select GENERIC_UCMPDI2 on RV32I
      RISC-V: Add conditional macro for zone of DMA32

commit 760885f282b1531f89c4ed8aa198ae0ca1acc172
Merge: fc36def997cf ecd60532e060
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jul 5 09:45:25 2018 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
    
    Pull m68knommu fix from Greg Ungerer:
     "A single fix for breakage introduced in this merge window"
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
      m68k: fix "bad page state" oops on ColdFire boot

commit 413ff0b942481c7ac2e800abbbac5af318a65e61
Author: Mikita Lipski <mikita.lipski at amd.com>
Date:   Wed Jul 4 17:27:56 2018 -0400

    drm/amd/display: add a check for display depth validity
    
    [why]
    HDMI 2.0 fails to validate 4K at 60 timing with 10 bpc
    [how]
    Adding a helper function that would verify if the display depth
    assigned would pass a bandwidth validation.
    Drop the display depth by one level till calculated pixel clk
    is lower than maximum TMDS clk.
    
    Bugzilla: https://bugs.freedesktop.org/106959
    
    Tested-by: Mike Lothian <mike at fireburn.co.uk>
    Reviewed-by: Harry Wentland <harry.wentland at amd.com>
    Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit a6311be8f062db5fe93a08a3722fae53a58f2499
Author: Mikita Lipski <mikita.lipski at amd.com>
Date:   Wed Jul 4 17:26:26 2018 -0400

    drm/amd/display: adding ycbcr420 pixel encoding for hdmi
    
    [why]
    HDMI EDID's VSDB contains spectial timings for specifically
    YCbCr 4:2:0 colour space. In those cases we need to verify
    if the mode provided is one of the special ones has to use
    YCbCr 4:2:0 pixel encoding for display info.
    [how]
    Verify if the mode is using specific ycbcr420 colour space with
    the help of DRM helper function and assign the mode to use
    ycbcr420 pixel encoding.
    
    Tested-by: Mike Lothian <mike at fireburn.co.uk>
    Reviewed-by: Harry Wentland <harry.wentland at amd.com>
    Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit 2c83a726d6fbb5d130d8f2edd82a258adb675ac3
Author: Lucas Stach <l.stach at pengutronix.de>
Date:   Wed Jun 27 15:58:13 2018 +0200

    drm/etnaviv: bring back progress check in job timeout handler
    
    When the hangcheck handler was replaced by the DRM scheduler timeout
    handling we dropped the forward progress check, as this might allow
    clients to hog the GPU for a long time with a big job.
    
    It turns out that even reasonably well behaved clients like the
    Armada Xorg driver occasionally trip over the 500ms timeout. Bring
    back the forward progress check to get rid of the userspace regression.
    
    We would still like to fix userspace to submit smaller batches
    if possible, but that is for another day.
    
    Cc: <stable at vger.kernel.org>
    Fixes: 6d7a20c07760 (drm/etnaviv: replace hangcheck with scheduler timeout)
    Reported-by: Russell King <linux at armlinux.org.uk>
    Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
    Reviewed-by: Eric Anholt <eric at anholt.net>

commit df958569dbaa398f525057729717e44809ac4306
Merge: 673b4271665a 30998033f62a a0d5f3b69af7
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date:   Thu Jul 5 13:03:43 2018 +0200

    Merge branches 'acpi-tables' and 'acpica'
    
    Merge ACPICA regression fix and a fix for the recently added PPTT
    support.
    
    * acpi-tables:
      ACPI / PPTT: use ACPI ID whenever ACPI_PPTT_ACPI_PROCESSOR_ID_VALID is set
    
    * acpica:
      ACPICA: Drop leading newlines from error messages

commit 88b96088e94ec66f6c9015eee28cb9d053be69c0
Merge: 895b66129ad8 26112ddc254c
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date:   Thu Jul 5 12:47:16 2018 +0200

    Merge branch 'pm-pci'
    
    Merge a PCI power management regression fix.
    
    * pm-pci:
      PCI / ACPI / PM: Resume bridges w/o drivers on suspend-to-RAM

commit 6cef21a1964933b77c855c55bac2723053cc676d
Author: Hang Yuan <hang.yuan at linux.intel.com>
Date:   Tue Jul 3 17:31:17 2018 +0800

    drm/i915/gvt: update vreg on inhibit context lri command
    
    Commit cd7e 61b9"init mmio by lri command in vgpu inhibit context"
    initializes registers saved/restored in context with its vreg value
    through lri command in ring buffer. It relies on vreg got updated
    on every guest access. There is a case found that Linux guest uses
    lri command in inhibit-ctx to update the register. This patch adds
    vreg update on this case.
    
    v2: move mmio_attribute functions to gvt.h (Zhenyu)
    v3: use mask_mmio_write in vreg update
    v4: refine codes and add more comments (Zhenyu)
    
    Fixes: cd7e61b9("drm/i915/gvt: init mmio by lri command in vgpu inhibit context")
    Signed-off-by: Hang Yuan <hang.yuan at linux.intel.com>
    Signed-off-by: Weinan Li <weinan.z.li at intel.com>
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>

commit 99ec9e77511dea55d81729fc80b6c63a61bfa8e0
Author: Mikulas Patocka <mpatocka at redhat.com>
Date:   Sun Jun 3 16:40:54 2018 +0200

    drm/udl: fix display corruption of the last line
    
    The displaylink hardware has such a peculiarity that it doesn't render a
    command until next command is received. This produces occasional
    corruption, such as when setting 22x11 font on the console, only the first
    line of the cursor will be blinking if the cursor is located at some
    specific columns.
    
    When we end up with a repeating pixel, the driver has a bug that it leaves
    one uninitialized byte after the command (and this byte is enough to flush
    the command and render it - thus it fixes the screen corruption), however
    whe we end up with a non-repeating pixel, there is no byte appended and
    this results in temporary screen corruption.
    
    This patch fixes the screen corruption by always appending a byte 0xAF at
    the end of URB. It also removes the uninitialized byte.
    
    Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
    Cc: stable at vger.kernel.org
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 2893af07e507e993ad71ca6d66a7b02be741571c
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date:   Tue Jul 3 10:22:00 2018 +0900

    arm64: add endianness option to LDFLAGS instead of LD
    
    With the recent syntax extension, Kconfig is now able to evaluate the
    compiler / toolchain capability.
    
    However, accumulating flags to 'LD' is not compatible with the way
    it works; 'LD' must be passed to Kconfig to call $(ld-option,...)
    from Kconfig files.  If you tweak 'LD' in arch Makefile depending on
    CONFIG_CPU_BIG_ENDIAN, this would end up with circular dependency
    between Makefile and Kconfig.
    
    Acked-by: Will Deacon <will.deacon at arm.com>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
    Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>

commit 9a6a51154f8be90a76f6a8ea8809115c11cec9dd
Merge: 1db9b80980d2 7df85002178e
Author: Palmer Dabbelt <palmer at sifive.com>
Date:   Wed Jul 4 14:12:53 2018 -0700

    RISC-V: Fix the rv32i kernel build
    
    These patches for building 32-bit RISC-V kernel.
     - Fix the compile errors and warnings on RV32I.
     - Fix some incompatible problem on RV32I.
     - Add format.h for compatible of print format.
    
    The fixed width integer types format for Elf_Addr will move to
    generic header by another patch. For now, there are some warning
    about unexpected argument of type on RV32I.
    
    Change in v1:
     - Fix some error in v1
     - Remove implementation of fixed width integer types format for Elf_Addr.

commit 1db9b80980d26fe95c942e0bb8bde2ca715029ad
Author: Jim Wilson <jimw at sifive.com>
Date:   Mon Jun 11 14:48:22 2018 -0700

    RISC-V: Fix PTRACE_SETREGSET bug.
    
    In riscv_gpr_set, pass regs instead of &regs to user_regset_copyin to fix
    gdb segfault.
    
    Signed-off-by: Jim Wilson <jimw at sifive.com>
    Signed-off-by: Palmer Dabbelt <palmer at sifive.com>

commit 8606544890d7dc4f7a740963f70dc1e1d54f8e30
Author: Palmer Dabbelt <palmer at sifive.com>
Date:   Fri Jun 22 15:46:28 2018 -0700

    RISC-V: Don't include irq-riscv-intc.h
    
    This file has never existed in the upstream kernel, but it's guarded by
    an #ifdef that's also never existed in the upstream kernel.  As a part
    of our interrupt controller refactoring this header is no longer
    necessary, but this reference managed to sneak in anyway.
    
    Signed-off-by: Palmer Dabbelt <palmer at sifive.com>

commit f67f10b8a6c96ab6c1d6946d269e2ca5f9998cc2
Author: Rob Herring <robh at kernel.org>
Date:   Tue Jun 19 15:41:34 2018 -0600

    riscv: remove unnecessary of_platform_populate call
    
    The DT core will call of_platform_default_populate, so it is not
    necessary for arch specific code to call it unless there are custom
    match entries, auxdata or parent device. Neither of those apply here, so
    remove the call.
    
    Cc: Palmer Dabbelt <palmer at sifive.com>
    Cc: Albert Ou <aou at eecs.berkeley.edu>
    Cc: linux-riscv at lists.infradead.org
    Signed-off-by: Rob Herring <robh at kernel.org>
    Signed-off-by: Palmer Dabbelt <palmer at sifive.com>

commit 781c8fe2da3d2c7c95cd7ffddbab63b80a79da4d
Author: Andreas Schwab <schwab at suse.de>
Date:   Tue Jun 12 19:26:36 2018 +0200

    RISC-V: fix R_RISCV_ADD32/R_RISCV_SUB32 relocations
    
    The R_RISCV_ADD32/R_RISCV_SUB32 relocations should add/subtract the
    address of the symbol (without overflow check), not its contents.
    
    Signed-off-by: Andreas Schwab <schwab at suse.de>
    Signed-off-by: Palmer Dabbelt <palmer at sifive.com>

commit 7df85002178e708aa749c63020fd333d9f085ced
Author: Zong Li <zong at andestech.com>
Date:   Mon Jun 25 16:49:40 2018 +0800

    RISC-V: Change variable type for 32-bit compatible
    
    Signed-off-by: Zong Li <zong at andestech.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Palmer Dabbelt <palmer at sifive.com>

commit c480d8911fda96a0f37634bd4dc4e2c8a87c38da
Author: Zong Li <zong at andestech.com>
Date:   Mon Jun 25 16:49:39 2018 +0800

    RISC-V: Add definiion of extract symbol's index and type for 32-bit
    
    Use generic marco to get the index and type of symbol.
    
    Signed-off-by: Zong Li <zong at andestech.com>
    Signed-off-by: Palmer Dabbelt <palmer at sifive.com>

commit 8f79125d285d2d71ed110e875754942256efa51d
Author: Zong Li <zong at andestech.com>
Date:   Mon Jun 25 16:49:38 2018 +0800

    RISC-V: Select GENERIC_UCMPDI2 on RV32I
    
    On 32-bit, it need to use __ucmpdi2, otherwise, it can't find the __ucmpdi2
    symbol.
    
    Signed-off-by: Zong Li <zong at andestech.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Palmer Dabbelt <palmer at sifive.com>

commit d5fad48cfb4b183d87960904c177eeeb9412b929
Author: Zong Li <zong at andestech.com>
Date:   Mon Jun 25 16:49:37 2018 +0800

    RISC-V: Add conditional macro for zone of DMA32
    
    The DMA32 is for 64-bit usage.
    
    Signed-off-by: Zong Li <zong at andestech.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Palmer Dabbelt <palmer at sifive.com>

commit d7ef4899d7182f9d4267b4e4a5cc3689c1a04f25
Author: Souptick Joarder <jrdr.linux at gmail.com>
Date:   Wed Jul 4 21:00:14 2018 +0530

    sample/vfio-mdev: Change return type to vm_fault_t
    
    convert mbochs_region_vm_fault and mbochs_dmabuf_vm_fault
    to return vm_fault_t type.
    
    Signed-off-by: Souptick Joarder <jrdr.linux at gmail.com>
    Signed-off-by: Alex Williamson <alex.williamson at redhat.com>

commit 38fc4248677552ce35efc09902fdcb06b61d7ef9
Author: Paul Kocialkowski <contact at paulk.fr>
Date:   Mon Jul 2 11:16:59 2018 +0200

    arm64: Use aarch64elf and aarch64elfb emulation mode variants
    
    The aarch64linux and aarch64linuxb emulation modes are not supported by
    bare-metal toolchains and Linux using them forbids building the kernel
    with these toolchains.
    
    Since there is apparently no reason to target these emulation modes, the
    more generic elf modes are used instead, allowing to build on bare-metal
    toolchains as well as the already-supported ones.
    
    Fixes: 3d6a7b99e3fa ("arm64: ensure the kernel is compiled for LP64")
    
    Cc: stable at vger.kernel.org
    Acked-by: Will Deacon <will.deacon at arm.com>
    Signed-off-by: Paul Kocialkowski <contact at paulk.fr>
    Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>

commit 44f9a4b0dc7563669772198e5b226cab58a00167
Author: Maciej Purski <m.purski at samsung.com>
Date:   Thu Jun 28 18:44:03 2018 +0200

    drm/bridge/sii8620: Fix link mode selection
    
    Current link mode values do not allow to enable packed pixel modes.
    
    Select packed pixel clock mode, if needed, every time the link mode
    register gets updated.
    
    Signed-off-by: Maciej Purski <m.purski at samsung.com>
    Signed-off-by: Andrzej Hajda <a.hajda at samsung.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/1530204243-6370-4-git-send-email-m.purski@samsung.com

commit fdddc65ab35d575b42aab411b2dc687601eab680
Author: Maciej Purski <m.purski at samsung.com>
Date:   Thu Jun 28 18:44:02 2018 +0200

    drm/bridge/sii8620: Fix display of packed pixel modes
    
    Current implementation does not guarantee packed pixel modes working
    with every dongle. There are some dongles, which require selecting
    the output mode explicitly.
    
    Write proper values to registers in packed_pixel mode, based on how it
    is done in vendor's code. Select output color space: RGB
    (no packed pixel) or YCBCR422 (packed pixel).
    
    This reverts commit e8b92efa629dac0e70ea4145c5e70616de5f89c8
    ("drm/bridge/sii8620: fix display of packed pixel modes in MHL2").
    
    Signed-off-by: Maciej Purski <m.purski at samsung.com>
    Signed-off-by: Andrzej Hajda <a.hajda at samsung.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/1530204243-6370-3-git-send-email-m.purski@samsung.com

commit f0139752f71b05c918d86101643eb00b312ab883
Author: Maciej Purski <m.purski at samsung.com>
Date:   Thu Jun 28 18:44:01 2018 +0200

    drm/bridge/sii8620: Send AVI infoframe in all MHL versions
    
    Currently AVI infoframe is sent only in MHL3. However, some MHL2 dongles
    need AVI infoframe to work correctly in either packed pixel mode or
    non-packed pixel mode.
    
    Send AVI infoframe in set_infoframes() in every case. Create an
    infoframe using drm_hdmi_infoframe_from_display_mode() instead of
    manually filling each infoframe structure's field.
    
    Signed-off-by: Maciej Purski <m.purski at samsung.com>
    Signed-off-by: Andrzej Hajda <a.hajda at samsung.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/1530204243-6370-2-git-send-email-m.purski@samsung.com

commit 673b4271665a12fa839a12abb50e6f6e9953c081
Author: Jouke Witteveen <j.witteveen at gmail.com>
Date:   Wed Jul 4 12:27:15 2018 +0200

    ACPI / battery: Safe unregistering of hooks
    
    A hooking API was implemented for 4.17 in fa93854f7a7ed63d followed
    by hooks for Thinkpad laptops in 2801b9683f740012. The Thinkpad
    drivers did not support the Thinkpad 13 and the hooking API crashes
    on unsupported batteries by altering a list of hooks during unsafe
    iteration. Thus, Thinkpad 13 laptops could no longer boot.
    
    Additionally, a lock was kept in place and debugging information was
    printed out of order.
    
    Fixes: fa93854f7a7e (battery: Add the battery hooking API)
    Cc: 4.17+ <stable at vger.kernel.org> # 4.17+
    Signed-off-by: Jouke Witteveen <j.witteveen at gmail.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

commit c660f40b711980b42d8beac4b395a10645b20d5d
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Jun 29 13:23:25 2018 +0200

    drm/amdgpu: fix user fence write race condition
    
    The buffer object backing the user fence is reserved using the non-user
    fence, i.e., as soon as the non-user fence is signaled, the user fence
    buffer object can be moved or even destroyed.
    
    Therefore, emit the user fence first.
    
    Both fences have the same cache invalidation behavior, so this should
    have no user-visible effect.
    
    Signed-off-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: stable at vger.kernel.org

commit 9d6d99e3ac8ccfd0945edb3c83cd912838775056
Author: Heiko Carstens <heiko.carstens at de.ibm.com>
Date:   Sat Jun 30 10:54:15 2018 +0200

    s390: wire up rseq system call
    
    Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 8bf935501a7ef1b2ec3b51c804d657d5895f221a
Author: Heiko Carstens <heiko.carstens at de.ibm.com>
Date:   Sat Jun 30 10:53:57 2018 +0200

    s390: wire up io_pgetevents system call
    
    Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit fc36def997cfd6cbff3eda4f82853a5c311c5466
Author: Pavel Tatashin <pasha.tatashin at oracle.com>
Date:   Tue Jul 3 17:02:53 2018 -0700

    mm: teach dump_page() to correctly output poisoned struct pages
    
    If struct page is poisoned, and uninitialized access is detected via
    PF_POISONED_CHECK(page) dump_page() is called to output the page.  But,
    the dump_page() itself accesses struct page to determine how to print
    it, and therefore gets into a recursive loop.
    
    For example:
    
      dump_page()
       __dump_page()
        PageSlab(page)
         PF_POISONED_CHECK(page)
          VM_BUG_ON_PGFLAGS(PagePoisoned(page), page)
           dump_page() recursion loop.
    
    Link: http://lkml.kernel.org/r/20180702180536.2552-1-pasha.tatashin@oracle.com
    Fixes: f165b378bbdf ("mm: uninitialized struct page poisoning sanity checking")
    Signed-off-by: Pavel Tatashin <pasha.tatashin at oracle.com>
    Acked-by: Michal Hocko <mhocko at suse.com>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 5e4e290d3751607726a62f0b49e11261a0a9345e
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Tue Jul 3 17:02:49 2018 -0700

    ARM: disable KCOV for trusted foundations code
    
    The ARM trusted foundations code is currently broken in linux-next when
    CONFIG_KCOV_INSTRUMENT_ALL is set:
    
      /tmp/ccHdQsCI.s: Assembler messages:
      /tmp/ccHdQsCI.s:37: Error: .err encountered
      /tmp/ccHdQsCI.s:38: Error: .err encountered
      /tmp/ccHdQsCI.s:39: Error: .err encountered
      scripts/Makefile.build:311: recipe for target 'arch/arm/firmware/trusted_foundations.o' failed
    
    I could not find a function attribute that lets me disable
    -fsanitize-coverage=trace-pc for just one function, so this turns it off
    for the entire file instead.
    
    Link: http://lkml.kernel.org/r/20180529103636.1535457-1-arnd@arndb.de
    Fixes: 758517202bd2e4 ("arm: port KCOV to arm")
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Acked-by: Olof Johansson <olof at lixom.net>
    Tested-by: Olof Johansson <olof at lixom.net>
    Cc: Dmitry Vyukov <dvyukov at google.com>
    Cc: Mark Rutland <mark.rutland at arm.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 1e8e18f694a52d703665012ca486826f64bac29d
Author: Zhen Lei <thunder.leizhen at huawei.com>
Date:   Tue Jul 3 17:02:46 2018 -0700

    kasan: fix shadow_size calculation error in kasan_module_alloc
    
    There is a special case that the size is "(N << KASAN_SHADOW_SCALE_SHIFT)
    Pages plus X", the value of X is [1, KASAN_SHADOW_SCALE_SIZE-1].  The
    operation "size >> KASAN_SHADOW_SCALE_SHIFT" will drop X, and the
    roundup operation can not retrieve the missed one page.  For example:
    size=0x28006, PAGE_SIZE=0x1000, KASAN_SHADOW_SCALE_SHIFT=3, we will get
    shadow_size=0x5000, but actually we need 6 pages.
    
      shadow_size = round_up(size >> KASAN_SHADOW_SCALE_SHIFT, PAGE_SIZE);
    
    This can lead to a kernel crash when kasan is enabled and the value of
    mod->core_layout.size or mod->init_layout.size is like above.  Because
    the shadow memory of X has not been allocated and mapped.
    
    move_module:
      ptr = module_alloc(mod->core_layout.size);
      ...
      memset(ptr, 0, mod->core_layout.size);		//crashed
    
      Unable to handle kernel paging request at virtual address ffff0fffff97b000
      ......
      Call trace:
        __asan_storeN+0x174/0x1a8
        memset+0x24/0x48
        layout_and_allocate+0xcd8/0x1800
        load_module+0x190/0x23e8
        SyS_finit_module+0x148/0x180
    
    Link: http://lkml.kernel.org/r/1529659626-12660-1-git-send-email-thunder.leizhen@huawei.com
    Signed-off-by: Zhen Lei <thunder.leizhen at huawei.com>
    Reviewed-by: Dmitriy Vyukov <dvyukov at google.com>
    Acked-by: Andrey Ryabinin <aryabinin at virtuozzo.com>
    Cc: Alexander Potapenko <glider at google.com>
    Cc: Hanjun Guo <guohanjun at huawei.com>
    Cc: Libin <huawei.libin at huawei.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 520495fe96d74e05db585fc748351e0504d8f40d
Author: Cannon Matthews <cannonmatthews at google.com>
Date:   Tue Jul 3 17:02:43 2018 -0700

    mm: hugetlb: yield when prepping struct pages
    
    When booting with very large numbers of gigantic (i.e.  1G) pages, the
    operations in the loop of gather_bootmem_prealloc, and specifically
    prep_compound_gigantic_page, takes a very long time, and can cause a
    softlockup if enough pages are requested at boot.
    
    For example booting with 3844 1G pages requires prepping
    (set_compound_head, init the count) over 1 billion 4K tail pages, which
    takes considerable time.
    
    Add a cond_resched() to the outer loop in gather_bootmem_prealloc() to
    prevent this lockup.
    
    Tested: Booted with softlockup_panic=1 hugepagesz=1G hugepages=3844 and
    no softlockup is reported, and the hugepages are reported as
    successfully setup.
    
    Link: http://lkml.kernel.org/r/20180627214447.260804-1-cannonmatthews@google.com
    Signed-off-by: Cannon Matthews <cannonmatthews at google.com>
    Reviewed-by: Andrew Morton <akpm at linux-foundation.org>
    Reviewed-by: Mike Kravetz <mike.kravetz at oracle.com>
    Acked-by: Michal Hocko <mhocko at suse.com>
    Cc: Andres Lagar-Cavilla <andreslc at google.com>
    Cc: Peter Feiner <pfeiner at google.com>
    Cc: Greg Thelen <gthelen at google.com>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 1e2c043628c7736dd56536d16c0ce009bc834ae7
Author: Janosch Frank <frankja at linux.ibm.com>
Date:   Tue Jul 3 17:02:39 2018 -0700

    userfaultfd: hugetlbfs: fix userfaultfd_huge_must_wait() pte access
    
    Use huge_ptep_get() to translate huge ptes to normal ptes so we can
    check them with the huge_pte_* functions.  Otherwise some architectures
    will check the wrong values and will not wait for userspace to bring in
    the memory.
    
    Link: http://lkml.kernel.org/r/20180626132421.78084-1-frankja@linux.ibm.com
    Fixes: 369cd2121be4 ("userfaultfd: hugetlbfs: userfaultfd_huge_must_wait for hugepmd ranges")
    Signed-off-by: Janosch Frank <frankja at linux.ibm.com>
    Reviewed-by: David Hildenbrand <david at redhat.com>
    Reviewed-by: Mike Kravetz <mike.kravetz at oracle.com>
    Cc: Andrea Arcangeli <aarcange at redhat.com>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 1fe4293f4b8de75824935f8d8e9a99c7fc6873da
Author: Changbin Du <changbin.du at intel.com>
Date:   Wed Jan 31 23:48:49 2018 +0800

    tracing: Fix missing return symbol in function_graph output
    
    The function_graph tracer does not show the interrupt return marker for the
    leaf entry. On leaf entries, we see an unbalanced interrupt marker (the
    interrupt was entered, but nevern left).
    
    Before:
     1)               |  SyS_write() {
     1)               |    __fdget_pos() {
     1)   0.061 us    |      __fget_light();
     1)   0.289 us    |    }
     1)               |    vfs_write() {
     1)   0.049 us    |      rw_verify_area();
     1) + 15.424 us   |      __vfs_write();
     1)   ==========> |
     1)   6.003 us    |      smp_apic_timer_interrupt();
     1)   0.055 us    |      __fsnotify_parent();
     1)   0.073 us    |      fsnotify();
     1) + 23.665 us   |    }
     1) + 24.501 us   |  }
    
    After:
     0)               |  SyS_write() {
     0)               |    __fdget_pos() {
     0)   0.052 us    |      __fget_light();
     0)   0.328 us    |    }
     0)               |    vfs_write() {
     0)   0.057 us    |      rw_verify_area();
     0)               |      __vfs_write() {
     0)   ==========> |
     0)   8.548 us    |      smp_apic_timer_interrupt();
     0)   <========== |
     0) + 36.507 us   |      } /* __vfs_write */
     0)   0.049 us    |      __fsnotify_parent();
     0)   0.066 us    |      fsnotify();
     0) + 50.064 us   |    }
     0) + 50.952 us   |  }
    
    Link: http://lkml.kernel.org/r/1517413729-20411-1-git-send-email-changbin.du@intel.com
    
    Cc: stable at vger.kernel.org
    Fixes: f8b755ac8e0cc ("tracing/function-graph-tracer: Output arrows signal on hardirq call/return")
    Signed-off-by: Changbin Du <changbin.du at intel.com>
    Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>

commit 5ccba64a560fa6ca06008d4001f5d46ebeb34b41
Author: Yisheng Xie <xieyisheng1 at huawei.com>
Date:   Fri Feb 2 10:14:49 2018 +0800

    ftrace: Nuke clear_ftrace_function
    
    clear_ftrace_function is not used outside of ftrace.c and is not help to
    use a function, so nuke it per Steve's suggestion.
    
    Link: http://lkml.kernel.org/r/1517537689-34947-1-git-send-email-xieyisheng1@huawei.com
    
    Suggested-by: Steven Rostedt <rostedt at goodmis.org>
    Signed-off-by: Yisheng Xie <xieyisheng1 at huawei.com>
    Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>

commit 26b68dd2f48fe7699a89f0cfbb9f4a650dc1c837
Author: Mathieu Malaterre <malat at debian.org>
Date:   Thu Mar 8 21:58:43 2018 +0100

    tracing: Use __printf markup to silence compiler
    
    Silence warnings (triggered at W=1) by adding relevant __printf attributes.
    
      CC      kernel/trace/trace.o
    kernel/trace/trace.c: In function ‘__trace_array_vprintk’:
    kernel/trace/trace.c:2979:2: warning: function might be possible candidate for ‘gnu_printf’ format attribute [-Wsuggest-attribute=format]
      len = vscnprintf(tbuffer, TRACE_BUF_SIZE, fmt, args);
      ^~~
      AR      kernel/trace/built-in.o
    
    Link: http://lkml.kernel.org/r/20180308205843.27447-1-malat@debian.org
    
    Signed-off-by: Mathieu Malaterre <malat at debian.org>
    Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>

commit f26808ba7227a921e0e8549c7d3c52332b920085
Author: yuan linyu <Linyu.Yuan at alcatel-sbell.com.cn>
Date:   Sun Apr 8 19:36:31 2018 +0800

    tracing: Optimize trace_buffer_iter() logic
    
    Simplify and optimize the logic in trace_buffer_iter() to use a conditional
    operation instead of an if conditional.
    
    Link: http://lkml.kernel.org/r/20180408113631.3947-1-cugyly@163.com
    
    Signed-off-by: yuan linyu <Linyu.Yuan at alcatel-sbell.com.cn>
    Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>

commit f90658725ba7ebb031054866aff4cda0d099a3b1
Author: Steven Rostedt (VMware) <rostedt at goodmis.org>
Date:   Mon Jul 2 11:41:38 2018 -0400

    tracing: Make create_filter() code match the comments
    
    The comment in create_filter() states that the passed in filter pointer
    (filterp) will either be NULL or contain an error message stating why the
    filter failed. But it also expects the filter pointer to point to NULL when
    passed in. If it is not, the function create_filter_start() will warn and
    return an error message without updating the filter pointer. This is not
    what the comment states.
    
    As we always expect the pointer to point to NULL, if it is not, trigger a
    WARN_ON(), set it to NULL, and then continue the path as the rest will work
    as the comment states. Also update the comment to state it must point to
    NULL.
    
    Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
    Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>

commit cf4d418e653afc84c9c873236033e06be5d58f1c
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Wed Mar 28 16:09:10 2018 +0200

    tracing: Avoid string overflow
    
    'err' is used as a NUL-terminated string, but using strncpy() with the length
    equal to the buffer size may result in lack of the termination:
    
    kernel/trace/trace_events_hist.c: In function 'hist_err_event':
    kernel/trace/trace_events_hist.c:396:3: error: 'strncpy' specified bound 256 equals destination size [-Werror=stringop-truncation]
       strncpy(err, var, MAX_FILTER_STR_VAL);
    
    This changes it to use the safer strscpy() instead.
    
    Link: http://lkml.kernel.org/r/20180328140920.2842153-1-arnd@arndb.de
    
    Cc: stable at vger.kernel.org
    Fixes: f404da6e1d46 ("tracing: Add 'last error' error facility for hist triggers")
    Acked-by: Tom Zanussi <tom.zanussi at linux.intel.com>
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Signed-off-by: Steven Rostedt (VMware) <rostedt at goodmis.org>

commit 410da1e12ffed61129d61df5b7adce4d08c7f17c
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jul 3 09:53:43 2018 -0700

    net/smc: fix up merge error with poll changes
    
    My networking merge (commit 4e33d7d47943: "Pull networking fixes from
    David Miller") got the poll() handling conflict wrong for af_smc.
    
    The conflict between my a11e1d432b51 ("Revert changes to convert to
    ->poll_mask() and aio IOCB_CMD_POLL") and Ursula Braun's 24ac3a08e658
    ("net/smc: rebuild nonblocking connect") should have left the call to
    sock_poll_wait() in place, just without the socket lock release/retake.
    
    And I really should have realized that.  But happily, I at least asked
    Ursula to double-check the merge, and she set me right.
    
    This also fixes an incidental whitespace issue nearby that annoyed me
    while looking at this.
    
    Pointed-out-by: Ursula Braun <ubraun at linux.ibm.com>
    Cc: David Miller <davem at davemloft.net>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 6d9d0f1763a90d5980901fd51a046fc02ba58d4c
Merge: 021c91791a5e 2ceb2780b790
Author: Olof Johansson <olof at lixom.net>
Date:   Tue Jul 3 09:47:36 2018 -0700

    Merge tag 'imx-fixes-4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
    
    i.MX fixes for 4.18, round 2:
     - A couple of imx defconfig updates selecting USB ULPI support to fix
       a regression seen with USB driver, which is caused by commit
       03e6275ae381 ("usb: chipidea: Fix ULPI on imx51").
     - A fix on imx51-zii-rdu1 board touchscreen pinctrl setting, which
       causes an interrupt storm.
    
    * tag 'imx-fixes-4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
      ARM: imx_v4_v5_defconfig: Select ULPI support
      ARM: imx_v6_v7_defconfig: Select ULPI support
      ARM: dts: imx51-zii-rdu1: fix touchscreen pinctrl
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 895b66129ad8c562865b64306032bdb378f4484f
Author: Ulf Hansson <ulf.hansson at linaro.org>
Date:   Fri Jun 29 11:15:37 2018 +0200

    PM / Domains: Don't power on at attach for the multi PM domain case
    
    There are no legacy behavior in drivers to consider while attaching a
    device to genpd - for the multiple PM domain case.
    
    For that reason, let's instead require the driver to runtime resume the
    device, via calling pm_runtime_get_sync() for example, when it needs to
    power on the corresponding PM domain.
    
    This allows us to improve the situation during attach. Instead of always
    power on the PM domain, which may be unnecessary, let's leave it in its
    current state. Additionally, to avoid the PM domain to stay powered on,
    let's schedule a power off work.
    
    Fixes: 3c095f32a92b (PM / Domains: Add support for multi PM domains ...)
    Signed-off-by: Ulf Hansson <ulf.hansson at linaro.org>
    Acked-by: Viresh Kumar <viresh.kumar at linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

commit 9fea4b395260175de4016b42982f45a3e6e03d0b
Author: Evan Green <evgreen at chromium.org>
Date:   Mon Jul 2 16:03:46 2018 -0700

    loop: Add LOOP_SET_BLOCK_SIZE in compat ioctl
    
    This change adds LOOP_SET_BLOCK_SIZE as one of the supported ioctls
    in lo_compat_ioctl. It only takes an unsigned long argument, and
    in practice a 32-bit value works fine.
    
    Reviewed-by: Omar Sandoval <osandov at fb.com>
    Signed-off-by: Evan Green <evgreen at chromium.org>
    Signed-off-by: Jens Axboe <axboe at kernel.dk>

commit 2ceb2780b790b74bc408a949f6aedbad8afa693e
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date:   Tue Jun 26 08:37:09 2018 -0300

    ARM: imx_v4_v5_defconfig: Select ULPI support
    
    Select CONFIG_USB_CHIPIDEA_ULPI and CONFIG_USB_ULPI_BUS so that
    USB ULPI can be functional on some boards like that use ULPI
    interface.
    
    Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
    Signed-off-by: Shawn Guo <shawnguo at kernel.org>

commit 157bcc06094c3c5800d3f4676527047b79b618e7
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date:   Mon Jun 25 09:34:03 2018 -0300

    ARM: imx_v6_v7_defconfig: Select ULPI support
    
    Select CONFIG_USB_CHIPIDEA_ULPI and CONFIG_USB_ULPI_BUS so that
    USB ULPI can be functional on some boards like imx51-babbge.
    
    This fixes a kernel hang in 4.18-rc1 on i.mx51-babbage, caused by commit
    03e6275ae381 ("usb: chipidea: Fix ULPI on imx51").
    
    Suggested-by: Andrey Smirnov <andrew.smirnov at gmail.com>
    Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
    Signed-off-by: Shawn Guo <shawnguo at kernel.org>

commit 3030deda09711e5d81eabf5cd95a567576601343
Merge: d403397c7c08 a4cae23cc05c
Author: Jani Nikula <jani.nikula at intel.com>
Date:   Tue Jul 3 14:57:43 2018 +0300

    Merge tag 'gvt-fixes-2018-07-03' of https://github.com/intel/gvt-linux into drm-intel-fixes
    
    gvt-fixes-2018-07-03
    
    - replace virtual transcoder mode as DVI to fix guest warning (Xiaolin)
    - fix partial GGTT entry write (Yan)
    
    Signed-off-by: Jani Nikula <jani.nikula at intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180703061139.GQ1267@zhen-hp.sh.intel.com

commit d403397c7c0821704a2f4da2694b46e423791261
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Jun 30 10:05:09 2018 +0100

    drm/i915: Try GGTT mmapping whole object as partial
    
    If the whole object is already pinned by HW for use as scanout, we will
    fail to move it to the mappable region and so must resort to using a
    partial VMA covering the whole object.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104513
    Fixes: aa136d9d72c2 ("drm/i915: Convert partial ggtt vma to full ggtt if it spans the entire object")
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
    Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
    Cc: Matthew Auld <matthew.william.auld at gmail.com>
    Reviewed-by: Matthew Auld <matthew.william.auld at gmail.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180630090509.469-1-chris@chris-wilson.co.uk
    (cherry picked from commit 7e7367d3bc6cf27dd7e007e7897fcebfeff1ee8b)
    Signed-off-by: Jani Nikula <jani.nikula at intel.com>

commit d0a8d9378d16eb3c69bd8e6d23779fbdbee3a8c7
Author: Nick Desaulniers <ndesaulniers at google.com>
Date:   Thu Jun 21 09:23:24 2018 -0700

    x86/paravirt: Make native_save_fl() extern inline
    
    native_save_fl() is marked static inline, but by using it as
    a function pointer in arch/x86/kernel/paravirt.c, it MUST be outlined.
    
    paravirt's use of native_save_fl() also requires that no GPRs other than
    %rax are clobbered.
    
    Compilers have different heuristics which they use to emit stack guard
    code, the emittance of which can break paravirt's callee saved assumption
    by clobbering %rcx.
    
    Marking a function definition extern inline means that if this version
    cannot be inlined, then the out-of-line version will be preferred. By
    having the out-of-line version be implemented in assembly, it cannot be
    instrumented with a stack protector, which might violate custom calling
    conventions that code like paravirt rely on.
    
    The semantics of extern inline has changed since gnu89. This means that
    folks using GCC versions >= 5.1 may see symbol redefinition errors at
    link time for subdirs that override KBUILD_CFLAGS (making the C standard
    used implicit) regardless of this patch. This has been cleaned up
    earlier in the patch set, but is left as a note in the commit message
    for future travelers.
    
    Reports:
     https://lkml.org/lkml/2018/5/7/534
     https://github.com/ClangBuiltLinux/linux/issues/16
    
    Discussion:
     https://bugs.llvm.org/show_bug.cgi?id=37512
     https://lkml.org/lkml/2018/5/24/1371
    
    Thanks to the many folks that participated in the discussion.
    
    Debugged-by: Alistair Strachan <astrachan at google.com>
    Debugged-by: Matthias Kaehlcke <mka at chromium.org>
    Suggested-by: Arnd Bergmann <arnd at arndb.de>
    Suggested-by: H. Peter Anvin <hpa at zytor.com>
    Suggested-by: Tom Stellar <tstellar at redhat.com>
    Reported-by: Sedat Dilek <sedat.dilek at gmail.com>
    Tested-by: Sedat Dilek <sedat.dilek at gmail.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers at google.com>
    Acked-by: Juergen Gross <jgross at suse.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: acme at redhat.com
    Cc: akataria at vmware.com
    Cc: akpm at linux-foundation.org
    Cc: andrea.parri at amarulasolutions.com
    Cc: ard.biesheuvel at linaro.org
    Cc: aryabinin at virtuozzo.com
    Cc: astrachan at google.com
    Cc: boris.ostrovsky at oracle.com
    Cc: brijesh.singh at amd.com
    Cc: caoj.fnst at cn.fujitsu.com
    Cc: geert at linux-m68k.org
    Cc: ghackmann at google.com
    Cc: gregkh at linuxfoundation.org
    Cc: jan.kiszka at siemens.com
    Cc: jarkko.sakkinen at linux.intel.com
    Cc: joe at perches.com
    Cc: jpoimboe at redhat.com
    Cc: keescook at google.com
    Cc: kirill.shutemov at linux.intel.com
    Cc: kstewart at linuxfoundation.org
    Cc: linux-efi at vger.kernel.org
    Cc: linux-kbuild at vger.kernel.org
    Cc: manojgupta at google.com
    Cc: mawilcox at microsoft.com
    Cc: michal.lkml at markovi.net
    Cc: mjg59 at google.com
    Cc: mka at chromium.org
    Cc: pombredanne at nexb.com
    Cc: rientjes at google.com
    Cc: rostedt at goodmis.org
    Cc: thomas.lendacky at amd.com
    Cc: tweek at google.com
    Cc: virtualization at lists.linux-foundation.org
    Cc: will.deacon at arm.com
    Cc: yamada.masahiro at socionext.com
    Link: http://lkml.kernel.org/r/20180621162324.36656-4-ndesaulniers@google.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 0e2e160033283e20f688d8bad5b89460cc5bfcc4
Author: H. Peter Anvin <hpa at linux.intel.com>
Date:   Thu Jun 21 09:23:23 2018 -0700

    x86/asm: Add _ASM_ARG* constants for argument registers to <asm/asm.h>
    
    i386 and x86-64 uses different registers for arguments; make them
    available so we don't have to #ifdef in the actual code.
    
    Native size and specified size (q, l, w, b) versions are provided.
    
    Signed-off-by: H. Peter Anvin <hpa at linux.intel.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers at google.com>
    Reviewed-by: Sedat Dilek <sedat.dilek at gmail.com>
    Acked-by: Juergen Gross <jgross at suse.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: acme at redhat.com
    Cc: akataria at vmware.com
    Cc: akpm at linux-foundation.org
    Cc: andrea.parri at amarulasolutions.com
    Cc: ard.biesheuvel at linaro.org
    Cc: arnd at arndb.de
    Cc: aryabinin at virtuozzo.com
    Cc: astrachan at google.com
    Cc: boris.ostrovsky at oracle.com
    Cc: brijesh.singh at amd.com
    Cc: caoj.fnst at cn.fujitsu.com
    Cc: geert at linux-m68k.org
    Cc: ghackmann at google.com
    Cc: gregkh at linuxfoundation.org
    Cc: jan.kiszka at siemens.com
    Cc: jarkko.sakkinen at linux.intel.com
    Cc: joe at perches.com
    Cc: jpoimboe at redhat.com
    Cc: keescook at google.com
    Cc: kirill.shutemov at linux.intel.com
    Cc: kstewart at linuxfoundation.org
    Cc: linux-efi at vger.kernel.org
    Cc: linux-kbuild at vger.kernel.org
    Cc: manojgupta at google.com
    Cc: mawilcox at microsoft.com
    Cc: michal.lkml at markovi.net
    Cc: mjg59 at google.com
    Cc: mka at chromium.org
    Cc: pombredanne at nexb.com
    Cc: rientjes at google.com
    Cc: rostedt at goodmis.org
    Cc: thomas.lendacky at amd.com
    Cc: tstellar at redhat.com
    Cc: tweek at google.com
    Cc: virtualization at lists.linux-foundation.org
    Cc: will.deacon at arm.com
    Cc: yamada.masahiro at socionext.com
    Link: http://lkml.kernel.org/r/20180621162324.36656-3-ndesaulniers@google.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit d03db2bc26f0e4a6849ad649a09c9c73fccdc656
Author: Nick Desaulniers <ndesaulniers at google.com>
Date:   Thu Jun 21 09:23:22 2018 -0700

    compiler-gcc.h: Add __attribute__((gnu_inline)) to all inline declarations
    
    Functions marked extern inline do not emit an externally visible
    function when the gnu89 C standard is used. Some KBUILD Makefiles
    overwrite KBUILD_CFLAGS. This is an issue for GCC 5.1+ users as without
    an explicit C standard specified, the default is gnu11. Since c99, the
    semantics of extern inline have changed such that an externally visible
    function is always emitted. This can lead to multiple definition errors
    of extern inline functions at link time of compilation units whose build
    files have removed an explicit C standard compiler flag for users of GCC
    5.1+ or Clang.
    
    Suggested-by: Arnd Bergmann <arnd at arndb.de>
    Suggested-by: H. Peter Anvin <hpa at zytor.com>
    Suggested-by: Joe Perches <joe at perches.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers at google.com>
    Acked-by: Juergen Gross <jgross at suse.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: acme at redhat.com
    Cc: akataria at vmware.com
    Cc: akpm at linux-foundation.org
    Cc: andrea.parri at amarulasolutions.com
    Cc: ard.biesheuvel at linaro.org
    Cc: aryabinin at virtuozzo.com
    Cc: astrachan at google.com
    Cc: boris.ostrovsky at oracle.com
    Cc: brijesh.singh at amd.com
    Cc: caoj.fnst at cn.fujitsu.com
    Cc: geert at linux-m68k.org
    Cc: ghackmann at google.com
    Cc: gregkh at linuxfoundation.org
    Cc: jan.kiszka at siemens.com
    Cc: jarkko.sakkinen at linux.intel.com
    Cc: jpoimboe at redhat.com
    Cc: keescook at google.com
    Cc: kirill.shutemov at linux.intel.com
    Cc: kstewart at linuxfoundation.org
    Cc: linux-efi at vger.kernel.org
    Cc: linux-kbuild at vger.kernel.org
    Cc: manojgupta at google.com
    Cc: mawilcox at microsoft.com
    Cc: michal.lkml at markovi.net
    Cc: mjg59 at google.com
    Cc: mka at chromium.org
    Cc: pombredanne at nexb.com
    Cc: rientjes at google.com
    Cc: rostedt at goodmis.org
    Cc: sedat.dilek at gmail.com
    Cc: thomas.lendacky at amd.com
    Cc: tstellar at redhat.com
    Cc: tweek at google.com
    Cc: virtualization at lists.linux-foundation.org
    Cc: will.deacon at arm.com
    Cc: yamada.masahiro at socionext.com
    Link: http://lkml.kernel.org/r/20180621162324.36656-2-ndesaulniers@google.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 612bc3b3d4be749f73a513a17d9b3ee1330d3487
Author: Tom Lendacky <thomas.lendacky at amd.com>
Date:   Mon Jul 2 16:36:02 2018 -0500

    x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR
    
    On AMD, the presence of the MSR_SPEC_CTRL feature does not imply that the
    SSBD mitigation support should use the SPEC_CTRL MSR. Other features could
    have caused the MSR_SPEC_CTRL feature to be set, while a different SSBD
    mitigation option is in place.
    
    Update the SSBD support to check for the actual SSBD features that will
    use the SPEC_CTRL MSR.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky at amd.com>
    Cc: Borislav Petkov <bpetkov at suse.de>
    Cc: David Woodhouse <dwmw at amazon.co.uk>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk at oracle.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Fixes: 6ac2f49edb1e ("x86/bugs: Add AMD's SPEC_CTRL MSR usage")
    Link: http://lkml.kernel.org/r/20180702213602.29202.33151.stgit@tlendack-t1.amdoffice.net
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 845d382bb15c6e7dc5026c0ff919c5b13fc7e11b
Author: Tom Lendacky <thomas.lendacky at amd.com>
Date:   Mon Jul 2 16:35:53 2018 -0500

    x86/bugs: Update when to check for the LS_CFG SSBD mitigation
    
    If either the X86_FEATURE_AMD_SSBD or X86_FEATURE_VIRT_SSBD features are
    present, then there is no need to perform the check for the LS_CFG SSBD
    mitigation support.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky at amd.com>
    Cc: Borislav Petkov <bpetkov at suse.de>
    Cc: David Woodhouse <dwmw at amazon.co.uk>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk at oracle.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/20180702213553.29202.21089.stgit@tlendack-t1.amdoffice.net
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 0144eb204cdcdf09a76794b4a294291388e739bc
Author: Adam Ford <aford173 at gmail.com>
Date:   Mon Jun 25 07:41:33 2018 -0500

    ARM: dts: omap3: Fix am3517 mdio and emac clock references
    
    A previous patch removed OMAP clock aliases that were perceived
    to be unnecessary.  Unfortunately, it broke the ethernet on the
    am3517-evm.  This patch enables the MDIO clock and EMAC clock.
    
    Fixes: 0ed266d7ae5e ("clk: ti: omap3: cleanup unnecessary clock aliases")
    Cc: stable at vger.kernel.org #4.16+
    
    Signed-off-by: Adam Ford <aford173 at gmail.com>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit 4fb5f58e8d191f7c81637ad81284e4848afb4244
Author: Zhenzhong Duan <zhenzhong.duan at oracle.com>
Date:   Mon Jul 2 23:49:54 2018 -0700

    x86/mm/32: Initialize the CR4 shadow before __flush_tlb_all()
    
    On 32-bit kernels, __flush_tlb_all() may have read the CR4 shadow before the
    initialization of CR4 shadow in cpu_init().
    
    Fix it by adding an explicit cr4_init_shadow() call into start_secondary()
    which is the first function called on non-boot SMP CPUs - ahead of the
    __flush_tlb_all() call.
    
    ( This is somewhat of a layering violation, but start_secondary() does
      CR4 bootstrap in the PCID case anyway. )
    
    Signed-off-by: Zhenzhong Duan <zhenzhong.duan at oracle.com>
    Cc: Andy Lutomirski <luto at kernel.org>
    Cc: Borislav Petkov <bp at alien8.de>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: "H. Peter Anvin" <hpa at zytor.com>
    Link: http://lkml.kernel.org/r/b07b6ae9-4b57-4b40-b9bc-50c2c67f1d91@default
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 1cef1150ef40ec52f507436a14230cbc2623299c
Author: Peter Zijlstra <peterz at infradead.org>
Date:   Thu Jun 7 11:45:49 2018 +0200

    kthread, sched/core: Fix kthread_parkme() (again...)
    
    Gaurav reports that commit:
    
      85f1abe0019f ("kthread, sched/wait: Fix kthread_parkme() completion issue")
    
    isn't working for him. Because of the following race:
    
    > controller Thread                               CPUHP Thread
    > takedown_cpu
    > kthread_park
    > kthread_parkme
    > Set KTHREAD_SHOULD_PARK
    >                                                 smpboot_thread_fn
    >                                                 set Task interruptible
    >
    >
    > wake_up_process
    >  if (!(p->state & state))
    >                 goto out;
    >
    >                                                 Kthread_parkme
    >                                                 SET TASK_PARKED
    >                                                 schedule
    >                                                 raw_spin_lock(&rq->lock)
    > ttwu_remote
    > waiting for __task_rq_lock
    >                                                 context_switch
    >
    >                                                 finish_lock_switch
    >
    >
    >
    >                                                 Case TASK_PARKED
    >                                                 kthread_park_complete
    >
    >
    > SET Running
    
    Furthermore, Oleg noticed that the whole scheduler TASK_PARKED
    handling is buggered because the TASK_DEAD thing is done with
    preemption disabled, the current code can still complete early on
    preemption :/
    
    So basically revert that earlier fix and go with a variant of the
    alternative mentioned in the commit. Promote TASK_PARKED to special
    state to avoid the store-store issue on task->state leading to the
    WARN in kthread_unpark() -> __kthread_bind().
    
    But in addition, add wait_task_inactive() to kthread_park() to ensure
    the task really is PARKED when we return from kthread_park(). This
    avoids the whole kthread still gets migrated nonsense -- although it
    would be really good to get this done differently.
    
    Reported-by: Gaurav Kohli <gkohli at codeaurora.org>
    Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Oleg Nesterov <oleg at redhat.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Fixes: 85f1abe0019f ("kthread, sched/wait: Fix kthread_parkme() completion issue")
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 3482d98bbc730758b63a5d1cf41d05ea17481412
Author: Vincent Guittot <vincent.guittot at linaro.org>
Date:   Thu Jun 14 12:33:00 2018 +0200

    sched/util_est: Fix util_est_dequeue() for throttled cfs_rq
    
    When a cfs_rq is throttled, parent cfs_rq->nr_running is decreased and
    everything happens at cfs_rq level. Currently util_est stays unchanged
    in such case and it keeps accounting the utilization of throttled tasks.
    This can somewhat make sense as we don't dequeue tasks but only throttled
    cfs_rq.
    
    If a task of another group is enqueued/dequeued and root cfs_rq becomes
    idle during the dequeue, util_est will be cleared whereas it was
    accounting util_est of throttled tasks before. So the behavior of util_est
    is not always the same regarding throttled tasks and depends of side
    activity. Furthermore, util_est will not be updated when the cfs_rq is
    unthrottled as everything happens at cfs_rq level. Main results is that
    util_est will stay null whereas we now have running tasks. We have to wait
    for the next dequeue/enqueue of the previously throttled tasks to get an
    up to date util_est.
    
    Remove the assumption that cfs_rq's estimated utilization of a CPU is 0
    if there is no running task so the util_est of a task remains until the
    latter is dequeued even if its cfs_rq has been throttled.
    
    Signed-off-by: Vincent Guittot <vincent.guittot at linaro.org>
    Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
    Reviewed-by: Patrick Bellasi <patrick.bellasi at arm.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Fixes: 7f65ea42eb00 ("sched/fair: Add util_est on top of PELT")
    Link: http://lkml.kernel.org/r/1528972380-16268-1-git-send-email-vincent.guittot@linaro.org
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit f1d1be8aee6c461652aea8f58bedebaa73d7f4d3
Author: Xunlei Pang <xlpang at linux.alibaba.com>
Date:   Wed Jun 20 18:18:34 2018 +0800

    sched/fair: Advance global expiration when period timer is restarted
    
    When period gets restarted after some idle time, start_cfs_bandwidth()
    doesn't update the expiration information, expire_cfs_rq_runtime() will
    see cfs_rq->runtime_expires smaller than rq clock and go to the clock
    drift logic, wasting needless CPU cycles on the scheduler hot path.
    
    Update the global expiration in start_cfs_bandwidth() to avoid frequent
    expire_cfs_rq_runtime() calls once a new period begins.
    
    Signed-off-by: Xunlei Pang <xlpang at linux.alibaba.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
    Reviewed-by: Ben Segall <bsegall at google.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/20180620101834.24455-2-xlpang@linux.alibaba.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 512ac999d2755d2b7109e996a76b6fb8b888631d
Author: Xunlei Pang <xlpang at linux.alibaba.com>
Date:   Wed Jun 20 18:18:33 2018 +0800

    sched/fair: Fix bandwidth timer clock drift condition
    
    I noticed that cgroup task groups constantly get throttled even
    if they have low CPU usage, this causes some jitters on the response
    time to some of our business containers when enabling CPU quotas.
    
    It's very simple to reproduce:
    
      mkdir /sys/fs/cgroup/cpu/test
      cd /sys/fs/cgroup/cpu/test
      echo 100000 > cpu.cfs_quota_us
      echo $$ > tasks
    
    then repeat:
    
      cat cpu.stat | grep nr_throttled  # nr_throttled will increase steadily
    
    After some analysis, we found that cfs_rq::runtime_remaining will
    be cleared by expire_cfs_rq_runtime() due to two equal but stale
    "cfs_{b|q}->runtime_expires" after period timer is re-armed.
    
    The current condition to judge clock drift in expire_cfs_rq_runtime()
    is wrong, the two runtime_expires are actually the same when clock
    drift happens, so this condtion can never hit. The orginal design was
    correctly done by this commit:
    
      a9cf55b28610 ("sched: Expire invalid runtime")
    
    ... but was changed to be the current implementation due to its locking bug.
    
    This patch introduces another way, it adds a new field in both structures
    cfs_rq and cfs_bandwidth to record the expiration update sequence, and
    uses them to figure out if clock drift happens (true if they are equal).
    
    Signed-off-by: Xunlei Pang <xlpang at linux.alibaba.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
    Reviewed-by: Ben Segall <bsegall at google.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Fixes: 51f2176d74ac ("sched/fair: Fix unlocked reads of some cfs_b->quota/period")
    Link: http://lkml.kernel.org/r/20180620101834.24455-1-xlpang@linux.alibaba.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 296b2ffe7fa9ed756c41415c6b1512bc4ad687b1
Author: Vincent Guittot <vincent.guittot at linaro.org>
Date:   Tue Jun 26 15:53:22 2018 +0200

    sched/rt: Fix call to cpufreq_update_util()
    
    With commit:
    
      8f111bc357aa ("cpufreq/schedutil: Rewrite CPUFREQ_RT support")
    
    the schedutil governor uses rq->rt.rt_nr_running to detect whether an
    RT task is currently running on the CPU and to set frequency to max
    if necessary.
    
    cpufreq_update_util() is called in enqueue/dequeue_top_rt_rq() but
    rq->rt.rt_nr_running has not been updated yet when dequeue_top_rt_rq() is
    called so schedutil still considers that an RT task is running when the
    last task is dequeued. The update of rq->rt.rt_nr_running happens later
    in dequeue_rt_stack().
    
    In fact, we can take advantage of the sequence that the dequeue then
    re-enqueue rt entities when a rt task is enqueued or dequeued;
    As a result enqueue_top_rt_rq() is always called when a task is
    enqueued or dequeued and also when groups are throttled or unthrottled.
    The only place that not use enqueue_top_rt_rq() is when root rt_rq is
    throttled.
    
    Signed-off-by: Vincent Guittot <vincent.guittot at linaro.org>
    Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: efault at gmx.de
    Cc: juri.lelli at redhat.com
    Cc: patrick.bellasi at arm.com
    Cc: viresh.kumar at linaro.org
    Fixes: 8f111bc357aa ('cpufreq/schedutil: Rewrite CPUFREQ_RT support')
    Link: http://lkml.kernel.org/r/1530021202-21695-1-git-send-email-vincent.guittot@linaro.org
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit d9c0ffcabd6aae7ff1e34e8078354c13bb9f1183
Author: Frederic Weisbecker <frederic at kernel.org>
Date:   Thu Jun 28 18:29:41 2018 +0200

    sched/nohz: Skip remote tick on idle task entirely
    
    Some people have reported that the warning in sched_tick_remote()
    occasionally triggers, especially in favour of some RCU-Torture
    pressure:
    
    	WARNING: CPU: 11 PID: 906 at kernel/sched/core.c:3138 sched_tick_remote+0xb6/0xc0
    	Modules linked in:
    	CPU: 11 PID: 906 Comm: kworker/u32:3 Not tainted 4.18.0-rc2+ #1
    	Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
    	Workqueue: events_unbound sched_tick_remote
    	RIP: 0010:sched_tick_remote+0xb6/0xc0
    	Code: e8 0f 06 b8 00 c6 03 00 fb eb 9d 8b 43 04 85 c0 75 8d 48 8b 83 e0 0a 00 00 48 85 c0 75 81 eb 88 48 89 df e8 bc fe ff ff eb aa <0f> 0b eb
    	+c5 66 0f 1f 44 00 00 bf 17 00 00 00 e8 b6 2e fe ff 0f b6
    	Call Trace:
    	 process_one_work+0x1df/0x3b0
    	 worker_thread+0x44/0x3d0
    	 kthread+0xf3/0x130
    	 ? set_worker_desc+0xb0/0xb0
    	 ? kthread_create_worker_on_cpu+0x70/0x70
    	 ret_from_fork+0x35/0x40
    
    This happens when the remote tick applies on an idle task. Usually the
    idle_cpu() check avoids that, but it is performed before we lock the
    runqueue and it is therefore racy. It was intended to be that way in
    order to prevent from useless runqueue locks since idle task tick
    callback is a no-op.
    
    Now if the racy check slips out of our hands and we end up remotely
    ticking an idle task, the empty task_tick_idle() is harmless. Still
    it won't pass the WARN_ON_ONCE() test that ensures rq_clock_task() is
    not too far from curr->se.exec_start because update_curr_idle() doesn't
    update the exec_start value like other scheduler policies. Hence the
    reported false positive.
    
    So let's have another check, while the rq is locked, to make sure we
    don't remote tick on an idle task. The lockless idle_cpu() still applies
    to avoid unecessary rq lock contention.
    
    Reported-by: Jacek Tomaka <jacekt at dug.com>
    Reported-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
    Reported-by: Anna-Maria Gleixner <anna-maria at linutronix.de>
    Signed-off-by: Frederic Weisbecker <frederic at kernel.org>
    Signed-off-by: Peter Zijlstra (Intel) <peterz at infradead.org>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/1530203381-31234-1-git-send-email-frederic@kernel.org
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 5d1c115241e4aa0034ddf44693c6bd2e89e10831
Author: Robert Nelson <robertcnelson at gmail.com>
Date:   Mon Jul 2 15:21:43 2018 -0500

    ARM: dts: am335x-bone-common: Fix mmc0 Write Protect
    
    Mainline Commit b74c2b21e1551018af53ee6c1efc051dfce2d788 added the pinmux
    settings for mmc1, however this pin (0x9a0) is routed to P9_42 on the cape
    header. Thus any BeagleBone cape that utilizes P9_42 triggers mmc0's Write
    Protect.
    
    Fixes: b74c2b21e155 ("ARM: dts: am33xx: Add pinmux data for mmc1 in
    am335x-evm, evmsk and beaglebone")
    Signed-off-by: Robert Nelson <robertcnelson at gmail.com>
    CC: Faiz Abbas <faiz_abbas at ti.com>
    CC: Tony Lindgren <tony at atomide.com>
    CC: Jason Kridner <jkridner at beagleboard.org>
    CC: Drew Fustini <drew at beagleboard.org>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit f18ccd5d902138d099de0f38fb9b1510db5c9648
Merge: 07eaa43e66f5 207490517cf8
Author: Tony Lindgren <tony at atomide.com>
Date:   Mon Jul 2 23:21:21 2018 -0700

    Merge branch 'omap-for-v4.19/ti-sysc' into omap-for-v4.18/fixes

commit a17712c8e4be4fa5404d20e9cd3b2b21eae7bc56
Author: Jon Derrick <jonathan.derrick at intel.com>
Date:   Mon Jul 2 18:45:18 2018 -0400

    ext4: check superblock mapped prior to committing
    
    This patch attempts to close a hole leading to a BUG seen with hot
    removals during writes [1].
    
    A block device (NVME namespace in this test case) is formatted to EXT4
    without partitions. It's mounted and write I/O is run to a file, then
    the device is hot removed from the slot. The superblock attempts to be
    written to the drive which is no longer present.
    
    The typical chain of events leading to the BUG:
    ext4_commit_super()
      __sync_dirty_buffer()
        submit_bh()
          submit_bh_wbc()
            BUG_ON(!buffer_mapped(bh));
    
    This fix checks for the superblock's buffer head being mapped prior to
    syncing.
    
    [1] https://www.spinics.net/lists/linux-ext4/msg56527.html
    
    Signed-off-by: Jon Derrick <jonathan.derrick at intel.com>
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit 30998033f62a9915e0f884d680569a39bc9ce133
Author: Sudeep Holla <Sudeep.Holla at arm.com>
Date:   Fri Jun 29 17:17:57 2018 +0100

    ACPI / PPTT: use ACPI ID whenever ACPI_PPTT_ACPI_PROCESSOR_ID_VALID is set
    
    Currently, we use the ACPI processor ID only for the leaf/processor nodes
    as the specification states it must match the value of the ACPI processor
    ID field in the processor’s entry in the MADT.
    
    However, if a PPTT structure represents a processors group, it
    matches a processor container UID in the namespace and the
    ACPI_PPTT_ACPI_PROCESSOR_ID_VALID flag indicates whether the
    ACPI processor ID is valid.
    
    Let's use UID whenever ACPI_PPTT_ACPI_PROCESSOR_ID_VALID is set to be
    consistent instead of using table offset as it's currently done for
    non-leaf nodes.
    
    Fixes: 2bd00bcd73e5 (ACPI/PPTT: Add Processor Properties Topology Table parsing)
    Signed-off-by: Sudeep Holla <sudeep.holla at arm.com>
    Acked-by: Jeremy Linton <jeremy.linton at arm.com>
    [ rjw: Changelog (minor) ]
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

commit d0fbad0aec1df29717fab736eb24c8a49cf2c70b
Merge: 8d2b6f6b4a80 bda3153998f3
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 2 12:40:59 2018 -0700

    Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
    
    Pull MD fixes from Shaohua Li:
     "Two small fixes for MD:
    
       - an error handling fix from me
    
       - a recover bug fix for raid10 from BingJing"
    
    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
      md/raid10: fix that replacement cannot complete recovery after reassemble
      MD: cleanup resources in failure

commit 8d2b6f6b4a805ca74174e779bddde9ad075d3d43
Merge: 4e33d7d47943 ae15a41a6414
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 2 12:38:14 2018 -0700

    Merge tag 'for-linus' of git://github.com/stffrdhrn/linux
    
    Pull OpenRISC fixes from Stafford Horne:
     "Two fixes for issues which were breaking OpenRISC boot:
    
       - Fix bug in __pte_free_tlb() exposed in 4.18 by Matthew Wilcox's
         page table flag addition.
    
       - Fix issue booting on real hardware if delay slot detection
         emulation is disabled"
    
    * tag 'for-linus' of git://github.com/stffrdhrn/linux:
      openrisc: entry: Fix delay slot exception detection
      openrisc: Call destructor during __pte_free_tlb

commit c3d0280be8d5c6de9e3848e280493f561799bb67
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Thu Jun 28 12:44:25 2018 -0500

    drm/amdgpu/pm: fix display count in non-DC path
    
    new_active_crtcs is a bitmask, new_active_crtc_count is the
    actual count.
    
    Reviewed-by: Rex Zhu <Rex.Zhu at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit 0859df22ab7cfb3ad2df2caed76cadce6ac33a80
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Thu Jun 28 12:38:53 2018 -0500

    drm/amdgpu: fix swapped emit_ib_size in vce3
    
    The phys and vm versions had the values swapped.
    
    Reviewed-by: Junwei Zhang <Jerry.Zhang at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit 4e33d7d47943aaa84a5904472cf2f9c6d6b0a6ca
Merge: 021c91791a5e e48e09799643
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jul 2 11:18:28 2018 -0700

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
    
    Pull networking fixes from David Miller:
    
     1) Verify netlink attributes properly in nf_queue, from Eric Dumazet.
    
     2) Need to bump memory lock rlimit for test_sockmap bpf test, from
        Yonghong Song.
    
     3) Fix VLAN handling in lan78xx driver, from Dave Stevenson.
    
     4) Fix uninitialized read in nf_log, from Jann Horn.
    
     5) Fix raw command length parsing in mlx5, from Alex Vesker.
    
     6) Cleanup loopback RDS connections upon netns deletion, from Sowmini
        Varadhan.
    
     7) Fix regressions in FIB rule matching during create, from Jason A.
        Donenfeld and Roopa Prabhu.
    
     8) Fix mpls ether type detection in nfp, from Pieter Jansen van Vuuren.
    
     9) More bpfilter build fixes/adjustments from Masahiro Yamada.
    
    10) Fix XDP_{TX,REDIRECT} flushing in various drivers, from Jesper
        Dangaard Brouer.
    
    11) fib_tests.sh file permissions were broken, from Shuah Khan.
    
    12) Make sure BH/preemption is disabled in data path of mac80211, from
        Denis Kenzior.
    
    13) Don't ignore nla_parse_nested() return values in nl80211, from
        Johannes berg.
    
    14) Properly account sock objects ot kmemcg, from Shakeel Butt.
    
    15) Adjustments to setting bpf program permissions to read-only, from
        Daniel Borkmann.
    
    16) TCP Fast Open key endianness was broken, it always took on the host
        endiannness. Whoops. Explicitly make it little endian. From Yuching
        Cheng.
    
    17) Fix prefix route setting for link local addresses in ipv6, from
        David Ahern.
    
    18) Potential Spectre v1 in zatm driver, from Gustavo A. R. Silva.
    
    19) Various bpf sockmap fixes, from John Fastabend.
    
    20) Use after free for GRO with ESP, from Sabrina Dubroca.
    
    21) Passing bogus flags to crypto_alloc_shash() in ipv6 SR code, from
        Eric Biggers.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (87 commits)
      qede: Adverstise software timestamp caps when PHC is not available.
      qed: Fix use of incorrect size in memcpy call.
      qed: Fix setting of incorrect eswitch mode.
      qed: Limit msix vectors in kdump kernel to the minimum required count.
      ipvlan: call dev_change_flags when ipvlan mode is reset
      ipv6: sr: fix passing wrong flags to crypto_alloc_shash()
      net: fix use-after-free in GRO with ESP
      tcp: prevent bogus FRTO undos with non-SACK flows
      bpf: sockhash, add release routine
      bpf: sockhash fix omitted bucket lock in sock_close
      bpf: sockmap, fix smap_list_map_remove when psock is in many maps
      bpf: sockmap, fix crash when ipv6 sock is added
      net: fib_rules: bring back rule_exists to match rule during add
      hv_netvsc: split sub-channel setup into async and sync
      net: use dev_change_tx_queue_len() for SIOCSIFTXQLEN
      atm: zatm: Fix potential Spectre v1
      s390/qeth: consistently re-enable device features
      s390/qeth: don't clobber buffer on async TX completion
      s390/qeth: avoid using is_multicast_ether_addr_64bits on (u8 *)[6]
      s390/qeth: fix race when setting MAC address
      ...

commit 718b5406cd76f1aa6434311241b7febf0e8571ff
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Fri Jun 29 16:27:10 2018 +0200

    drm: Use kvzalloc for allocating blob property memory
    
    The property size may be controlled by userspace, can be large (I've
    seen failure with order 4, i.e. 16 pages / 64 KB) and doesn't need to be
    physically contiguous.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20180629142710.2069-1-michel@daenzer.net
    Cc: stable at vger.kernel.org

commit 64dafbc9530c10300acffc57fae3269d95fa8f93
Author: Lars Ellenberg <lars.ellenberg at linbit.com>
Date:   Mon Jun 25 11:39:52 2018 +0200

    drbd: fix access after free
    
    We have
      struct drbd_requests { ... struct bio *private_bio;  ... }
    to hold a bio clone for local submission.
    
    On local IO completion, we put that bio, and in case we want to use the
    result later, we overload that member to hold the ERR_PTR() of the
    completion result,
    
    Which, before v4.3, used to be the passed in "int error",
    so we could first bio_put(), then assign.
    
    v4.3-rc1~100^2~21 4246a0b63bd8 block: add a bi_error field to struct bio
    changed that:
      	bio_put(req->private_bio);
     -	req->private_bio = ERR_PTR(error);
     +	req->private_bio = ERR_PTR(bio->bi_error);
    
    Which introduces an access after free,
    because it was non obvious that req->private_bio == bio.
    
    Impact of that was mostly unnoticable, because we only use that value
    in a multiple-failure case, and even then map any "unexpected" error
    code to EIO, so worst case we could potentially mask a more specific
    error with EIO in a multiple failure case.
    
    Unless the pointed to memory region was unmapped, as is the case with
    CONFIG_DEBUG_PAGEALLOC, in which case this results in
    
      BUG: unable to handle kernel paging request
    
    v4.13-rc1~70^2~75 4e4cbee93d56 block: switch bios to blk_status_t
    changes it further to
      	bio_put(req->private_bio);
      	req->private_bio = ERR_PTR(blk_status_to_errno(bio->bi_status));
    
    And blk_status_to_errno() now contains a WARN_ON_ONCE() for unexpected
    values, which catches this "sometimes", if the memory has been reused
    quickly enough for other things.
    
    Should also go into stable since 4.3, with the trivial change around 4.13.
    
    Cc: stable at vger.kernel.org
    Fixes: 4246a0b63bd8 block: add a bi_error field to struct bio
    Reported-by: Sarah Newman <srn at prgmr.com>
    Signed-off-by: Lars Ellenberg <lars.ellenberg at linbit.com>
    Signed-off-by: Jens Axboe <axboe at kernel.dk>

commit e48e097996439cd73f36c89b98ba4175d84c9be6
Merge: 5dc2d3996a8b 82a4e71b1565
Author: David S. Miller <davem at davemloft.net>
Date:   Mon Jul 2 20:41:31 2018 +0900

    Merge branch 'qed-fixes'
    
    Sudarsana Reddy Kalluru says:
    
    ====================
    qed*: Fix series.
    
    The patch series addresses few issues in the qed* drivers.
    
    Please consider applying it to 'net' branch.
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 82a4e71b1565dea8387f54503e806cf374e779ec
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date:   Sun Jul 1 20:03:08 2018 -0700

    qede: Adverstise software timestamp caps when PHC is not available.
    
    When ptp clock is not available for a PF (e.g., higher PFs in NPAR mode),
    get-tsinfo() callback should return the software timestamp capabilities
    instead of returning the error.
    
    Fixes: 4c55215c ("qede: Add driver support for PTP")
    Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
    Signed-off-by: Michal Kalderon <Michal.Kalderon at cavium.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit cc9b27cdf7bd3c86df73439758ac1564bc8f5bbe
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date:   Sun Jul 1 20:03:07 2018 -0700

    qed: Fix use of incorrect size in memcpy call.
    
    Use the correct size value while copying chassis/port id values.
    
    Fixes: 6ad8c632e ("qed: Add support for query/config dcbx.")
    Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
    Signed-off-by: Michal Kalderon <Michal.Kalderon at cavium.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 538f8d00ba8bb417c4d9e76c61dee59d812d8287
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date:   Sun Jul 1 20:03:06 2018 -0700

    qed: Fix setting of incorrect eswitch mode.
    
    By default, driver sets the eswitch mode incorrectly as VEB (virtual
    Ethernet bridging).
    Need to set VEB eswitch mode only when sriov is enabled, and it should be
    to set NONE by default. The patch incorporates this change.
    
    Fixes: 0fefbfbaa ("qed*: Management firmware - notifications and defaults")
    Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
    Signed-off-by: Michal Kalderon <Michal.Kalderon at cavium.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit bb7858ba1102f82470a917e041fd23e6385c31be
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date:   Sun Jul 1 20:03:05 2018 -0700

    qed: Limit msix vectors in kdump kernel to the minimum required count.
    
    Memory size is limited in the kdump kernel environment. Allocation of more
    msix-vectors (or queues) consumes few tens of MBs of memory, which might
    lead to the kdump kernel failure.
    This patch adds changes to limit the number of MSI-X vectors in kdump
    kernel to minimum required value (i.e., 2 per engine).
    
    Fixes: fe56b9e6a ("qed: Add module with basic common support")
    Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
    Signed-off-by: Michal Kalderon <Michal.Kalderon at cavium.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 5dc2d3996a8b221c20dd0900bdad45031a572530
Author: Hangbin Liu <liuhangbin at gmail.com>
Date:   Sun Jul 1 16:21:21 2018 +0800

    ipvlan: call dev_change_flags when ipvlan mode is reset
    
    After we change the ipvlan mode from l3 to l2, or vice versa, we only
    reset IFF_NOARP flag, but don't flush the ARP table cache, which will
    cause eth->h_dest to be equal to eth->h_source in ipvlan_xmit_mode_l2().
    Then the message will not come out of host.
    
    Here is the reproducer on local host:
    
    ip link set eth1 up
    ip addr add 192.168.1.1/24 dev eth1
    ip link add link eth1 ipvlan1 type ipvlan mode l3
    
    ip netns add net1
    ip link set ipvlan1 netns net1
    ip netns exec net1 ip link set ipvlan1 up
    ip netns exec net1 ip addr add 192.168.2.1/24 dev ipvlan1
    
    ip route add 192.168.2.0/24 via 192.168.1.2
    ping 192.168.2.2 -c 2
    
    ip netns exec net1 ip link set ipvlan1 type ipvlan mode l2
    ping 192.168.2.2 -c 2
    
    Add the same configuration on remote host. After we set the mode to l2,
    we could find that the src/dst MAC addresses are the same on eth1:
    
    21:26:06.648565 00:b7:13:ad:d3:05 > 00:b7:13:ad:d3:05, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 58356, offset 0, flags [DF], proto ICMP (1), length 84)
        192.168.2.1 > 192.168.2.2: ICMP echo request, id 22686, seq 1, length 64
    
    Fix this by calling dev_change_flags(), which will call netdevice notifier
    with flag change info.
    
    v2:
    a) As pointed out by Wang Cong, check return value for dev_change_flags() when
    change dev flags.
    b) As suggested by Stefano and Sabrina, move flags setting before l3mdev_ops.
    So we don't need to redo ipvlan_{, un}register_nf_hook() again in err path.
    
    Reported-by: Jianlin Shi <jishi at redhat.com>
    Reviewed-by: Stefano Brivio <sbrivio at redhat.com>
    Reviewed-by: Sabrina Dubroca <sd at queasysnail.net>
    Fixes: 2ad7bf3638411 ("ipvlan: Initial check-in of the IPVLAN driver.")
    Signed-off-by: Hangbin Liu <liuhangbin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit fc9c2029e37c3ae9efc28bf47045e0b87e09660c
Author: Eric Biggers <ebiggers at google.com>
Date:   Sat Jun 30 15:26:56 2018 -0700

    ipv6: sr: fix passing wrong flags to crypto_alloc_shash()
    
    The 'mask' argument to crypto_alloc_shash() uses the CRYPTO_ALG_* flags,
    not 'gfp_t'.  So don't pass GFP_KERNEL to it.
    
    Fixes: bf355b8d2c30 ("ipv6: sr: add core files for SR HMAC support")
    Signed-off-by: Eric Biggers <ebiggers at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 603d4cf8fe095b1ee78f423d514427be507fb513
Author: Sabrina Dubroca <sd at queasysnail.net>
Date:   Sat Jun 30 17:38:55 2018 +0200

    net: fix use-after-free in GRO with ESP
    
    Since the addition of GRO for ESP, gro_receive can consume the skb and
    return -EINPROGRESS. In that case, the lower layer GRO handler cannot
    touch the skb anymore.
    
    Commit 5f114163f2f5 ("net: Add a skb_gro_flush_final helper.") converted
    some of the gro_receive handlers that can lead to ESP's gro_receive so
    that they wouldn't access the skb when -EINPROGRESS is returned, but
    missed other spots, mainly in tunneling protocols.
    
    This patch finishes the conversion to using skb_gro_flush_final(), and
    adds a new helper, skb_gro_flush_final_remcsum(), used in VXLAN and
    GUE.
    
    Fixes: 5f114163f2f5 ("net: Add a skb_gro_flush_final helper.")
    Signed-off-by: Sabrina Dubroca <sd at queasysnail.net>
    Reviewed-by: Stefano Brivio <sbrivio at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 207490517cf80d99f471d1b54e747eb95a4b8bea
Author: Kees Cook <keescook at chromium.org>
Date:   Mon Jun 18 10:45:49 2018 -0700

    bus: ti-sysc: Use 2-factor allocator arguments
    
    This adjusts the allocator calls to use 2-factor argument call style, as
    done treewide already for improved defense against allocation overflows.
    
    Signed-off-by: Kees Cook <keescook at chromium.org>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit 07eaa43e66f505980d00e0f5fe697f3da7c6a730
Author: Roger Quadros <rogerq at ti.com>
Date:   Tue May 29 12:00:54 2018 +0300

    ARM: dts: dra7: Disable metastability workaround for USB2
    
    Disable the metastability workaround for USB2. The original
    patch disabled the workaround on the wrong USB port.
    
    Fixes: b8c9c6fa2002 ("ARM: dts: dra7: Disable USB metastability workaround for USB2")
    Cc: <stable at vger.kernel.org>        [4.16+]
    Signed-off-by: Roger Quadros <rogerq at ti.com>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit dfa758638fd2d1184760deb2693abf76e982c53a
Author: Eric Farman <farman at linux.ibm.com>
Date:   Fri Jun 29 19:54:01 2018 +0200

    s390/mm: fix refcount usage for 4K pgste
    
    s390 no longer uses the _mapcount field in struct page to identify
    the page table format being used. While the code was diligent in handling
    the different mappings, it neglected to turn "off" the map bits when
    alloc_pgste was being used. This resulted in bits remaining "on" in the
    _refcount field, and thus an artifically huge "in use" count that prevents
    the pages from actually being released by __free_page.
    
    There's opportunity for improvement in the "1 vs 3" vs "1U vs 3U" vs
    "0x1 vs 0x11" etc. variations for all these calls, I am just keeping
    things simple compared to neighboring code.
    
    Fixes: 620b4e903179 ("s390: use _refcount for pgtables")
    Reported-by: Halil Pasic <pasic at linux.ibm.com>
    Bisected-by: Vasily Gorbik <gor at linux.ibm.com>
    Signed-off-by: Eric Farman <farman at linux.ibm.com>
    Signed-off-by: Heiko Carstens <heiko.carstens at de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 3284da34a87ab7a527a593f89bbdaf6debe9e713
Author: Stefan Haberland <sth at linux.ibm.com>
Date:   Tue Jun 12 16:47:10 2018 +0200

    s390/dasd: reduce the default queue depth and nr of hardware queues
    
    Reduce the default values for the number of hardware queues and queue depth
    to significantly reduce the memory footprint of a DASD device.
    The memory consumption per DASD device reduces from approximately 40MB to
    approximately 1.5MB.
    
    This is necessary to build systems with a large number of DASD devices and
    a reasonable amount of memory.
    Performance measurements showed that good performance results are possible
    with the new default values even on systems with lots of CPUs and lots of
    alias devices.
    
    Fixes: e443343e509a ("s390/dasd: blk-mq conversion")
    Reviewed-by: Jan Hoeppner <hoeppner at linux.ibm.com>
    Reviewed-by: Peter Oberparleiter <oberpar at linux.ibm.com>
    Signed-off-by: Stefan Haberland <sth at linux.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit 08b393d01c88aff27347ed2b1b354eb4db2f1532
Author: Josh Poimboeuf <jpoimboe at redhat.com>
Date:   Wed Jun 27 17:03:45 2018 -0500

    objtool: Support GCC 8 '-fnoreorder-functions'
    
    Since the following commit:
    
      cd77849a69cf ("objtool: Fix GCC 8 cold subfunction detection for aliased functions")
    
    ... if the kernel is built with EXTRA_CFLAGS='-fno-reorder-functions',
    objtool can get stuck in an infinite loop.
    
    That flag causes the new GCC 8 cold subfunctions to be placed in .text
    instead of .text.unlikely.  But it also has an unfortunate quirk: in the
    symbol table, the subfunction (e.g., nmi_panic.cold.7) is nested inside
    the parent (nmi_panic).
    
    That function overlap confuses objtool, and causes it to get into an
    infinite loop in next_insn_same_func().  Here's Allan's description of
    the loop:
    
      "Objtool iterates through the instructions in nmi_panic using
      next_insn_same_func. Once it reaches the end of nmi_panic at 0x534 it
      jumps to 0x528 as that's the start of nmi_panic.cold.7. However, since
      the instructions starting at 0x528 are still associated with nmi_panic
      objtool will get stuck in a loop, continually jumping back to 0x528
      after reaching 0x534."
    
    Fix it by shortening the length of the parent function so that the
    functions no longer overlap.
    
    Reported-and-analyzed-by: Allan Xavier <allan.x.xavier at oracle.com>
    Signed-off-by: Josh Poimboeuf <jpoimboe at redhat.com>
    Cc: Allan Xavier <allan.x.xavier at oracle.com>
    Cc: Andy Lutomirski <luto at kernel.org>
    Cc: Borislav Petkov <bp at alien8.de>
    Cc: Brian Gerst <brgerst at gmail.com>
    Cc: Denys Vlasenko <dvlasenk at redhat.com>
    Cc: H. Peter Anvin <hpa at zytor.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/9e704c52bee651129b036be14feda317ae5606ae.1530136978.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit a4cae23cc05ccec749c2fc70fa9d8cda7c582319
Author: Xiaolin Zhang <xiaolin.zhang at intel.com>
Date:   Thu Jun 21 14:33:43 2018 +0800

    drm/i915/gvt: changed DDI mode emulation type
    
    changed gvt display transcode DDI mode from DP_SST to
    DVI to address below calltrace issue during guest booting
    up which is caused by zero dotclock initial value with DP_SST
    mode. transcode DVI mode emulation also align with native with DP
    connection.
    
    [drm:drm_calc_timestamping_constants]
    ERROR crtc 41: Can't calculate constants, dotclock = 0!
    
    WARNING: at drivers/gpu/drm/drm_vblank.c:620
    drm_calc_vbltimestamp_from_scanoutpos
    
    Call Trace:
    ? drm_calc_timestamping_constants+0x144/0x150 [drm]
    drm_get_last_vbltimestamp+0x54/0x90 [drm]
    drm_reset_vblank_timestamp+0x59/0xd0 [drm]
    drm_crtc_vblank_on+0x7b/0xd0 [drm]
    intel_modeset_setup_hw_state+0xb67/0xfd0 [i915]
    ? gen2_read32+0x110/0x110 [i915]
    ? drm_modeset_lock+0x30/0xa0 [drm]
    intel_modeset_init+0x794/0x19d0 [i915]
    ? intel_setup_gmbus+0x232/0x2e0 [i915]
    i915_driver_load+0xb4a/0xf40 [i915]
    
    Signed-off-by: Xiaolin Zhang <xiaolin.zhang at intel.com>
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>

commit 510fe10b6180137773dce9032b51bb82ff946c2d
Author: Zhao Yan <yan.y.zhao at intel.com>
Date:   Tue Jun 19 15:44:11 2018 +0800

    drm/i915/gvt: fix a bug of partially write ggtt enties
    
    when guest writes ggtt entries, it could write 8 bytes a time if
    gtt_entry_size is 8. But, qemu could split the 8 bytes into 2 consecutive
    4-byte writes.
    
    If each 4-byte partial write could trigger a host ggtt write, it is very
    possible that a wrong combination is written to the host ggtt. E.g.
    the higher 4 bytes is the old value, but the lower 4 bytes is the new
    value, and this 8-byte combination is wrong but written to the ggtt, thus
    causing bugs.
    
    To handle this condition, we just record the first 4-byte write, then wait
    until the second 4-byte write comes and write the combined 64-bit data to
    host ggtt table.
    
    To save memory space and to spot partial write as early as possible, we
    don't keep this information for every ggtt index. Instread, we just record
    the last ggtt write position, and assume the two 4-byte writes come in
    consecutively for each vgpu.
    
    This assumption is right based on the characteristic of ggtt entry which
    stores memory address. When gtt_entry_size is 8, the guest memory physical
    address should be 64 bits, so any sane guest driver should write 8-byte
    long data at a time, so 2 consecutive 4-byte writes at the same ggtt index
    should be trapped in gvt.
    
    v2:
    when incomplete ggtt entry write is located, e.g.
        1. guest only writes 4 bytes at a ggtt offset and no long writes the
           rest 4 bytes.
        2. guest writes 4 bytes of a ggtt offset, then write at other ggtt
           offsets, then return back to write the left 4 bytes of the first
           ggtt offset.
    add error handling logic to remap host entry to scratch page, and mark
    guest virtual ggtt entry as not present.  (zhenyu wang)
    
    Signed-off-by: Zhao Yan <yan.y.zhao at intel.com>
    Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>

commit aab109b340eaf3968337e1d19d71ff0551c57365
Author: Thomas Zimmermann <tdz at users.sourceforge.net>
Date:   Mon Jun 18 15:17:39 2018 +0200

    drm/exynos: Replace drm_dev_unref with drm_dev_put
    
    This patch unifies the naming of DRM functions for reference counting
    of struct drm_device. The resulting code is more aligned with the rest
    of the Linux kernel interfaces.
    
    Signed-off-by: Thomas Zimmermann <tdz at users.sourceforge.net>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit af7d9101a08d752bb6da9a80df6edbc618fab4cc
Author: Thomas Zimmermann <tdz at users.sourceforge.net>
Date:   Mon Jun 18 15:17:38 2018 +0200

    drm/exynos: Replace drm_gem_object_unreference_unlocked with put function
    
    This patch unifies the naming of DRM functions for reference counting
    of struct drm_gem_object. The resulting code is more aligned with the
    rest of the Linux kernel interfaces.
    
    Signed-off-by: Thomas Zimmermann <tdz at users.sourceforge.net>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit fa7743b141678116c19b89c5492b330671a51e02
Author: Thomas Zimmermann <tdz at users.sourceforge.net>
Date:   Mon Jun 18 15:17:37 2018 +0200

    drm/exynos: Replace drm_framebuffer_{un/reference} with put,get functions
    
    This patch unifies the naming of DRM functions for reference counting
    of struct drm_framebuffer. The resulting code is more aligned with the
    rest of the Linux kernel interfaces.
    
    Signed-off-by: Thomas Zimmermann <tdz at users.sourceforge.net>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit ecd60532e060e45c63c57ecf1c8549b1d656d34d
Author: Greg Ungerer <gerg at linux-m68k.org>
Date:   Mon Jun 18 15:34:14 2018 +1000

    m68k: fix "bad page state" oops on ColdFire boot
    
    Booting a ColdFire m68k core with MMU enabled causes a "bad page state"
    oops since commit 1d40a5ea01d5 ("mm: mark pages in use for page tables"):
    
     BUG: Bad page state in process sh  pfn:01ce2
     page:004fefc8 count:0 mapcount:-1024 mapping:00000000 index:0x0
     flags: 0x0()
     raw: 00000000 00000000 00000000 fffffbff 00000000 00000100 00000200 00000000
     raw: 039c4000
     page dumped because: nonzero mapcount
     Modules linked in:
     CPU: 0 PID: 22 Comm: sh Not tainted 4.17.0-07461-g1d40a5ea01d5 #13
    
    Fix by calling pgtable_page_dtor() in our __pte_free_tlb() code path,
    so that the PG_table flag is cleared before we free the pte page.
    
    Note that I had to change the type of pte_free() to be static from
    extern. Otherwise you get a lot of warnings like this:
    
    ./arch/m68k/include/asm/mcf_pgalloc.h:80:2: warning: ‘pgtable_page_dtor’ is static but used in inline function ‘pte_free’ which is not static
      pgtable_page_dtor(page);
      ^
    
    And making it static is consistent with our use of this in the other
    m68k pgalloc definitions of pte_free().
    
    Signed-off-by: Greg Ungerer <gerg at linux-m68k.org>
    CC: Matthew Wilcox <willy at infradead.org>
    Reviewed-by: Geert Uytterhoeven <geert at linux-m68k.org>

commit 021c91791a5e7e85c567452f1be3e4c2c6cb6063
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 1 16:04:53 2018 -0700

    Linux 4.18-rc3

commit d3bc0e67f8525760479e88a51e87bb0c026e40f3
Merge: 4a770e638f53 e4e7ede739f7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 1 12:38:16 2018 -0700

    Merge tag 'for-4.18-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
    
    Pull btrfs fixes from David Sterba:
     "We have a few regression fixes for qgroup rescan status tracking and
      the vm_fault_t conversion that mixed up the error values"
    
    * tag 'for-4.18-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      Btrfs: fix mount failure when qgroup rescan is in progress
      Btrfs: fix regression in btrfs_page_mkwrite() from vm_fault_t conversion
      btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf

commit 4a770e638f531d078b580a5a24412c5e5f8f7ddb
Merge: d7563ca5bfca 877f919e192a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 1 12:32:19 2018 -0700

    Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
    
    Pull vfs fix from Al Viro:
     "Followup to procfs-seq_file series this window"
    
    This fixes a memory leak by making sure that proc seq files release any
    private data on close.  The 'proc_seq_open' has to be properly paired
    with 'proc_seq_release' that releases the extra private data.
    
    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      proc: add proc_seq_release

commit d7563ca5bfca53398e100eb74345c5d3ef06bf9d
Merge: 652788a90d8e ebc2dc5f9b23
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 1 12:20:20 2018 -0700

    Merge tag 'staging-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
    
    Pull staging/IIO fixes from Greg KH:
     "Here are a few small staging and IIO driver fixes for 4.18-rc3.
    
      Nothing major or big, all just fixes for reported problems since
      4.18-rc1. All of these have been in linux-next this week with no
      reported problems"
    
    * tag 'staging-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
      staging: android: ion: Return an ERR_PTR in ion_map_kernel
      staging: comedi: quatech_daqp_cs: fix no-op loop daqp_ao_insn_write()
      iio: imu: inv_mpu6050: Fix probe() failure on older ACPI based machines
      iio: buffer: fix the function signature to match implementation
      iio: mma8452: Fix ignoring MMA8452_INT_DRDY
      iio: tsl2x7x/tsl2772: avoid potential division by zero
      iio: pressure: bmp280: fix relative humidity unit

commit 652788a90d8e4603104582fd1e2fcb95afad13d9
Merge: c2aee376cf35 21eff69aaaa0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 1 12:05:53 2018 -0700

    Merge tag 'tty-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
    
    Pull tty/serial fixes from Greg KH:
     "Here are five fixes for the tty core and some serial drivers.
    
      The tty core ones fix some security and other issues reported by the
      syzbot that I have taken too long in responding to (sorry Tetsuo!).
    
      The 8350 serial driver fix resolves an issue of devices that used to
      work properly stopping working as they shouldn't have been added to a
      blacklist.
    
      All of these have been in linux-next for a few days with no reported
      issues"
    
    * tag 'tty-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
      vt: prevent leaking uninitialized data to userspace via /dev/vcs*
      serdev: fix memleak on module unload
      serial: 8250_pci: Remove stalled entries in blacklist
      n_tty: Access echo_* variables carefully.
      n_tty: Fix stall at n_tty_receive_char_special().

commit c2aee376cf35d609feb8926afeb1d11e069a378c
Merge: c350d6d1d787 226e2d2d31b1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 1 11:50:16 2018 -0700

    Merge tag 'usb-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
    
    Pull USB fixes from Greg KH:
     "Here is a number of USB gadget and other driver fixes for 4.18-rc3.
    
      There's a bunch of them here, most of them being gadget driver and
      xhci host controller fixes for reported issues (as normal), but there
      are also some new device ids, and some fixes for the typec code.
    
      There is an acpi core patch in here that was acked by the acpi
      maintainer as it is needed for the typec fixes in order to properly
      solve a problem in that driver.
    
      All of these have been in linux-next this week with no reported
      issues"
    
    * tag 'usb-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (33 commits)
      usb: chipidea: host: fix disconnection detect issue
      usb: typec: tcpm: fix logbuffer index is wrong if _tcpm_log is re-entered
      typec: tcpm: Fix a msecs vs jiffies bug
      NFC: pn533: Fix wrong GFP flag usage
      usb: cdc_acm: Add quirk for Uniden UBC125 scanner
      staging/typec: fix tcpci_rt1711h build errors
      usb: typec: ucsi: Fix for incorrect status data issue
      usb: typec: ucsi: acpi: Workaround for cache mode issue
      acpi: Add helper for deactivating memory region
      usb: xhci: increase CRS timeout value
      usb: xhci: tegra: fix runtime PM error handling
      usb: xhci: remove the code build warning
      xhci: Fix kernel oops in trace_xhci_free_virt_device
      xhci: Fix perceived dead host due to runtime suspend race with event handler
      dwc2: gadget: Fix ISOC IN DDMA PID bitfield value calculation
      usb: gadget: dwc2: fix memory leak in gadget_init()
      usb: gadget: composite: fix delayed_status race condition when set_interface
      usb: dwc2: fix isoc split in transfer with no data
      usb: dwc2: alloc dma aligned buffer for isoc split in
      usb: dwc2: fix the incorrect bitmaps for the ports of multi_tt hub
      ...

commit c350d6d1d78789d73e8bf2047ab6564a4af4a02b
Merge: 883c9ab9eb59 210d0797c97d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sun Jul 1 10:45:13 2018 -0700

    Merge tag 'dma-mapping-4.18-2' of git://git.infradead.org/users/hch/dma-mapping
    
    Pull dma mapping fixlet from Christoph Hellwig:
     "Add a missing export required by riscv and unicore"
    
    * tag 'dma-mapping-4.18-2' of git://git.infradead.org/users/hch/dma-mapping:
      swiotlb: export swiotlb_dma_ops

commit 221e00d1fce976d8a04ff591a0150caf84e176f8
Author: Borislav Petkov <bp at alien8.de>
Date:   Sat Jun 23 12:36:22 2018 +0200

    crypto: x86 - Add missing RETs
    
    Add explicit RETs to the tail calls of AEGIS and MORUS crypto algorithms
    otherwise they run into INT3 padding due to
    
      ("x86/asm: Pad assembly functions with INT3 instructions")
    
    leading to spurious debug exceptions.
    
    Mike Galbraith <efault at gmx.de> took care of all the remaining callsites.
    
    Signed-off-by: Borislav Petkov <bp at suse.de>
    Acked-by: Ondrej Mosnacek <omosnacek at gmail.com>
    Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>

commit a068b94d74ddb7776ca707b6d39d1ac0d2d057e6
Author: Eric Biggers <ebiggers at google.com>
Date:   Mon Jun 18 15:33:23 2018 -0700

    crypto: arm/speck - fix building in Thumb2 mode
    
    Building the kernel with CONFIG_THUMB2_KERNEL=y and
    CONFIG_CRYPTO_SPECK_NEON set fails with the following errors:
    
        arch/arm/crypto/speck-neon-core.S: Assembler messages:
    
        arch/arm/crypto/speck-neon-core.S:419: Error: r13 not allowed here -- `bic sp,#0xf'
        arch/arm/crypto/speck-neon-core.S:423: Error: r13 not allowed here -- `bic sp,#0xf'
        arch/arm/crypto/speck-neon-core.S:427: Error: r13 not allowed here -- `bic sp,#0xf'
        arch/arm/crypto/speck-neon-core.S:431: Error: r13 not allowed here -- `bic sp,#0xf'
    
    The problem is that the 'bic' instruction can't operate on the 'sp'
    register in Thumb2 mode.  Fix it by using a temporary register.  This
    isn't in the main loop, so the performance difference is negligible.
    This also matches what aes-neonbs-core.S does.
    
    Reported-by: Stefan Agner <stefan at agner.ch>
    Fixes: ede9622162fa ("crypto: arm/speck - add NEON-accelerated implementation of Speck-XTS")
    Signed-off-by: Eric Biggers <ebiggers at google.com>
    Acked-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
    Reviewed-by: Stefan Agner <stefan at agner.ch>
    Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>

commit 1236f22fbae15df3736ab4a984c64c0c6ee6254c
Author: Ilpo Järvinen <ilpo.jarvinen at helsinki.fi>
Date:   Fri Jun 29 13:07:53 2018 +0300

    tcp: prevent bogus FRTO undos with non-SACK flows
    
    If SACK is not enabled and the first cumulative ACK after the RTO
    retransmission covers more than the retransmitted skb, a spurious
    FRTO undo will trigger (assuming FRTO is enabled for that RTO).
    The reason is that any non-retransmitted segment acknowledged will
    set FLAG_ORIG_SACK_ACKED in tcp_clean_rtx_queue even if there is
    no indication that it would have been delivered for real (the
    scoreboard is not kept with TCPCB_SACKED_ACKED bits in the non-SACK
    case so the check for that bit won't help like it does with SACK).
    Having FLAG_ORIG_SACK_ACKED set results in the spurious FRTO undo
    in tcp_process_loss.
    
    We need to use more strict condition for non-SACK case and check
    that none of the cumulatively ACKed segments were retransmitted
    to prove that progress is due to original transmissions. Only then
    keep FLAG_ORIG_SACK_ACKED set, allowing FRTO undo to proceed in
    non-SACK case.
    
    (FLAG_ORIG_SACK_ACKED is planned to be renamed to FLAG_ORIG_PROGRESS
    to better indicate its purpose but to keep this change minimal, it
    will be done in another patch).
    
    Besides burstiness and congestion control violations, this problem
    can result in RTO loop: When the loss recovery is prematurely
    undoed, only new data will be transmitted (if available) and
    the next retransmission can occur only after a new RTO which in case
    of multiple losses (that are not for consecutive packets) requires
    one RTO per loss to recover.
    
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen at helsinki.fi>
    Tested-by: Neal Cardwell <ncardwell at google.com>
    Acked-by: Neal Cardwell <ncardwell at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ae15a41a641449f536578b0d9ec0e4ade130deb5
Author: Stafford Horne <shorne at gmail.com>
Date:   Sun Jul 1 14:17:36 2018 +0900

    openrisc: entry: Fix delay slot exception detection
    
    Originally in patch e6d20c55a4 ("openrisc: entry: Fix delay slot
    detection") I fixed delay slot detection, but only for QEMU.  We missed
    that hardware delay slot detection using delay slot exception flag (DSX)
    was still broken.  This was because QEMU set the DSX flag in both
    pre-exception supervision register (ESR) and supervision register (SR)
    register, but on real hardware the DSX flag is only set on the SR
    register during exceptions.
    
    Fix this by carrying the DSX flag into the SR register during exception.
    We also update the DSX flag read locations to read the value from the SR
    register not the pt_regs SR register which represents ESR.  The ESR
    should never have the DSX flag set.
    
    In the process I updated/removed a few comments to match the current
    state.  Including removing a comment saying that the DSX detection logic
    was inefficient and needed to be rewritten.
    
    I have tested this on QEMU with a patch ensuring it matches the hardware
    specification.
    
    Link: https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg00000.html
    Fixes: e6d20c55a4 ("openrisc: entry: Fix delay slot detection")
    Signed-off-by: Stafford Horne <shorne at gmail.com>

commit 06d793b114e9d922c03aa077ac6c5c51fdda2722
Author: Nick Dyer <nick at shmanahar.org>
Date:   Thu Jun 21 19:10:00 2018 +0100

    ARM: dts: imx51-zii-rdu1: fix touchscreen pinctrl
    
    The pinctrl settings were incorrect for the touchscreen interrupt line, causing
    an interrupt storm. This change has been tested with both the atmel_mxt_ts and
    RMI4 drivers on the RDU1 units.
    
    The value 0x4 comes from the value of register IOMUXC_SW_PAD_CTL_PAD_CSI1_D8
    from the old vendor kernel.
    
    Signed-off-by: Nick Dyer <nick at shmanahar.org>
    Fixes: ceef0396f367 ("ARM: dts: imx: add ZII RDU1 board")
    Cc: <stable at vger.kernel.org> # 4.15+
    Reviewed-by: Fabio Estevam <fabio.estevam at nxp.com>
    Tested-by: Chris Healy <cphealy at gmail.com>
    Signed-off-by: Shawn Guo <shawnguo at kernel.org>

commit 271b955e52a965f729c9e67f281685c2e7d8726a
Merge: 35e8c7ba0863 bf2b866a2fe2
Author: David S. Miller <davem at davemloft.net>
Date:   Sun Jul 1 09:27:44 2018 +0900

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
    
    Daniel Borkmann says:
    
    ====================
    pull-request: bpf 2018-07-01
    
    The following pull-request contains BPF updates for your *net* tree.
    
    The main changes are:
    
    1) A bpf_fib_lookup() helper fix to change the API before freeze to
       return an encoding of the FIB lookup result and return the nexthop
       device index in the params struct (instead of device index as return
       code that we had before), from David.
    
    2) Various BPF JIT fixes to address syzkaller fallout, that is, do not
       reject progs when set_memory_*() fails since it could still be RO.
       Also arm32 JIT was not using bpf_jit_binary_lock_ro() API which was
       an issue, and a memory leak in s390 JIT found during review, from
       Daniel.
    
    3) Multiple fixes for sockmap/hash to address most of the syzkaller
       triggered bugs. Usage with IPv6 was crashing, a GPF in bpf_tcp_close(),
       a missing sock_map_release() routine to hook up to callbacks, and a
       fix for an omitted bucket lock in sock_close(), from John.
    
    4) Two bpftool fixes to remove duplicated error message on program load,
       and another one to close the libbpf object after program load. One
       additional fix for nfp driver's BPF offload to avoid stopping offload
       completely if replace of program failed, from Jakub.
    
    5) Couple of BPF selftest fixes that bail out in some of the test
       scripts if the user does not have the right privileges, from Jeffrin.
    
    6) Fixes in test_bpf for s390 when CONFIG_BPF_JIT_ALWAYS_ON is set
       where we need to set the flag that some of the test cases are expected
       to fail, from Kleber.
    
    7) Fix to detangle BPF_LIRC_MODE2 dependency from CONFIG_CGROUP_BPF
       since it has no relation to it and lirc2 users often have configs
       without cgroups enabled and thus would not be able to use it, from Sean.
    
    8) Fix a selftest failure in sockmap by removing a useless setrlimit()
       call that would set a too low limit where at the same time we are
       already including bpf_rlimit.h that does the job, from Yonghong.
    
    9) Fix BPF selftest config with missing missing NET_SCHED, from Anders.
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit bf2b866a2fe2d74558fe4b7bdf63a4bc0afbdf70
Merge: ca09cb04af90 caac76a5170e
Author: Daniel Borkmann <daniel at iogearbox.net>
Date:   Sun Jul 1 01:21:32 2018 +0200

    Merge branch 'bpf-sockmap-fixes'
    
    John Fastabend says:
    
    ====================
    This addresses two syzbot issues that lead to identifying (by Eric and
    Wei) a class of bugs where we don't correctly check for IPv4/v6
    sockets and their associated state. The second issue was a locking
    omission in sockhash.
    
    The first patch addresses IPv6 socks and fixing an error where
    sockhash would overwrite the prot pointer with IPv4 prot. To fix
    this build similar solution to TLS ULP. Although we continue to
    allow socks in all states not just ESTABLISH in this patch set
    because as Martin points out there should be no issue with this
    on the sockmap ULP because we don't use the ctx in this code. Once
    multiple ULPs coexist we may need to revisit this. However we
    can do this in *next trees.
    
    The other issue syzbot found that the tcp_close() handler missed
    locking the hash bucket lock which could result in corrupting the
    sockhash bucket list if delete and close ran at the same time.
    And also the smap_list_remove() routine was not working correctly
    at all. This was not caught in my testing because in general my
    tests (to date at least lets add some more robust selftest in
    bpf-next) do things in the "expected" order, create map, add socks,
    delete socks, then tear down maps. The tests we have that do the
    ops out of this order where only working on single maps not multi-
    maps so we never saw the issue. Thanks syzbot. The fix is to
    restructure the tcp_close() lock handling. And fix the obvious
    bug in smap_list_remove().
    
    Finally, during review I noticed the release handler was omitted
    from the upstream code (patch 4) due to an incorrect merge conflict
    fix when I ported the code to latest bpf-next before submitting.
    This would leave references to the map around if the user never
    closes the map.
    
    v3: rework patches, dropping ESTABLISH check and adding rcu
        annotation along with the smap_list_remove fix
    
    v4: missed one more case where maps was being accessed without
        the sk_callback_lock, spoted by Martin as well.
    
    v5: changed to use a specific lock for maps and reduced callback
        lock so that it is only used to gaurd sk callbacks. I think
        this makes the logic a bit cleaner and avoids confusion
        ovoer what each lock is doing.
    
    Also big thanks to Martin for thorough review he caught at least
    one case where I missed a rcu_call().
    ====================
    
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit caac76a5170eb508529bbff9d9300e9c57126444
Author: John Fastabend <john.fastabend at gmail.com>
Date:   Sat Jun 30 06:17:52 2018 -0700

    bpf: sockhash, add release routine
    
    Add map_release_uref pointer to hashmap ops. This was dropped when
    original sockhash code was ported into bpf-next before initial
    commit.
    
    Fixes: 81110384441a ("bpf: sockmap, add hash map support")
    Acked-by: Martin KaFai Lau <kafai at fb.com>
    Signed-off-by: John Fastabend <john.fastabend at gmail.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit e9db4ef6bf4ca9894bb324c76e01b8f1a16b2650
Author: John Fastabend <john.fastabend at gmail.com>
Date:   Sat Jun 30 06:17:47 2018 -0700

    bpf: sockhash fix omitted bucket lock in sock_close
    
    First the sk_callback_lock() was being used to protect both the
    sock callback hooks and the psock->maps list. This got overly
    convoluted after the addition of sockhash (in sockmap it made
    some sense because masp and callbacks were tightly coupled) so
    lets split out a specific lock for maps and only use the callback
    lock for its intended purpose. This fixes a couple cases where
    we missed using maps lock when it was in fact needed. Also this
    makes it easier to follow the code because now we can put the
    locking closer to the actual code its serializing.
    
    Next, in sock_hash_delete_elem() the pattern was as follows,
    
      sock_hash_delete_elem()
         [...]
         spin_lock(bucket_lock)
         l = lookup_elem_raw()
         if (l)
            hlist_del_rcu()
            write_lock(sk_callback_lock)
             .... destroy psock ...
            write_unlock(sk_callback_lock)
         spin_unlock(bucket_lock)
    
    The ordering is necessary because we only know the {p}sock after
    dereferencing the hash table which we can't do unless we have the
    bucket lock held. Once we have the bucket lock and the psock element
    it is deleted from the hashmap to ensure any other path doing a lookup
    will fail. Finally, the refcnt is decremented and if zero the psock
    is destroyed.
    
    In parallel with the above (or free'ing the map) a tcp close event
    may trigger tcp_close(). Which at the moment omits the bucket lock
    altogether (oops!) where the flow looks like this,
    
      bpf_tcp_close()
         [...]
         write_lock(sk_callback_lock)
         for each psock->maps // list of maps this sock is part of
             hlist_del_rcu(ref_hash_node);
             .... destroy psock ...
         write_unlock(sk_callback_lock)
    
    Obviously, and demonstrated by syzbot, this is broken because
    we can have multiple threads deleting entries via hlist_del_rcu().
    
    To fix this we might be tempted to wrap the hlist operation in a
    bucket lock but that would create a lock inversion problem. In
    summary to follow locking rules the psocks maps list needs the
    sk_callback_lock (after this patch maps_lock) but we need the bucket
    lock to do the hlist_del_rcu.
    
    To resolve the lock inversion problem pop the head of the maps list
    repeatedly and remove the reference until no more are left. If a
    delete happens in parallel from the BPF API that is OK as well because
    it will do a similar action, lookup the lock in the map/hash, delete
    it from the map/hash, and dec the refcnt. We check for this case
    before doing a destroy on the psock to ensure we don't have two
    threads tearing down a psock. The new logic is as follows,
    
      bpf_tcp_close()
      e = psock_map_pop(psock->maps) // done with map lock
      bucket_lock() // lock hash list bucket
      l = lookup_elem_raw(head, hash, key, key_size);
      if (l) {
         //only get here if elmnt was not already removed
         hlist_del_rcu()
         ... destroy psock...
      }
      bucket_unlock()
    
    And finally for all the above to work add missing locking around  map
    operations per above. Then add RCU annotations and use
    rcu_dereference/rcu_assign_pointer to manage values relying on RCU so
    that the object is not free'd from sock_hash_free() while it is being
    referenced in bpf_tcp_close().
    
    Reported-by: syzbot+0ce137753c78f7b6acc1 at syzkaller.appspotmail.com
    Fixes: 81110384441a ("bpf: sockmap, add hash map support")
    Signed-off-by: John Fastabend <john.fastabend at gmail.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit 54fedb42c6537dcb0102e4a58a88456a6286999d
Author: John Fastabend <john.fastabend at gmail.com>
Date:   Sat Jun 30 06:17:41 2018 -0700

    bpf: sockmap, fix smap_list_map_remove when psock is in many maps
    
    If a hashmap is free'd with open socks it removes the reference to
    the hash entry from the psock. If that is the last reference to the
    psock then it will also be free'd by the reference counting logic.
    However the current logic that removes the hash reference from the
    list of references is broken. In smap_list_remove() we first check
    if the sockmap entry matches and then check if the hashmap entry
    matches. But, the sockmap entry sill always match because its NULL in
    this case which causes the first entry to be removed from the list.
    If this is always the "right" entry (because the user adds/removes
    entries in order) then everything is OK but otherwise a subsequent
    bpf_tcp_close() may reference a free'd object.
    
    To fix this create two list handlers one for sockmap and one for
    sockhash.
    
    Reported-by: syzbot+0ce137753c78f7b6acc1 at syzkaller.appspotmail.com
    Fixes: 81110384441a ("bpf: sockmap, add hash map support")
    Acked-by: Martin KaFai Lau <kafai at fb.com>
    Signed-off-by: John Fastabend <john.fastabend at gmail.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit 9901c5d77e969d8215a8e8d087ef02e6feddc84c
Author: John Fastabend <john.fastabend at gmail.com>
Date:   Sat Jun 30 06:17:36 2018 -0700

    bpf: sockmap, fix crash when ipv6 sock is added
    
    This fixes a crash where we assign tcp_prot to IPv6 sockets instead
    of tcpv6_prot.
    
    Previously we overwrote the sk->prot field with tcp_prot even in the
    AF_INET6 case. This patch ensures the correct tcp_prot and tcpv6_prot
    are used.
    
    Tested with 'netserver -6' and 'netperf -H [IPv6]' as well as
    'netperf -H [IPv4]'. The ESTABLISHED check resolves the previously
    crashing case here.
    
    Fixes: 174a79ff9515 ("bpf: sockmap with sk redirect support")
    Reported-by: syzbot+5c063698bdbfac19f363 at syzkaller.appspotmail.com
    Acked-by: Martin KaFai Lau <kafai at fb.com>
    Signed-off-by: John Fastabend <john.fastabend at gmail.com>
    Signed-off-by: Wei Wang <weiwan at google.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit a0d5f3b69af7733f3173a8e19d51f68a08017c76
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date:   Sat Jun 30 23:24:04 2018 +0200

    ACPICA: Drop leading newlines from error messages
    
    Commit 5088814a6e93 (ACPICA: AML parser: attempt to continue loading
    table after error) unintentionally added leading newlines to error
    messages emitted by ACPICA which caused unexpected things to be
    printed to the kernel log.  Drop these newlines (which effectively
    reverts the part of commit 5088814a6e93 adding them).
    
    Fixes: 5088814a6e93 (ACPICA: AML parser: attempt to continue loading table after error)
    Reported-by: Toralf Förster <toralf.foerster at gmx.de>
    Reported-by: Guenter Roeck <linux at roeck-us.net>
    Cc: 4.17+ <stable at vger.kernel.org> # 4.17+
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

commit 26112ddc254c98681b224aa9ededefc01b6e02d2
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date:   Sat Jun 30 23:19:33 2018 +0200

    PCI / ACPI / PM: Resume bridges w/o drivers on suspend-to-RAM
    
    It is reported that commit c62ec4610c40 (PM / core: Fix direct_complete
    handling for devices with no callbacks) introduced a system suspend
    regression on Samsung 305V4A by allowing a PCI bridge (not a PCIe
    port) to stay in D3 over suspend-to-RAM, which is a side effect of
    setting power.direct_complete for the children of that bridge that
    have no PM callbacks.
    
    On the majority of systems PCI bridges are not allowed to be
    runtime-suspended (the power/control sysfs attribute is set to "on"
    for them by default), but user space can change that setting and if
    it does so and a given bridge has no children with PM callbacks, the
    direct_complete optimization will be applied to it and it will stay
    in suspend over system suspend.  Apparently, that confuses the
    platform firmware on the affected machine and that may very well
    happen elsewhere, so avoid the direct_complete optimization for
    PCI bridges with no drivers (if there is a driver, it should take
    care of the PM handling) on suspend-to-RAM altogether (that should
    not matter for suspend-to-idle as platform firmware is not involved
    in it).
    
    Fixes: c62ec4610c40 (PM / core: Fix direct_complete handling for devices with no callbacks)
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=199941
    Reported-by: n0000b.n000b at gmail.com
    Tested-by: n0000b.n000b at gmail.com
    Reviewed-by: Mika Westerberg <mika.westerberg at linux.intel.com>
    Acked-by: Bjorn Helgaas <bhelgaas at google.com>
    Cc: 4.15+ <stable at vger.kernel.org> # 4.15+
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

commit 883c9ab9eb595f8542d01e55d29a346c8d96862e
Merge: 08af78d7a52b 24b6c22504a2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jun 30 14:16:30 2018 -0700

    Merge branch 'parisc-4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
    
    Pull parisc fixes and cleanups from Helge Deller:
     "Nothing exiting in this patchset, just
    
       - small cleanups of header files
    
       - default to 4 CPUs when building a SMP kernel
    
       - mark 16kB and 64kB page sizes broken
    
       - addition of the new io_pgetevents syscall"
    
    * 'parisc-4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
      parisc: Build kernel without -ffunction-sections
      parisc: Reduce debug output in unwind code
      parisc: Wire up io_pgetevents syscall
      parisc: Default to 4 SMP CPUs
      parisc: Convert printk(KERN_LEVEL) to pr_lvl()
      parisc: Mark 16kB and 64kB page sizes BROKEN
      parisc: Drop struct sigaction from not exported header file

commit 08af78d7a52b2b34f7e865102cfc49bfc9c8bcc9
Merge: 22d3e0c36e10 4ca2f0b945fa
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jun 30 14:08:06 2018 -0700

    Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
    
    Pull ARM SoC fixes from Olof Johansson:
     "A smaller batch for the end of the week (let's see if I can keep the
      weekly cadence going for once).
    
      All medium-grade fixes here, nothing worrisome:
    
       - Fixes for some fairly old bugs around SD card write-protect
         detection and GPIO interrupt assignments on Davinci.
    
       - Wifi module suspend fix for Hikey.
    
       - Minor DT tweaks to fix inaccuracies for Amlogic platforms, one
         of which solves booting with third-party u-boot"
    
    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
      arm64: dts: hikey960: Define wl1837 power capabilities
      arm64: dts: hikey: Define wl1835 power capabilities
      ARM64: dts: meson-gxl: fix Mali GPU compatible string
      ARM64: dts: meson-axg: fix ethernet stability issue
      ARM64: dts: meson-gx: fix ATF reserved memory region
      ARM64: dts: meson-gxl-s905x-p212: Add phy-supply for usb0
      ARM64: dts: meson: fix register ranges for SD/eMMC
      ARM64: dts: meson: disable sd-uhs modes on the libretech-cc
      ARM: dts: da850: Fix interrups property for gpio
      ARM: davinci: board-da850-evm: fix WP pin polarity for MMC/SD

commit 22d3e0c36e10296da91e3bb8826592bacfbf4b9c
Merge: 0fbc4aeabc91 73d1c580f92b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jun 30 13:05:30 2018 -0700

    Merge tag 'kbuild-fixes-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
    
    Pull Kbuild fixes from Masahiro Yamada:
    
     - introduce __diag_* macros and suppress -Wattribute-alias warnings
       from GCC 8
    
     - fix stack protector test script for x86_64
    
     - fix line number handling in Kconfig
    
     - document that '#' starts a comment in Kconfig
    
     - handle P_SYMBOL property in dump debugging of Kconfig
    
     - correct help message of LD_DEAD_CODE_DATA_ELIMINATION
    
     - fix occasional segmentation faults in Kconfig
    
    * tag 'kbuild-fixes-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
      kconfig: loop boundary condition fix
      kbuild: reword help of LD_DEAD_CODE_DATA_ELIMINATION
      kconfig: handle P_SYMBOL in print_symbol()
      kconfig: document Kconfig source file comments
      kconfig: fix line numbers for if-entries in menu tree
      stack-protector: Fix test with 32-bit userland and CONFIG_64BIT=y
      powerpc: Remove -Wattribute-alias pragmas
      disable -Wattribute-alias warning for SYSCALL_DEFINEx()
      kbuild: add macro for controlling warnings to linux/compiler.h

commit bb94b55af3461e26b32f0e23d455abeae0cfca5d
Author: Jason Gunthorpe <jgg at mellanox.com>
Date:   Fri Jun 29 11:31:50 2018 -0600

    vfio: Use get_user_pages_longterm correctly
    
    The patch noted in the fixes below converted get_user_pages_fast() to
    get_user_pages_longterm(), however the two calls differ in a few ways.
    
    First _fast() is documented to not require the mmap_sem, while _longterm()
    is documented to need it. Hold the mmap sem as required.
    
    Second, _fast accepts an 'int write' while _longterm uses 'unsigned int
    gup_flags', so the expression '!!(prot & IOMMU_WRITE)' is only working by
    luck as FOLL_WRITE is currently == 0x1. Use the expected FOLL_WRITE
    constant instead.
    
    Fixes: 94db151dc892 ("vfio: disable filesystem-dax page pinning")
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Jason Gunthorpe <jgg at mellanox.com>
    Acked-by: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: Alex Williamson <alex.williamson at redhat.com>

commit 0fbc4aeabc91f2e39e0dffebe8f81a0eb3648d97
Merge: d7d538867931 d79d0d8ad0cb
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jun 30 11:42:14 2018 -0700

    Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull x86 fixes from Ingo Molnar:
     "The biggest diffstat comes from self-test updates, plus there's entry
      code fixes, 5-level paging related fixes, console debug output fixes,
      and misc fixes"
    
    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/mm: Clean up the printk()s in show_fault_oops()
      x86/mm: Drop unneeded __always_inline for p4d page table helpers
      x86/efi: Fix efi_call_phys_epilog() with CONFIG_X86_5LEVEL=y
      selftests/x86/sigreturn: Do minor cleanups
      selftests/x86/sigreturn/64: Fix spurious failures on AMD CPUs
      x86/entry/64/compat: Fix "x86/entry/64/compat: Preserve r8-r11 in int $0x80"
      x86/mm: Don't free P4D table when it is folded at runtime
      x86/entry/32: Add explicit 'l' instruction suffix
      x86/mm: Get rid of KERN_CONT in show_fault_oops()

commit d7d5388679312b7a7b6377e38e2b8fb06a82d84e
Merge: 34a484d58c1d 933151013564
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jun 30 11:26:25 2018 -0700

    Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
    
    Pull perf fixes from Ingo Molnar:
     "Tooling fixes mostly, plus a build warning fix"
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
      perf/core: Move inline keyword at the beginning of declaration
      tools/headers: Pick up latest kernel ABIs
      perf tools: Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE]
      perf script: Fix crash because of missing evsel->priv
      perf script: Add missing output fields in a hint
      perf bench: Fix numa report output code
      perf stat: Remove duplicate event counting
      perf alias: Rebuild alias expression string to make it comparable
      perf alias: Remove trailing newline when reading sysfs files
      perf tools: Fix a clang 7.0 compilation error
      tools include uapi: Synchronize bpf.h with the kernel
      tools include uapi: Update if_link.h to pick IFLA_{BRPORT_ISOLATED,VXLAN_TTL_INHERIT}
      tools include powerpc: Update arch/powerpc/include/uapi/asm/unistd.h copy to get 'rseq' syscall
      perf tools: Update x86's syscall_64.tbl, adding 'io_pgetevents' and 'rseq'
      tools headers uapi: Synchronize drm/drm.h
      perf intel-pt: Fix packet decoding of CYC packets
      perf tests: Add valid callback for parse-events test
      perf tests: Add event parsing error handling to parse events test
      perf report powerpc: Fix crash if callchain is empty
      perf test session topology: Fix test on s390
      ...

commit 34a484d58c1d0cdce4c5d63249ae89539dfad6b2
Merge: e6e5bec43c0d 0da74120c534
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jun 30 11:15:12 2018 -0700

    Merge tag 'selinux-pr-20180629' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux
    
    Pull selinux fix from Paul Moore:
     "One fairly straightforward patch to fix a longstanding issue where a
      process could stall while accessing files in selinuxfs and block
      everyone else due to a held mutex.
    
      The patch passes all our tests and looks to apply cleanly to your
      current tree"
    
    * tag 'selinux-pr-20180629' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
      selinux: move user accesses in selinuxfs out of locked regions

commit e6e5bec43c0d5dec97355ebf9f6c9bbf4d4c29d5
Merge: 1904148a361a 9544bc534720
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Sat Jun 30 10:47:46 2018 -0700

    Merge tag 'for-linus-20180629' of git://git.kernel.dk/linux-block
    
    Pull block fixes from Jens Axboe:
     "Small set of fixes for this series. Mostly just minor fixes, the only
      oddball in here is the sg change.
    
      The sg change came out of the stall fix for NVMe, where we added a
      mempool and limited us to a single page allocation. CONFIG_SG_DEBUG
      sort-of ruins that, since we'd need to account for that. That's
      actually a generic problem, since lots of drivers need to allocate SG
      lists. So this just removes support for CONFIG_SG_DEBUG, which I added
      back in 2007 and to my knowledge it was never useful.
    
      Anyway, outside of that, this pull contains:
    
       - clone of request with special payload fix (Bart)
    
       - drbd discard handling fix (Bart)
    
       - SATA blk-mq stall fix (me)
    
       - chunk size fix (Keith)
    
       - double free nvme rdma fix (Sagi)"
    
    * tag 'for-linus-20180629' of git://git.kernel.dk/linux-block:
      sg: remove ->sg_magic member
      drbd: Fix drbd_request_prepare() discard handling
      blk-mq: don't queue more if we get a busy return
      block: Fix cloning of requests with a special payload
      nvme-rdma: fix possible double free of controller async event buffer
      block: Fix transfer when chunk sectors exceeds max

commit 35e8c7ba0863acadd4b9badd09740af7a8331125
Author: Roopa Prabhu <roopa at cumulusnetworks.com>
Date:   Fri Jun 29 14:32:15 2018 -0700

    net: fib_rules: bring back rule_exists to match rule during add
    
    After commit f9d4b0c1e969 ("fib_rules: move common handling of newrule
    delrule msgs into fib_nl2rule"), rule_exists got replaced by rule_find
    for existing rule lookup in both the add and del paths. While this
    is good for the delete path, it solves a few problems but opens up
    a few invalid key matches in the add path.
    
    $ip -4 rule add table main tos 10 fwmark 1
    $ip -4 rule add table main tos 10
    RTNETLINK answers: File exists
    
    The problem here is rule_find does not check if the key masks in
    the new and old rule are the same and hence ends up matching a more
    secific rule. Rule key masks cannot be easily compared today without
    an elaborate if-else block. Its best to introduce key masks for easier
    and accurate rule comparison in the future. Until then, due to fear of
    regressions this patch re-introduces older loose rule_exists during add.
    Also fixes both rule_exists and rule_find to cover missing attributes.
    
    Fixes: f9d4b0c1e969 ("fib_rules: move common handling of newrule delrule msgs into fib_nl2rule")
    Signed-off-by: Roopa Prabhu <roopa at cumulusnetworks.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3ffe64f1a641b80a82d9ef4efa7a05ce69049871
Author: Stephen Hemminger <sthemmin at microsoft.com>
Date:   Fri Jun 29 14:07:16 2018 -0700

    hv_netvsc: split sub-channel setup into async and sync
    
    When doing device hotplug the sub channel must be async to avoid
    deadlock issues because device is discovered in softirq context.
    
    When doing changes to MTU and number of channels, the setup
    must be synchronous to avoid races such as when MTU and device
    settings are done in a single ip command.
    
    Reported-by: Thomas Walker <Thomas.Walker at twosigma.com>
    Fixes: 8195b1396ec8 ("hv_netvsc: fix deadlock on hotplug")
    Fixes: 732e49850c5e ("netvsc: fix race on sub channel creation")
    Signed-off-by: Stephen Hemminger <sthemmin at microsoft.com>
    Signed-off-by: Haiyang Zhang <haiyangz at microsoft.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3f76df198288ceec92fc9eddecad1e73c52769b0
Author: Cong Wang <xiyou.wangcong at gmail.com>
Date:   Fri Jun 29 13:42:48 2018 -0700

    net: use dev_change_tx_queue_len() for SIOCSIFTXQLEN
    
    As noticed by Eric, we need to switch to the helper
    dev_change_tx_queue_len() for SIOCSIFTXQLEN call path too,
    otheriwse still miss dev_qdisc_change_tx_queue_len().
    
    Fixes: 6a643ddb5624 ("net: introduce helper dev_change_tx_queue_len()")
    Reported-by: Eric Dumazet <edumazet at google.com>
    Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
    Reviewed-by: Eric Dumazet <edumazet at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ced9e191501e52b95e1b57b8e0db00943869eed0
Author: Gustavo A. R. Silva <gustavo at embeddedor.com>
Date:   Fri Jun 29 13:28:07 2018 -0500

    atm: zatm: Fix potential Spectre v1
    
    pool can be indirectly controlled by user-space, hence leading to
    a potential exploitation of the Spectre variant 1 vulnerability.
    
    This issue was detected with the help of Smatch:
    
    drivers/atm/zatm.c:1491 zatm_ioctl() warn: potential spectre issue
    'zatm_dev->pool_info' (local cap)
    
    Fix this by sanitizing pool before using it to index
    zatm_dev->pool_info
    
    Notice that given that speculation windows are large, the policy is
    to kill the speculation on the first load and not worry if it can be
    completed with a dependent load/store [1].
    
    [1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2
    
    Signed-off-by: Gustavo A. R. Silva <gustavo at embeddedor.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c7f653e0a8cf4e4a9951324f9b831cf88d813e48
Merge: bc800e8b39ba d025da9eb1e4
Author: David S. Miller <davem at davemloft.net>
Date:   Sat Jun 30 21:19:55 2018 +0900

    Merge branch 's390-qeth-fixes'
    
    Julian Wiedmann says:
    
    ====================
    s390/qeth: fixes 2018-06-29
    
    please apply a few qeth fixes for -net and your 4.17 stable queue.
    
    Patches 1-3 fix several issues wrt to MAC address management that were
    introduced during the 4.17 cycle.
    Patch 4 tackles a long-standing issue with busy multi-connection workloads
    on devices in af_iucv mode.
    Patch 5 makes sure to re-enable all active HW offloads, after a card was
    previously set offline and thus lost its HW context.
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit d025da9eb1e48d3e5f2a2ff13ac5ac536ba4be43
Author: Julian Wiedmann <jwi at linux.ibm.com>
Date:   Fri Jun 29 19:45:54 2018 +0200

    s390/qeth: consistently re-enable device features
    
    commit e830baa9c3f0 ("qeth: restore device features after recovery") and
    commit ce3443564145 ("s390/qeth: rely on kernel for feature recovery")
    made sure that the HW functions for device features get re-programmed
    after recovery.
    
    But we missed that the same handling is also required when a card is
    first set offline (destroying all HW context), and then online again.
    Fix this by moving the re-enable action out of the recovery-only path.
    
    Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ce28867fd20c23cd769e78b4d619c4755bf71a1c
Author: Julian Wiedmann <jwi at linux.ibm.com>
Date:   Fri Jun 29 19:45:53 2018 +0200

    s390/qeth: don't clobber buffer on async TX completion
    
    If qeth_qdio_output_handler() detects that a transmit requires async
    completion, it replaces the pending buffer's metadata object
    (qeth_qdio_out_buffer) so that this queue buffer can be re-used while
    the data is pending completion.
    
    Later when the CQ indicates async completion of such a metadata object,
    qeth_qdio_cq_handler() tries to free any data associated with this
    object (since HW has now completed the transfer). By calling
    qeth_clear_output_buffer(), it erronously operates on the queue buffer
    that _previously_ belonged to this transfer ... but which has been
    potentially re-used several times by now.
    This results in double-free's of the buffer's data, and failing
    transmits as the buffer descriptor is scrubbed in mid-air.
    
    The correct way of handling this situation is to
    1. scrub the queue buffer when it is prepared for re-use, and
    2. later obtain the data addresses from the async-completion notifier
       (ie. the AOB), instead of the queue buffer.
    
    All this only affects qeth devices used for af_iucv HiperTransport.
    
    Fixes: 0da9581ddb0f ("qeth: exploit asynchronous delivery of storage blocks")
    Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 9d0a58fb9747afd27d490c02a97889a1b59f6be4
Author: Vasily Gorbik <gor at linux.ibm.com>
Date:   Fri Jun 29 19:45:52 2018 +0200

    s390/qeth: avoid using is_multicast_ether_addr_64bits on (u8 *)[6]
    
    *ether_addr*_64bits functions have been introduced to optimize
    performance critical paths, which access 6-byte ethernet address as u64
    value to get "nice" assembly. A harmless hack works nicely on ethernet
    addresses shoved into a structure or a larger buffer, until busted by
    Kasan on smth like plain (u8 *)[6].
    
    qeth_l2_set_mac_address calls qeth_l2_remove_mac passing
    u8 old_addr[ETH_ALEN] as an argument.
    
    Adding/removing macs for an ethernet adapter is not that performance
    critical. Moreover is_multicast_ether_addr_64bits itself on s390 is not
    faster than is_multicast_ether_addr:
    
    is_multicast_ether_addr(%r2) -> %r2
    llc	%r2,0(%r2)
    risbg	%r2,%r2,63,191,0
    
    is_multicast_ether_addr_64bits(%r2) -> %r2
    llgc	%r2,0(%r2)
    risbg	%r2,%r2,63,191,0
    
    So, let's just use is_multicast_ether_addr instead of
    is_multicast_ether_addr_64bits.
    
    Fixes: bcacfcbc82b4 ("s390/qeth: fix MAC address update sequence")
    Reviewed-by: Julian Wiedmann <jwi at linux.ibm.com>
    Signed-off-by: Vasily Gorbik <gor at linux.ibm.com>
    Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 4789a21880488048105590049fc41a99f53d565d
Author: Julian Wiedmann <jwi at linux.ibm.com>
Date:   Fri Jun 29 19:45:51 2018 +0200

    s390/qeth: fix race when setting MAC address
    
    When qeth_l2_set_mac_address() finds the card in a non-reachable state,
    it merely copies the new MAC address into dev->dev_addr so that
    __qeth_l2_set_online() can later register it with the HW.
    
    But __qeth_l2_set_online() may very well be running concurrently, so we
    can't trust the card state without appropriate locking:
    If the online sequence is past the point where it registers
    dev->dev_addr (but not yet in SOFTSETUP state), any address change needs
    to be properly programmed into the HW. Otherwise the netdevice ends up
    with a different MAC address than what's set in the HW, and inbound
    traffic is not forwarded as expected.
    
    This is most likely to occur for OSD in LPAR, where
    commit 21b1702af12e ("s390/qeth: improve fallback to random MAC address")
    now triggers eg. systemd to immediately change the MAC when the netdevice
    is registered with a NET_ADDR_RANDOM address.
    
    Fixes: bcacfcbc82b4 ("s390/qeth: fix MAC address update sequence")
    Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 4664610537d398d55be19432f9cd9c29c831e159
Author: Julian Wiedmann <jwi at linux.ibm.com>
Date:   Fri Jun 29 19:45:50 2018 +0200

    Revert "s390/qeth: use Read device to query hypervisor for MAC"
    
    This reverts commit b7493e91c11a757cf0f8ab26989642ee4bb2c642.
    
    On its own, querying RDEV for a MAC address works fine. But when upgrading
    from a qeth that previously queried DDEV on a z/VM NIC (ie. any kernel with
    commit ec61bd2fd2a2), the RDEV query now returns a _different_ MAC address
    than the DDEV query.
    
    If the NIC is configured with MACPROTECT, z/VM apparently requires us to
    use the MAC that was initially returned (on DDEV) and registered. So after
    upgrading to a kernel that uses RDEV, the SETVMAC registration cmd for the
    new MAC address fails and we end up with a non-operabel interface.
    
    To avoid regressions on upgrade, switch back to using DDEV for the MAC
    address query. The downgrade path (first RDEV, later DDEV) is fine, in this
    case both queries return the same MAC address.
    
    Fixes: b7493e91c11a ("s390/qeth: use Read device to query hypervisor for MAC")
    Reported-by: Michal Kubecek <mkubecek at suse.com>
    Tested-by: Karsten Graul <kgraul at linux.ibm.com>
    Signed-off-by: Julian Wiedmann <jwi at linux.ibm.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit bc800e8b39bad60ccdb83be828da63af71ab87b3
Author: Sabrina Dubroca <sd at queasysnail.net>
Date:   Fri Jun 29 17:51:26 2018 +0200

    alx: take rtnl before calling __alx_open from resume
    
    The __alx_open function can be called from ndo_open, which is called
    under RTNL, or from alx_resume, which isn't. Since commit d768319cd427,
    we're calling the netif_set_real_num_{tx,rx}_queues functions, which
    need to be called under RTNL.
    
    This is similar to commit 0c2cc02e571a ("igb: Move the calls to set the
    Tx and Rx queues into igb_open").
    
    Fixes: d768319cd427 ("alx: enable multiple tx queues")
    Signed-off-by: Sabrina Dubroca <sd at queasysnail.net>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit cafb39600e7a73263122a0e2db052d691686378f
Author: Bert Kenward <bkenward at solarflare.com>
Date:   Fri Jun 29 16:29:28 2018 +0100

    sfc: correctly initialise filter rwsem for farch
    
    Fixes: fc7a6c287ff3 ("sfc: use a semaphore to lock farch filters too")
    Suggested-by: Joseph Korty <joe.korty at concurrent-rt.com>
    Signed-off-by: Bert Kenward <bkenward at solarflare.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 713b4a33524721767703956654f4d6713c556f2b
Author: Dan Murphy <dmurphy at ti.com>
Date:   Fri Jun 29 10:28:31 2018 -0500

    net: phy: DP83TC811: Fix disabling interrupts
    
    Fix a bug where INT_STAT1 was written twice and
    INT_STAT2 was ignored when disabling interrupts.
    
    Fixes: b753a9faaf9a ("net: phy: DP83TC811: Introduce support for the DP83TC811 phy")
    Reviewed-by: Andrew Lunn <andrew at lunn.ch>
    Signed-off-by: Dan Murphy <dmurphy at ti.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e7c7faa936680a2f0e78fc6d9683a5728421a150
Author: David Ahern <dsahern at gmail.com>
Date:   Thu Jun 28 13:36:55 2018 -0700

    net/ipv6: Fix updates to prefix route
    
    Sowmini reported that a recent commit broke prefix routes for linklocal
    addresses. The newly added modify_prefix_route is attempting to add a
    new prefix route when the ifp priority does not match the route metric
    however the check needs to account for the default priority. In addition,
    the route add fails because the route already exists, and then the delete
    removes the one that exists. Flip the order to do the delete first.
    
    Fixes: 8308f3ff1753 ("net/ipv6: Add support for specifying metric of connected routes")
    Reported-by: Sowmini Varadhan <sowmini.varadhan at oracle.com>
    Tested-by: Sowmini Varadhan <sowmini.varadhan at oracle.com>
    Signed-off-by: David Ahern <dsahern at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit d14b56f508ad70eca3e659545aab3c45200f258c
Author: Michal Hocko <mhocko at suse.com>
Date:   Thu Jun 28 17:53:06 2018 +0200

    net: cleanup gfp mask in alloc_skb_with_frags
    
    alloc_skb_with_frags uses __GFP_NORETRY for non-sleeping allocations
    which is just a noop and a little bit confusing.
    
    __GFP_NORETRY was added by ed98df3361f0 ("net: use __GFP_NORETRY for
    high order allocations") to prevent from the OOM killer. Yet this was
    not enough because fb05e7a89f50 ("net: don't wait for order-3 page
    allocation") didn't want an excessive reclaim for non-costly orders
    so it made it completely NOWAIT while it preserved __GFP_NORETRY in
    place which is now redundant.
    
    Drop the pointless __GFP_NORETRY because this function is used as
    copy&paste source for other places.
    
    Reviewed-by: Eric Dumazet <edumazet at google.com>
    Signed-off-by: Michal Hocko <mhocko at suse.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 7009828914d362d99e138e4cfdfbf46507607456
Merge: 484c016d9392 595e802e53f2
Author: David S. Miller <davem at davemloft.net>
Date:   Sat Jun 30 18:51:06 2018 +0900

    Merge branch 'DPAA-fixes'
    
    Madalin Bucur says:
    
    ====================
    DPAA fixes
    
    A couple of fixes for the DPAA drivers, addressing an issue
    with short UDP or TCP frames (with padding) that were marked
    as having a wrong checksum and dropped by the FMan hardware
    and a problem with the buffer used for the scatter-gather
    table being too small as per the hardware requirements.
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 595e802e53f24642a145cf7f3e4ac9afab4c21ec
Author: Madalin Bucur <madalin.bucur at nxp.com>
Date:   Thu Jun 28 15:26:51 2018 +0300

    dpaa_eth: DPAA SGT needs to be 256B
    
    The DPAA HW requires that at least 256 bytes from the start of the
    first scatter-gather table entry are allocated and accessible. The
    hardware reads the maximum size the table can have in one access,
    thus requiring that the allocation and mapping to be done for the
    maximum size of 256B even if there is a smaller number of entries
    in the table.
    
    Signed-off-by: Madalin Bucur <madalin.bucur at nxp.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit b95f6fbc8e15803a596ca5e5e21008fba29694c6
Author: Madalin Bucur <madalin.bucur at nxp.com>
Date:   Thu Jun 28 15:26:50 2018 +0300

    fsl/fman: fix parser reporting bad checksum on short frames
    
    The FMan hardware parser needs to be configured to remove the
    short frame padding from the checksum calculation, otherwise
    short UDP and TCP frames are likely to be marked as having a
    bad checksum.
    
    Signed-off-by: Madalin Bucur <madalin.bucur at nxp.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 484c016d9392786ce5c74017c206c706f29f823d
Author: Sudarsana Reddy Kalluru <sudarsana.kalluru at cavium.com>
Date:   Thu Jun 28 04:52:15 2018 -0700

    bnx2x: Fix receiving tx-timeout in error or recovery state.
    
    Driver performs the internal reload when it receives tx-timeout event from
    the OS. Internal reload might fail in some scenarios e.g., fatal HW issues.
    In such cases OS still see the link, which would result in undesirable
    functionalities such as re-generation of tx-timeouts.
    The patch addresses this issue by indicating the link-down to OS when
    tx-timeout is detected, and keeping the link in down state till the
    internal reload is successful.
    
    Please consider applying it to 'net' branch.
    
    Signed-off-by: Sudarsana Reddy Kalluru <Sudarsana.Kalluru at cavium.com>
    Signed-off-by: Ariel Elior <ariel.elior at cavium.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 5037c6280606396ab4d3065b066d4b574df020dc
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date:   Thu Jun 28 12:31:25 2018 +0300

    cnic: tidy up a size calculation
    
    Static checkers complain that id_tbl->table points to longs and 4 bytes
    is smaller than sizeof(long).  But the since other side is dividing by
    32 instead of sizeof(long), that means the current code works fine.
    
    Anyway, it's more conventional to use the BITS_TO_LONGS() macro when
    we're allocating a bitmap.
    
    Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 92291c95e71a7898109c1f95adfb48aa69e5ba7b
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date:   Thu Jun 28 12:24:42 2018 +0300

    atm: iphase: fix a 64 bit bug
    
    The code assumes that there is 4 bytes in a pointer and it doesn't
    allocate enough memory.
    
    Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c860e997e9170a6d68f9d1e6e2cf61f572191aaf
Author: Yuchung Cheng <ycheng at google.com>
Date:   Wed Jun 27 16:04:48 2018 -0700

    tcp: fix Fast Open key endianness
    
    Fast Open key could be stored in different endian based on the CPU.
    Previously hosts in different endianness in a server farm using
    the same key config (sysctl value) would produce different cookies.
    This patch fixes it by always storing it as little endian to keep
    same API for LE hosts.
    
    Reported-by: Daniele Iamartino <danielei at google.com>
    Signed-off-by: Yuchung Cheng <ycheng at google.com>
    Signed-off-by: Eric Dumazet <edumazet at google.com>
    Signed-off-by: Neal Cardwell <ncardwell at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 1904148a361a07fb2d7cba1261d1d2c2f33c8d2e
Merge: 0d55ec6f3eb7 22db552b50fa
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jun 29 19:28:26 2018 -0700

    Merge tag 'powerpc-4.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
     "Two regression fixes, and a new syscall wire-up:
    
       - A fix for the recent conversion to time64_t in the powermac RTC
         routines, which caused time to go backward.
    
       - Another fix for fallout from the split PMD PTL conversion.
    
       - Wire up the new io_pgetevents() syscall.
    
      Thanks to: Aneesh Kumar K.V, Arnd Bergmann, Breno Leitao, Mathieu
      Malaterre"
    
    * tag 'powerpc-4.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      powerpc/powermac: Fix rtc read/write functions
      powerpc/mm/32: Fix pgtable_page_dtor call
      powerpc: Wire up io_pgetevents

commit 4ca2f0b945fad835959fa596df47817797987cd2
Merge: 35911e01e5a3 3eb1b955cd7e
Author: Olof Johansson <olof at lixom.net>
Date:   Fri Jun 29 14:08:27 2018 -0700

    Merge tag 'davinci-fixes-for-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into fixes
    
    This fixes polarity of SD card write-protect pin on DA850 EVM
    and fixes interrupt property for DA850 SoC GPIO as defined in
    device-tree.
    
    Both of these are not introduced with v4.18 merge but have
    existed prior.
    
    * tag 'davinci-fixes-for-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
      ARM: dts: da850: Fix interrups property for gpio
      ARM: davinci: board-da850-evm: fix WP pin polarity for MMC/SD
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 35911e01e5a374e3953b53d72e1a7e7c219f47a9
Merge: d2d369a9618b a30449eb3ac9
Author: Olof Johansson <olof at lixom.net>
Date:   Fri Jun 29 14:06:49 2018 -0700

    Merge tag 'hisi-fixes-for-4.18' of git://github.com/hisilicon/linux-hisi into fixes
    
    ARM64: hisi fixes for 4.18
    
    - Added power capabilities for the mmc host controller on the
      hikey and hikey960 boards to avoid broken wifi.
    
    * tag 'hisi-fixes-for-4.18' of git://github.com/hisilicon/linux-hisi:
      arm64: dts: hikey960: Define wl1837 power capabilities
      arm64: dts: hikey: Define wl1835 power capabilities
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit d2d369a9618be01b1f59965b447bb49e7c4ec305
Merge: 86676c4685f7 1c38f4afd5d4
Author: Olof Johansson <olof at lixom.net>
Date:   Fri Jun 29 14:04:39 2018 -0700

    Merge tag 'amlogic-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into fixes
    
    Amlogic fixes for v4.18-rc
    - minor 64-bit DT fixes
    
    * tag 'amlogic-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
      ARM64: dts: meson-gxl: fix Mali GPU compatible string
      ARM64: dts: meson-axg: fix ethernet stability issue
      ARM64: dts: meson-gx: fix ATF reserved memory region
      ARM64: dts: meson-gxl-s905x-p212: Add phy-supply for usb0
      ARM64: dts: meson: fix register ranges for SD/eMMC
      ARM64: dts: meson: disable sd-uhs modes on the libretech-cc
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 83235822b8b4fe47ecbd6b6bcbcc902860ac00fc
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date:   Fri Jun 29 15:09:00 2018 -0500

    nfp: stop limiting VFs to 0
    
    Before 8d85a7a4f2c9 ("PCI/IOV: Allow PF drivers to limit total_VFs to 0"),
    pci_sriov_set_totalvfs(pdev, 0) meant "we can enable TotalVFs virtual
    functions".  After 8d85a7a4f2c9, it means "we can't enable *any* VFs".
    
    That broke this scenario where nfp intends to remove any limit on the
    number of VFs that can be enabled:
    
      nfp_pci_probe
        nfp_pcie_sriov_read_nfd_limit
          nfp_rtsym_read_le("nfd_vf_cfg_max_vfs", &err)
          pci_sriov_set_totalvfs(pf->pdev, 0)   # if FW didn't expose a limit
    
      ...
      # userspace writes N to sysfs "sriov_numvfs":
      sriov_numvfs_store
        pci_sriov_get_totalvfs                  # now returns 0
        return -ERANGE
    
    Prior to 8d85a7a4f2c9, pci_sriov_get_totalvfs() returned TotalVFs, but it
    now returns 0.
    
    Remove the pci_sriov_set_totalvfs(pdev, 0) calls so we don't limit the
    number of VFs that can be enabled.
    
    Fixes: 8d85a7a4f2c9 ("PCI/IOV: Allow PF drivers to limit total_VFs to 0")
    Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
    [bhelgaas: changelog]
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>

commit 38972375ef7bdc7dd989bcb48d5448662a95bca2
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date:   Fri Jun 29 15:08:52 2018 -0500

    PCI/IOV: Reset total_VFs limit after detaching PF driver
    
    The TotalVFs register in the SR-IOV capability is the hardware limit on the
    number of VFs.  A PF driver can limit the number of VFs further with
    pci_sriov_set_totalvfs().  When the PF driver is removed, reset any VF
    limit that was imposed by the driver because that limit may not apply to
    other drivers.
    
    Before 8d85a7a4f2c9 ("PCI/IOV: Allow PF drivers to limit total_VFs to 0"),
    pci_sriov_set_totalvfs(pdev, 0) meant "we can enable TotalVFs virtual
    functions", and the nfp driver used that to remove the VF limit when the
    driver unloads.
    
    8d85a7a4f2c9 broke that because instead of removing the VF limit,
    pci_sriov_set_totalvfs(pdev, 0) actually sets the limit to zero, and that
    limit persists even if another driver is loaded.
    
    We could fix that by making the nfp driver reset the limit when it unloads,
    but it seems more robust to do it in the PCI core instead of relying on the
    driver.
    
    The regression scenario is:
    
      nfp_pci_probe (driver 1)
      ...
      nfp_pci_remove
        pci_sriov_set_totalvfs(pf->pdev, 0)   # limits VFs to 0
    
      ...
      nfp_pci_probe (driver 2)
        nfp_rtsym_read_le("nfd_vf_cfg_max_vfs")
        # no VF limit from firmware
    
    Now driver 2 is broken because the VF limit is still 0 from driver 1.
    
    Fixes: 8d85a7a4f2c9 ("PCI/IOV: Allow PF drivers to limit total_VFs to 0")
    Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
    [bhelgaas: changelog, rename functions]
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>

commit 0d55ec6f3eb727d937a94de8bd3828ef662f871b
Merge: 44813aa62aa2 24fe1b0efad4
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jun 29 12:25:26 2018 -0700

    Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
    
    Pull arm64 fixes from Catalin Marinas:
    
     - The alternatives patching code uses flush_icache_range() which itself
       uses alternatives. Change the code to use an unpatched variant of
       cache maintenance
    
     - Remove unnecessary ISBs from set_{pte,pmd,pud}
    
     - perf: xgene_pmu: Fix IOB SLOW PMU parser error
    
    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
      arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}
      arm64: Avoid flush_icache_range() in alternatives patching code
      drivers/perf: xgene_pmu: Fix IOB SLOW PMU parser error

commit 44813aa62aa2f6ac98ba3554cf8bc49087098b74
Merge: 788695385933 12b731dd46d9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jun 29 12:21:12 2018 -0700

    Merge branch 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
    
    Pull i2c fixes from Wolfram Sang:
    
     - a revert because of bugzilla #200045 (and some documentation about
       it)
    
     - another regression fix in the i2c-gpio driver
    
     - a leak fix for the i2c core
    
    * 'i2c/for-current-fixed' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
      i2c: gpio: initialize SCL to HIGH again
      i2c: smbus: kill memory leak on emulated and failed DMA SMBus xfers
      i2c: algos: bit: mention our experience about initial states
      Revert "i2c: algo-bit: init the bus to a known state"

commit 788695385933ff2dedaef0c3e5cb07659cc44018
Merge: cd993fc4316d 8b8f53af1ed9
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jun 29 12:19:47 2018 -0700

    Merge tag 'ceph-for-4.18-rc3' of git://github.com/ceph/ceph-client
    
    Pull ceph fix from Ilya Dryomov:
     "A trivial dentry leak fix from Zheng"
    
    * tag 'ceph-for-4.18-rc3' of git://github.com/ceph/ceph-client:
      ceph: fix dentry leak in splice_dentry()

commit 3dc6ddfedc2818eaaa36842fbb049191e0c5e50f
Author: Nicholas Mc Guire <hofrat at osadl.org>
Date:   Fri Jun 29 13:50:27 2018 -0500

    PCI: faraday: Add missing of_node_put()
    
    The call to of_get_next_child() returns a node pointer with refcount
    incremented thus it must be explicitly decremented here in the error
    path and after the last usage.
    
    Fixes: d3c68e0a7e34 ("PCI: faraday: Add Faraday Technology FTPCI100 PCI Host Bridge driver")
    Signed-off-by: Nicholas Mc Guire <hofrat at osadl.org>
    [lorenzo.pieralisi at arm.com: updated commit log]
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
    Reviewed-by: Linus Walleij <linus.walleij at linaro.org>

commit 342639d996f18bc0a4db2f42a84230c0a966dc94
Author: Nicholas Mc Guire <hofrat at osadl.org>
Date:   Fri Jun 29 13:50:10 2018 -0500

    PCI: xilinx-nwl: Add missing of_node_put()
    
    The call to of_get_next_child() returns a node pointer with
    refcount incremented thus it must be explicitly decremented
    here after the last usage.
    
    Fixes: ab597d35ef11 ("PCI: xilinx-nwl: Add support for Xilinx NWL PCIe Host Controller")
    Signed-off-by: Nicholas Mc Guire <hofrat at osadl.org>
    [lorenzo.pieralisi at arm.com: updated commit log]
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>

commit 8c3f9bd851a4d3acf0a0f222d4e9e41c0cd1ea8e
Author: Nicholas Mc Guire <hofrat at osadl.org>
Date:   Fri Jun 29 13:49:54 2018 -0500

    PCI: xilinx: Add missing of_node_put()
    
    The call to of_get_next_child() returns a node pointer with refcount
    incremented thus it must be explicitly decremented here after the last
    usage.
    
    Fixes: 8961def56845 ("PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver")
    Signed-off-by: Nicholas Mc Guire <hofrat at osadl.org>
    [lorenzo.pieralisi at arm.com: reworked commit log]
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>

commit fb0de5b8dcc68da4a0d39b0f5fcd5368085ad7c1
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date:   Fri Jun 29 13:49:24 2018 -0500

    PCI: endpoint: Use after free in pci_epf_unregister_driver()
    
    We need to use list_for_each_entry_safe() because the
    pci_ep_cfs_remove_epf_group() function frees "group".
    
    Fixes: ef1433f717a2 ("PCI: endpoint: Create configfs entry for each pci_epf_device_id table entry")
    Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
    [lorenzo.pieralisi at arm.com: updated commit log]
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
    Acked-by: Kishon Vijay Abraham I <kishon at ti.com>

commit 9bc5f0833a55c7bf768d517b5fdcf89ead43b794
Author: Geert Uytterhoeven <geert+renesas at glider.be>
Date:   Fri Jun 29 13:49:04 2018 -0500

    PCI: controller: dwc: Do not let PCIE_DW_PLAT_HOST default to yes
    
    PCIE_DW_PLAT_HOST does not have any platform dependency, so it should
    not default to yes.
    
    Fixes: 1d906b22076e12cf ("PCI: dwc: Add support for EP mode")
    Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
    Acked-by: Gustavo Pimentel <gustavo.pimentel at synopsys.com>

commit 3c5777c372b6eb2e17802b3dc4bd5ebea45d9bcc
Author: Marek Vasut <marek.vasut at gmail.com>
Date:   Fri Jun 29 13:48:15 2018 -0500

    PCI: rcar: Clean up PHY init on failure
    
    If the Gen3 PHY fails to power up, the code does not undo the
    initialization caused by phy_init(). Add the missing failure
    handling to the rcar_pcie_phy_init_gen3() function.
    
    Fixes: 517ca93a7159 ("PCI: rcar: Add R-Car gen3 PHY support")
    Reported-by: Geert Uytterhoeven <geert+renesas at glider.be>
    Signed-off-by: Marek Vasut <marek.vasut+renesas at gmail.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
    Reviewed-by: Geert Uytterhoeven <geert+renesas at glider.be>
    Acked-by: Simon Horman <horms+renesas at verge.net.au>
    Cc: Geert Uytterhoeven <geert+renesas at glider.be>
    Cc: Phil Edworthy <phil.edworthy at renesas.com>
    Cc: Wolfram Sang <wsa at the-dreams.de>

commit 4050360f964694a3ac0c83badd1a441207c86889
Author: Marek Vasut <marek.vasut at gmail.com>
Date:   Fri Jun 29 13:47:38 2018 -0500

    PCI: rcar: Shut the PHY down in failpath
    
    If anything fails past phy_init_fn() and the system is a Gen3 with
    a PHY, the PHY will be left on and inited. This is caused by the
    phy_init_fn, which is in fact a pointer to rcar_pcie_phy_init_gen3()
    function, which starts the PHY, yet has no counterpart in the failpath.
    Add that counterpart.
    
    Fixes: 517ca93a7159 ("PCI: rcar: Add R-Car gen3 PHY support")
    Signed-off-by: Marek Vasut <marek.vasut+renesas at gmail.com>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
    Reviewed-by: Geert Uytterhoeven <geert+renesas at glider.be>
    Acked-by: Simon Horman <horms+renesas at verge.net.au>
    Cc: Geert Uytterhoeven <geert+renesas at glider.be>
    Cc: Phil Edworthy <phil.edworthy at renesas.com>
    Cc: Wolfram Sang <wsa at the-dreams.de>

commit 9cc63791fad6d2624878c93f3415da77780e68a7
Merge: c34cc2f26a4a 55c5e0c602c2
Author: Stephen Boyd <sboyd at kernel.org>
Date:   Fri Jun 29 11:40:29 2018 -0700

    Merge branch 'clk-fix-imx6ul-defs' into clk-fixes
    
    * clk-fix-imx6ul-defs:
      dt-bindings: clock: imx6ul: Do not change the clock definition order

commit 55c5e0c602c20cb6f350e5ae357cfd7e04ebb189
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date:   Sat Jun 2 11:02:02 2018 -0300

    dt-bindings: clock: imx6ul: Do not change the clock definition order
    
    Commit f5a4670de966 ("clk: imx: Add new clo01 and clo2 controlled
    by CCOSR") introduced the CLK_CLKO definitions, but didn't put them
    at the end of the list, which may cause dtb breakage when running an old
    dtb with a newer kernel.
    
    In order to avoid that, simply add the new CLK_CKO clock definitions
    at the end of the list.
    
    Fixes: f5a4670de966 ("clk: imx: Add new clo01 and clo2 controlled by CCOSR")
    Reported-by: Stefan Wahren <stefan.wahren at i2se.com>
    Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
    Acked-by: Rob Herring <robh at kernel.org>
    Reviewed-by: Stefan Agner <stefan at agner.ch>
    Signed-off-by: Stephen Boyd <sboyd at kernel.org>

commit ca09cb04af900768d32c8ba5f807dfc83e9ca4d3
Merge: 4c79579b44b1 85782e037f8a
Author: Alexei Starovoitov <ast at kernel.org>
Date:   Fri Jun 29 10:47:35 2018 -0700

    Merge branch 'bpf-fixes'
    
    Daniel Borkmann says:
    
    ====================
    This set contains three fixes that are mostly JIT and set_memory_*()
    related. The third in the series in particular fixes the syzkaller
    bugs that were still pending; aside from local reproduction & testing,
    also 'syz test' wasn't able to trigger them anymore. I've tested this
    series on x86_64, arm64 and s390x, and kbuild bot wasn't yelling either
    for the rest. For details, please see patches as usual, thanks!
    ====================
    
    Signed-off-by: Alexei Starovoitov <ast at kernel.org>

commit 85782e037f8aba8922dadb24a1523ca0b82ab8bc
Author: Daniel Borkmann <daniel at iogearbox.net>
Date:   Thu Jun 28 23:34:59 2018 +0200

    bpf: undo prog rejection on read-only lock failure
    
    Partially undo commit 9facc336876f ("bpf: reject any prog that failed
    read-only lock") since it caused a regression, that is, syzkaller was
    able to manage to cause a panic via fault injection deep in set_memory_ro()
    path by letting an allocation fail: In x86's __change_page_attr_set_clr()
    it was able to change the attributes of the primary mapping but not in
    the alias mapping via cpa_process_alias(), so the second, inner call
    to the __change_page_attr() via __change_page_attr_set_clr() had to split
    a larger page and failed in the alloc_pages() with the artifically triggered
    allocation error which is then propagated down to the call site.
    
    Thus, for set_memory_ro() this means that it returned with an error, but
    from debugging a probe_kernel_write() revealed EFAULT on that memory since
    the primary mapping succeeded to get changed. Therefore the subsequent
    hdr->locked = 0 reset triggered the panic as it was performed on read-only
    memory, so call-site assumptions were infact wrong to assume that it would
    either succeed /or/ not succeed at all since there's no such rollback in
    set_memory_*() calls from partial change of mappings, in other words, we're
    left in a state that is "half done". A later undo via set_memory_rw() is
    succeeding though due to matching permissions on that part (aka due to the
    try_preserve_large_page() succeeding). While reproducing locally with
    explicitly triggering this error, the initial splitting only happens on
    rare occasions and in real world it would additionally need oom conditions,
    but that said, it could partially fail. Therefore, it is definitely wrong
    to bail out on set_memory_ro() error and reject the program with the
    set_memory_*() semantics we have today. Shouldn't have gone the extra mile
    since no other user in tree today infact checks for any set_memory_*()
    errors, e.g. neither module_enable_ro() / module_disable_ro() for module
    RO/NX handling which is mostly default these days nor kprobes core with
    alloc_insn_page() / free_insn_page() as examples that could be invoked long
    after bootup and original 314beb9bcabf ("x86: bpf_jit_comp: secure bpf jit
    against spraying attacks") did neither when it got first introduced to BPF
    so "improving" with bailing out was clearly not right when set_memory_*()
    cannot handle it today.
    
    Kees suggested that if set_memory_*() can fail, we should annotate it with
    __must_check, and all callers need to deal with it gracefully given those
    set_memory_*() markings aren't "advisory", but they're expected to actually
    do what they say. This might be an option worth to move forward in future
    but would at the same time require that set_memory_*() calls from supporting
    archs are guaranteed to be "atomic" in that they provide rollback if part
    of the range fails, once that happened, the transition from RW -> RO could
    be made more robust that way, while subsequent RO -> RW transition /must/
    continue guaranteeing to always succeed the undo part.
    
    Reported-by: syzbot+a4eb8c7766952a1ca872 at syzkaller.appspotmail.com
    Reported-by: syzbot+d866d1925855328eac3b at syzkaller.appspotmail.com
    Fixes: 9facc336876f ("bpf: reject any prog that failed read-only lock")
    Cc: Laura Abbott <labbott at redhat.com>
    Cc: Kees Cook <keescook at chromium.org>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
    Acked-by: Alexei Starovoitov <ast at kernel.org>
    Signed-off-by: Alexei Starovoitov <ast at kernel.org>

commit f605ce5eb26ac934fb8106d75d46a2c875a2bf23
Author: Daniel Borkmann <daniel at iogearbox.net>
Date:   Thu Jun 28 23:34:58 2018 +0200

    bpf, s390: fix potential memleak when later bpf_jit_prog fails
    
    If we would ever fail in the bpf_jit_prog() pass that writes the
    actual insns to the image after we got header via bpf_jit_binary_alloc()
    then we also need to make sure to free it through bpf_jit_binary_free()
    again when bailing out. Given we had prior bpf_jit_prog() passes to
    initially probe for clobbered registers, program size and to fill in
    addrs arrray for jump targets, this is more of a theoretical one,
    but at least make sure this doesn't break with future changes.
    
    Fixes: 054623105728 ("s390/bpf: Add s390x eBPF JIT compiler backend")
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
    Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
    Acked-by: Alexei Starovoitov <ast at kernel.org>
    Signed-off-by: Alexei Starovoitov <ast at kernel.org>

commit 18d405af30bf6506bf2fc49056de7691c949812e
Author: Daniel Borkmann <daniel at iogearbox.net>
Date:   Thu Jun 28 23:34:57 2018 +0200

    bpf, arm32: fix to use bpf_jit_binary_lock_ro api
    
    Any eBPF JIT that where its underlying arch supports ARCH_HAS_SET_MEMORY
    would need to use bpf_jit_binary_{un,}lock_ro() pair instead of the
    set_memory_{ro,rw}() pair directly as otherwise changes to the former
    might break. arm32's eBPF conversion missed to change it, so fix this
    up here.
    
    Fixes: 39c13c204bb1 ("arm: eBPF JIT compiler")
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>
    Acked-by: Alexei Starovoitov <ast at kernel.org>
    Signed-off-by: Alexei Starovoitov <ast at kernel.org>

commit 24b6c22504a27210a8377e54d24d425ae414f2c1
Author: Helge Deller <deller at gmx.de>
Date:   Fri Apr 20 23:13:44 2018 +0200

    parisc: Build kernel without -ffunction-sections
    
    As suggested by Nick Piggin it seems we can drop the -ffunction-sections
    compile flag, now that the kernel uses thin archives. Testing with 32-
    and 64-bit kernel showed no difference in kernel size.
    
    Suggested-by: Nicholas Piggin <npiggin at gmail.com>
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 9544bc5347207a68eb308cc8aaaed6c3a687cabd
Author: Jens Axboe <axboe at kernel.dk>
Date:   Fri Jun 29 08:48:06 2018 -0600

    sg: remove ->sg_magic member
    
    This was introduced more than a decade ago when sg chaining was
    added, but we never really caught anything with it. The scatterlist
    entry size can be critical, since drivers allocate it, so remove
    the magic member. Recently it's been triggering allocation stalls
    and failures in NVMe.
    
    Tested-by: Jordan Glover <Golden_Miller83 at protonmail.ch>
    Acked-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Jens Axboe <axboe at kernel.dk>

commit cd993fc4316d5268f42ab991e9a2c8a6e6cd8dc1
Merge: 5e4e8c55c9fc 925d31668d5b
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jun 29 07:22:46 2018 -0700

    Merge tag 'pci-v4.18-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
    
    Pull PCI fixes from Bjorn Helgaas:
    
     - Fix crash caused by endpoint library initialization order change
       (Alan Douglas)
    
     - Fix shpchp NULL pointer dereference regression on non-ACPI platforms
       (Bjorn Helgaas)
    
     - Move PCI_DOMAINS selection to fix build regression (Lorenzo
       Pieralisi)
    
    * tag 'pci-v4.18-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
      PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
      PCI: Initialize endpoint library before controllers
      PCI: shpchp: Manage SHPC unconditionally on non-ACPI systems

commit 5e4e8c55c9fca8c5e06befc16d56800773fb3128
Merge: 48a3c64b4649 e27b4d4a7b98
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jun 29 07:14:41 2018 -0700

    Merge tag 'pm-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
    
    Pull power management fixes from Rafael Wysocki:
     "These fix up recently added features (the Kryo cpufreq driver and
      performance states coverage in the generic power domains framework),
      add missing documentation for a recently added sysfs knob in the
      intel_pstate driver and fix an error in its documentation.
    
      Specifics:
    
       - Fix the initialization time error handling in the recently added
         Kryo cpufreq driver (Dan Carpenter).
    
       - Fix up the recently added coverage of performance states in the
         generic power domains (genpd) framework (Viresh Kumar).
    
       - Add missing documentation of the new hwp_dynamic_boost sysfs knob
         in the intel_pstate driver (Rafael Wysocki).
    
       - Fix incorrect sysfs path in the intel_pstate driver documentation
         (Rafael Wysocki)"
    
    * tag 'pm-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
      Documentation: intel_pstate: Describe hwp_dynamic_boost sysfs knob
      Documentation: admin-guide: intel_pstate: Fix sysfs path
      PM / Domains: Rename opp_node to np
      PM / Domains: Fix return value of of_genpd_opp_to_performance_state()
      cpufreq: qcom-kryo: Fix error handling in probe()

commit 48a3c64b4649b5b23a4ca756af93b4ee820ff883
Merge: ff23908bb78b 2d8aa4ef6aac
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jun 29 07:11:03 2018 -0700

    Merge tag 'drm-fixes-2018-06-29' of git://anongit.freedesktop.org/drm/drm
    
    Pull drm fixes from Dave Airlie:
     "Nothing too major this round:
    
       - small set of mali-dp fixes
    
       - single meson fix
    
       - a bunch of amdgpu fixes (one makes non-4k page sizes not be a bad
         experience)"
    
    * tag 'drm-fixes-2018-06-29' of git://anongit.freedesktop.org/drm/drm:
      drm/amd/display: release spinlock before committing updates to stream
      drm/amdgpu:Support new VCN FW version naming convention
      drm/amdgpu: fix UBSAN: Undefined behaviour for amdgpu_fence.c
      drm/meson: Fix an un-handled error path in 'meson_drv_bind_master()'
      drm/amdgpu: GPU vs CPU page size fixes in amdgpu_vm_bo_split_mapping
      drm/amdgpu: Count disabled CRTCs in commit tail earlier
      drm/mali-dp: Rectify the width and height passed to rotmem_required()
      drm/arm/malidp: Preserve LAYER_FORMAT contents when setting format
      drm: mali-dp: Enable Global SE interrupts mask for DP500
      drm/arm/malidp: Ensure that the crtcs are shutdown before removing any encoder/connector

commit ff23908bb78bbc0999ff35e6f319f1648c4ded93
Merge: 2cd3ae212973 dbc626597c39
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Fri Jun 29 07:07:25 2018 -0700

    Merge tag 'for-4.18/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
    
    Pull device mapper fixes from Mike Snitzer:
    
     - Fix dm core to use more efficient bio_split() instead of
       bio_clone_bioset(). Also fixes splitting bio that has integrity
       payload.
    
     - Three fixes related to properly validating DAX capabilities of a
       stacked DM device that will advertise DAX support.
    
     - Update DM writecache target to use 2-factor allocator arguments. Kees
       says this is the last related change for 4.18.
    
     - Fix DM zoned target to use GFP_NOIO to avoid triggering reclaim
       during IO submission (caught by lockdep).
    
     - Fix DM thinp to gracefully recover from running out of data space
       while a previous async discard completes (whereby freeing space).
    
     - Fix DM thinp's metadata transaction commit to avoid needless work.
    
    * tag 'for-4.18/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm: prevent DAX mounts if not supported
      dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()
      pmem: only set QUEUE_FLAG_DAX for fsdax mode
      dm thin: handle running out of data space vs concurrent discard
      dm raid: don't use 'const' in function return
      dm zoned: avoid triggering reclaim from inside dmz_map()
      dm writecache: use 2-factor allocator arguments
      dm thin metadata: remove needless work from __commit_transaction
      dm: use bio_split() when splitting out the already processed bio

commit 49f1c61071f528ebda699ea59ab87aec3df79d4e
Merge: fad2d4ef6366 682630f00a21
Author: Jens Axboe <axboe at kernel.dk>
Date:   Fri Jun 29 07:55:41 2018 -0600

    Merge branch 'nvme-4.18' of git://git.infradead.org/nvme into for-linus
    
    Pull single NVMe fix from Christoph.
    
    * 'nvme-4.18' of git://git.infradead.org/nvme:
      nvme-rdma: fix possible double free of controller async event buffer

commit fad2d4ef636654e926d374ef038f4cd4286661f6
Author: Bart Van Assche <bart.vanassche at wdc.com>
Date:   Mon Jun 25 15:51:30 2018 -0700

    drbd: Fix drbd_request_prepare() discard handling
    
    Fix the test that verifies whether bio_op(bio) represents a discard
    or write zeroes operation. Compile-tested only.
    
    Cc: Philipp Reisner <philipp.reisner at linbit.com>
    Cc: Lars Ellenberg <lars.ellenberg at linbit.com>
    Fixes: 7435e9018f91 ("drbd: zero-out partial unaligned discards on local backend")
    Signed-off-by: Bart Van Assche <bart.vanassche at wdc.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Jens Axboe <axboe at kernel.dk>

commit 1f57f8d442f8017587eeebd8617913bfc3661d3d
Author: Jens Axboe <axboe at kernel.dk>
Date:   Thu Jun 28 11:54:01 2018 -0600

    blk-mq: don't queue more if we get a busy return
    
    Some devices have different queue limits depending on the type of IO. A
    classic case is SATA NCQ, where some commands can queue, but others
    cannot. If we have NCQ commands inflight and encounter a non-queueable
    command, the driver returns busy. Currently we attempt to dispatch more
    from the scheduler, if we were able to queue some commands. But for the
    case where we ended up stopping due to BUSY, we should not attempt to
    retrieve more from the scheduler. If we do, we can get into a situation
    where we attempt to queue a non-queueable command, get BUSY, then
    successfully retrieve more commands from that scheduler and queue those.
    This can repeat forever, starving the non-queuable command indefinitely.
    
    Fix this by NOT attempting to pull more commands from the scheduler, if
    we get a BUSY return. This should also be more optimal in terms of
    letting requests stay in the scheduler for as long as possible, if we
    get a BUSY due to the regular out-of-tags condition.
    
    Reviewed-by: Omar Sandoval <osandov at fb.com>
    Reviewed-by: Ming Lei <ming.lei at redhat.com>
    Signed-off-by: Jens Axboe <axboe at kernel.dk>

commit 2cd3ae2129736f9019130064d09713a375870941
Author: Avi Kivity <avi at scylladb.com>
Date:   Fri Jun 29 15:37:25 2018 +0200

    aio: mark __aio_sigset::sigmask const
    
    io_pgetevents() will not change the signal mask.  Mark it const to make
    it clear and to reduce the need for casts in user code.
    
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Avi Kivity <avi at scylladb.com>
    Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
    [hch: reapply the patch that got incorrectly reverted]
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit e88958e6369aeba48623afa18dd67fdf41c98d75
Author: Christoph Hellwig <hch at lst.de>
Date:   Fri Jun 29 15:37:24 2018 +0200

    net: handle NULL ->poll gracefully
    
    The big aio poll revert broke various network protocols that don't
    implement ->poll as a patch in the aio poll serie removed sock_no_poll
    and made the common code handle this case.
    
    Reported-by: syzbot+57727883dbad76db2ef0 at syzkaller.appspotmail.com
    Reported-by: syzbot+cdb0d3176b53d35ad454 at syzkaller.appspotmail.com
    Reported-by: syzbot+2c7e8f74f8b2571c87e8 at syzkaller.appspotmail.com
    Reported-by: Tetsuo Handa <penguin-kernel at i-love.sakura.ne.jp>
    Fixes: a11e1d432b51 ("Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL")
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 0933cc294f7a5004210c200b540d2d1c14112095
Merge: e699e2c6a654 95bca62fb723
Author: David S. Miller <davem at davemloft.net>
Date:   Fri Jun 29 22:09:26 2018 +0900

    Merge tag 'mac80211-for-davem-2018-06-29' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
    
    Johannes Berg says:
    
    ====================
    Just three fixes:
     * fix HT operation in mesh mode
     * disable preemption in control frame TX
     * check nla_parse_nested() return values
       where missing (two places)
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e699e2c6a654ff8d7303f5297ab5dd83da7b23e0
Author: Shakeel Butt <shakeelb at google.com>
Date:   Wed Jun 27 15:16:42 2018 -0700

    net, mm: account sock objects to kmemcg
    
    Currently the kernel accounts the memory for network traffic through
    mem_cgroup_[un]charge_skmem() interface. However the memory accounted
    only includes the truesize of sk_buff which does not include the size of
    sock objects. In our production environment, with opt-out kmem
    accounting, the sock kmem caches (TCP[v6], UDP[v6], RAW[v6], UNIX) are
    among the top most charged kmem caches and consume a significant amount
    of memory which can not be left as system overhead. So, this patch
    converts the kmem caches of all sock objects to SLAB_ACCOUNT.
    
    Signed-off-by: Shakeel Butt <shakeelb at google.com>
    Suggested-by: Eric Dumazet <edumazet at google.com>
    Reviewed-by: Kirill Tkhai <ktkhai at virtuozzo.com>
    Reviewed-by: Eric Dumazet <edumazet at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e94595b0f59c26581f6ae8a3972b99f56a415b76
Author: Stefan Agner <stefan at agner.ch>
Date:   Sun Jun 17 10:55:29 2018 +0200

    drm/exynos: ipp: use correct enum type
    
    The limit_id_fallback array uses enum drm_ipp_size_id to index its
    content. The content itself is of type enum drm_exynos_ipp_limit_type.
    
    Cc: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Stefan Agner <stefan at agner.ch>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit 7b7aa62c05eac9789c208b946f515983a9255d8d
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:07:49 2018 +0200

    drm/exynos: decon5433: Fix WINCONx reset value
    
    The only bits that should be preserved in decon_win_set_fmt() is
    WINCONx_ENWIN_F. All other bits depends on the selected pixel formats and
    are set by the mentioned function.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit ab337fc274a1957ff0771f19e826c736253f7c39
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:07:40 2018 +0200

    drm/exynos: decon5433: Fix per-plane global alpha for XRGB modes
    
    Set per-plane global alpha to maximum value to get proper blending of
    XRGB and ARGB planes. This fixes the strange order of overlapping planes.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit 5d5657aac0b40867fe57c50d395e9bb08274ceb8
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:06:14 2018 +0200

    drm/exynos: fimc: Use real buffer width for configuring the hardware
    
    DMA hardware should respect buffer pitch, so use the width calculated from
    the buffer pitch instead of the virtual one.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit dd209ef809080ced903e7747ee3ef640c923a1d2
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:06:13 2018 +0200

    drm/exynos: gsc: Fix support for NV16/61, YUV420/YVU420 and YUV422 modes
    
    Fix following issues related to planar YUV pixel format configuration:
    - NV16/61 modes were incorrectly programmed as NV12/21,
    - YVU420 was programmed as YUV420 on source,
    - YVU420 and YUV422 were programmed as YUV420 on output.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit 4cc11a5f53049c8a2b02763a53ecd42371355c10
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:06:12 2018 +0200

    drm/exynos: gsc: Fix DRM_MODE_REFLECT_{X,Y} interpretation
    
    Horizontal (DRM_MODE_REFLECT_Y) and vertical (DMR_MODE_REFLECT_Y) flip
    were swapped in GScaler driver. Fix this by swapping code for interpreting
    them.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit 28b676329cc1adfa37b5291e13055e0819a80e42
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:06:11 2018 +0200

    drm/exynos: gsc: Increase Exynos5433 buffer width alignment to 16 pixels
    
    Investigation revealed that GScaler hardware requires the real buffer width
    (pitch) to be aligned to 16 pixels.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit 4958a1c0c9c4a48d6ba9e2b184d93cab0dce68e1
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:06:10 2018 +0200

    drm/exynos: gsc: Use real buffer width for configuring the hardware
    
    DMA hardware should respect buffer pitch, so use the width calculated from
    the buffer pitch instead of the virtual one.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit 4e1a6230313ad76c08633fa57853349de56f60a2
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:06:09 2018 +0200

    drm/exynos: scaler: Fix support for YUV420, YUV422 and YUV444 modes
    
    Fix Cb/CR components order in two-planar YUV420, YUV422 and YUV444 modes.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit 280e54c9f614c88292685383cf2d65057586e9fb
Author: Andrzej Pietrasiewicz <andrzej.p at samsung.com>
Date:   Thu Jun 7 13:06:08 2018 +0200

    drm/exynos: scaler: Reset hardware before starting the operation
    
    Ensure that Scaler hardware is properly reset and interrupts are cleared
    before processing next image.
    
    Signed-off-by: Andrzej Pietrasiewicz <andrzej.p at samsung.com>
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit 1b0966c3e951da6ae523c4e954b1f43b22927948
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:06:07 2018 +0200

    drm/exynos: rotator: Fix DRM_MODE_REFLECT_{X,Y} interpretation
    
    Horizontal (DRM_MODE_REFLECT_Y) and vertical (DMR_MODE_REFLECT_Y) flip
    were swapped in Rotator driver. Fix this by swapping code for interpreting
    them.
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit 69705ad21029b6e92c9facb0eb12cde1a4fd52b7
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Thu Jun 7 13:06:06 2018 +0200

    drm/exynos: ipp: Rework checking for the correct buffer formats
    
    Prepare a common function for size and scale checks and call it for
    source and destination buffers. Then also move there the state-less checks
    from exynos_drm_ipp_task_setup_buffer, so the format information is already
    available in limits processing. Finally perform the IPP_LIMIT_BUFFER check
    on the real width of the buffer (the width calculated from the provided
    buffer pitch).
    
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Inki Dae <inki.dae at samsung.com>

commit e27b4d4a7b987ffa93a5a1249dd83dcb69f8d040
Merge: 649f53a3e4cf ad6384ba3ac9
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date:   Fri Jun 29 09:54:20 2018 +0200

    Merge branch 'pm-domains'
    
    Merge fixups for the recent extenstion of the generic power domains
    (genpd) framework covering performance states.
    
    * pm-domains:
      PM / Domains: Rename opp_node to np
      PM / Domains: Fix return value of of_genpd_opp_to_performance_state()

commit 95bca62fb723a121954fc7ae5473bb2c1f0d5986
Author: Johannes Berg <johannes.berg at intel.com>
Date:   Fri Jun 29 09:33:39 2018 +0200

    nl80211: check nla_parse_nested() return values
    
    At the very least we should check the return value if
    nla_parse_nested() is called with a non-NULL policy.
    
    Signed-off-by: Johannes Berg <johannes.berg at intel.com>

commit 188f60ab8e787fcbb5ac9d64ede23a0070231f09
Author: Bob Copeland <me at bobcopeland.com>
Date:   Sun Jun 24 21:10:49 2018 -0400

    nl80211: relax ht operation checks for mesh
    
    Commit 9757235f451c, "nl80211: correct checks for
    NL80211_MESHCONF_HT_OPMODE value") relaxed the range for the HT
    operation field in meshconf, while also adding checks requiring
    the non-greenfield and non-ht-sta bits to be set in certain
    circumstances.  The latter bit is actually reserved for mesh BSSes
    according to Table 9-168 in 802.11-2016, so in fact it should not
    be set.
    
    wpa_supplicant sets these bits because the mesh and AP code share
    the same implementation, but authsae does not.  As a result, some
    meshconf updates from authsae which set only the NONHT_MIXED
    protection bits were being rejected.
    
    In order to avoid breaking userspace by changing the rules again,
    simply accept the values with or without the bits set, and mask
    off the reserved bit to match the spec.
    
    While in here, update the 802.11-2012 reference to 802.11-2016.
    
    Fixes: 9757235f451c ("nl80211: correct checks for NL80211_MESHCONF_HT_OPMODE value")
    Cc: Masashi Honma <masashi.honma at gmail.com>
    Signed-off-by: Bob Copeland <bobcopeland at fb.com>
    Reviewed-by: Masashi Honma <masashi.honma at gmail.com>
    Reviewed-by: Masashi Honma <masashi.honma at gmail.com>
    Signed-off-by: Johannes Berg <johannes.berg at intel.com>

commit e7441c9274a6a5453e06f4c2b8b5f72eca0a3f17
Author: Denis Kenzior <denkenz at gmail.com>
Date:   Tue Jun 19 10:39:50 2018 -0500

    mac80211: disable BHs/preemption in ieee80211_tx_control_port()
    
    On pre-emption enabled kernels the following print was being seen due to
    missing local_bh_disable/local_bh_enable calls.  mac80211 assumes that
    pre-emption is disabled in the data path.
    
        BUG: using smp_processor_id() in preemptible [00000000] code: iwd/517
        caller is __ieee80211_subif_start_xmit+0x144/0x210 [mac80211]
        [...]
        Call Trace:
        dump_stack+0x5c/0x80
        check_preemption_disabled.cold.0+0x46/0x51
        __ieee80211_subif_start_xmit+0x144/0x210 [mac80211]
    
    Fixes: 911806491425 ("mac80211: Add support for tx_control_port")
    Signed-off-by: Denis Kenzior <denkenz at gmail.com>
    [commit message rewrite, fixes tag]
    Signed-off-by: Johannes Berg <johannes.berg at intel.com>

commit 12b731dd46d9ee646318e6e9dc587314a3908a46
Author: Wolfram Sang <wsa+renesas at sang-engineering.com>
Date:   Sat Jun 16 21:56:36 2018 +0900

    i2c: gpio: initialize SCL to HIGH again
    
    It seems that during the conversion from gpio* to gpiod*, the initial
    state of SCL was wrongly switched to LOW. Fix it to be HIGH again.
    
    Fixes: 7bb75029ef34 ("i2c: gpio: Enforce open drain through gpiolib")
    Signed-off-by: Wolfram Sang <wsa+renesas at sang-engineering.com>
    Tested-by: Geert Uytterhoeven <geert+renesas at glider.be>
    Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
    Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
    Cc: stable at kernel.org

commit 9aa613674f89d01248ae2e4afe691b515ff8fbb6
Author: Peter Rosin <peda at axentia.se>
Date:   Wed Jun 20 11:43:23 2018 +0200

    i2c: smbus: kill memory leak on emulated and failed DMA SMBus xfers
    
    If DMA safe memory was allocated, but the subsequent I2C transfer
    fails the memory is leaked. Plug this leak.
    
    Fixes: 8a77821e74d6 ("i2c: smbus: use DMA safe buffers for emulated SMBus transactions")
    Signed-off-by: Peter Rosin <peda at axentia.se>
    Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
    Cc: stable at kernel.org

commit 2173ed0adc7f0473e6b6ad636d8684a0d82da5e9
Author: Wolfram Sang <wsa+renesas at sang-engineering.com>
Date:   Sat Jun 16 22:37:57 2018 +0900

    i2c: algos: bit: mention our experience about initial states
    
    So, if somebody wants to re-implement this in the future, we pinpoint to
    a problem case.
    
    Signed-off-by: Wolfram Sang <wsa+renesas at sang-engineering.com>
    Acked-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Wolfram Sang <wsa at the-dreams.de>

commit 2a2c8ee2d72c4f1ba0f7fbb02dc74f971df0f934
Author: Wolfram Sang <wsa+renesas at sang-engineering.com>
Date:   Sat Jun 16 22:37:56 2018 +0900

    Revert "i2c: algo-bit: init the bus to a known state"
    
    This reverts commit 3e5f06bed72fe72166a6778f630241a893f67799. As per
    bugzilla #200045, this caused a regression. I don't really see a way to
    fix it without having the hardware. So, revert the patch and I will fix
    the issue I was seeing originally in the i2c-gpio driver itself. I
    couldn't find new users of this algorithm since, so there should be no
    one depending on the new behaviour.
    
    Reported-by: Sergey Larin <cerg2010cerg2010 at mail.ru>
    Fixes: 3e5f06bed72f ("i2c: algo-bit: init the bus to a known state")
    Signed-off-by: Wolfram Sang <wsa+renesas at sang-engineering.com>
    Acked-by: Alex Deucher <alexander.deucher at amd.com>
    Tested-by: Sergey Larin <cerg2010cerg2010 at mail.ru>
    Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
    Cc: stable at kernel.org

commit 0da74120c5341389b97c4ee27487a97224999ee1
Author: Jann Horn <jannh at google.com>
Date:   Thu Jun 28 20:39:54 2018 -0400

    selinux: move user accesses in selinuxfs out of locked regions
    
    If a user is accessing a file in selinuxfs with a pointer to a userspace
    buffer that is backed by e.g. a userfaultfd, the userspace access can
    stall indefinitely, which can block fsi->mutex if it is held.
    
    For sel_read_policy(), remove the locking, since this method doesn't seem
    to access anything that requires locking.
    
    For sel_read_bool(), move the user access below the locked region.
    
    For sel_write_bool() and sel_commit_bools_write(), move the user access
    up above the locked region.
    
    Cc: stable at vger.kernel.org
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Signed-off-by: Jann Horn <jannh at google.com>
    Acked-by: Stephen Smalley <sds at tycho.nsa.gov>
    [PM: removed an unused variable in sel_read_policy()]
    Signed-off-by: Paul Moore <paul at paul-moore.com>

commit 4c79579b44b1876444f4d04de31c1a37098a0350
Author: David Ahern <dsahern at gmail.com>
Date:   Tue Jun 26 16:21:18 2018 -0700

    bpf: Change bpf_fib_lookup to return lookup status
    
    For ACLs implemented using either FIB rules or FIB entries, the BPF
    program needs the FIB lookup status to be able to drop the packet.
    Since the bpf_fib_lookup API has not reached a released kernel yet,
    change the return code to contain an encoding of the FIB lookup
    result and return the nexthop device index in the params struct.
    
    In addition, inform the BPF program of any post FIB lookup reason as
    to why the packet needs to go up the stack.
    
    The fib result for unicast routes must have an egress device, so remove
    the check that it is non-NULL.
    
    Signed-off-by: David Ahern <dsahern at gmail.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit 3203c9010060806ff88c9989aeab4dc8d9a474dc
Author: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
Date:   Wed Jun 27 17:19:21 2018 +0200

    test_bpf: flag tests that cannot be jited on s390
    
    Flag with FLAG_EXPECTED_FAIL the BPF_MAXINSNS tests that cannot be jited
    on s390 because they exceed BPF_SIZE_MAX and fail when
    CONFIG_BPF_JIT_ALWAYS_ON is set. Also set .expected_errcode to -ENOTSUPP
    so the tests pass in that case.
    
    Signed-off-by: Kleber Sacilotto de Souza <kleber.souza at canonical.com>
    Acked-by: Song Liu <songliubraving at fb.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit 63ba82c0e63f1dd400d84e12f2142c2cb691aec1
Author: Helge Deller <deller at gmx.de>
Date:   Thu Jun 28 22:21:24 2018 +0200

    parisc: Reduce debug output in unwind code
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit f9ff68521a5541e1fdaeb0ef11871c035b30e409
Author: Lyude Paul <lyude at redhat.com>
Date:   Mon Jun 25 21:09:07 2018 -0400

    drm/amdgpu: Dynamically probe for ATIF handle (v2)
    
    The other day I was testing one of the HP laptops at my office with an
    i915/amdgpu hybrid setup and noticed that hotplugging was non-functional
    on almost all of the display outputs. I eventually discovered that all
    of the external outputs were connected to the amdgpu device instead of
    i915, and that the hotplugs weren't being detected so long as the GPU
    was in runtime suspend. After some talking with folks at AMD, I learned
    that amdgpu is actually supposed to support hotplug detection in runtime
    suspend so long as the OEM has implemented it properly in the firmware.
    
    On this HP ZBook 15 G4 (the machine in question), amdgpu wasn't managing
    to find the ATIF handle at all despite the fact that I could see acpi
    events being sent in response to any hotplugging. After going through
    dumps of the firmware, I discovered that this machine did in fact
    support ATIF, but that it's ATIF method lived in an entirely different
    namespace than this device's handle (the device handle was
    \_SB_.PCI0.PEG0.PEGP, but ATIF lives in ATPX's handle at
    \_SB_.PCI0.GFX0).
    
    So, fix this by probing ATPX's ACPI parent's namespace if we can't find
    ATIF elsewhere, along with storing a pointer to the proper handle to use
    for ATIF and using that instead of the device's handle.
    
    This fixes HPD detection while in runtime suspend for this ZBook!
    
    v2: Update the comment to reflect how the namespaces are arranged
    based on the system configuration. (Alex)
    
    Signed-off-by: Lyude Paul <lyude at redhat.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: stable at vger.kernel.org

commit 4aa5d5eb82bb237d0bb3a38b2a7555054d018081
Author: Lyude Paul <lyude at redhat.com>
Date:   Mon Jun 25 21:09:06 2018 -0400

    drm/amdgpu: Add amdgpu_atpx_get_dhandle()
    
    Since it seems that some vendors are storing the ATIF ACPI methods under
    the same handle that ATPX lives under instead of the device's own
    handle, we're going to need to be able to retrieve this handle later so
    we can probe for ATIF there.
    
    Signed-off-by: Lyude Paul <lyude at redhat.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: stable at vger.kernel.org

commit 2cd5fe22d9a45cdf11c62bbe8db3ce9101207510
Author: Lyude Paul <lyude at redhat.com>
Date:   Mon Jun 25 21:09:04 2018 -0400

    drm/amdgpu: Make struct amdgpu_atif private to amdgpu_acpi.c
    
    Currently, there is nothing in amdgpu that actually uses these structs
    other than amdgpu_acpi.c. Additionally, since we're about to start
    saving the correct ACPI handle to use for calling ATIF in this struct
    this saves us from having to handle making sure that the acpi_handle
    (and by proxy, the type definition for acpi_handle and all of the other
    acpi headers) doesn't need to be included within the amdgpu_drv struct
    itself. This follows the example set by amdgpu_atpx_handler.c.
    
    Signed-off-by: Lyude Paul <lyude at redhat.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: stable at vger.kernel.org

commit dbc626597c39b24cefce09fbd8e9dea85869a801
Author: Ross Zwisler <ross.zwisler at linux.intel.com>
Date:   Tue Jun 26 16:30:41 2018 -0600

    dm: prevent DAX mounts if not supported
    
    Currently device_supports_dax() just checks to see if the QUEUE_FLAG_DAX
    flag is set on the device's request queue to decide whether or not the
    device supports filesystem DAX.  Really we should be using
    bdev_dax_supported() like filesystems do at mount time.  This performs
    other tests like checking to make sure the dax_direct_access() path works.
    
    We also explicitly clear QUEUE_FLAG_DAX on the DM device's request queue if
    any of the underlying devices do not support DAX.  This makes the handling
    of QUEUE_FLAG_DAX consistent with the setting/clearing of most other flags
    in dm_table_set_restrictions().
    
    Now that bdev_dax_supported() explicitly checks for QUEUE_FLAG_DAX, this
    will ensure that filesystems built upon DM devices will only be able to
    mount with DAX if all underlying devices also support DAX.
    
    Signed-off-by: Ross Zwisler <ross.zwisler at linux.intel.com>
    Fixes: commit 545ed20e6df6 ("dm: add infrastructure for DAX support")
    Cc: stable at vger.kernel.org
    Acked-by: Dan Williams <dan.j.williams at intel.com>
    Reviewed-by: Toshi Kani <toshi.kani at hpe.com>
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>

commit 15256f6cc4b44f2e70503758150267fd2a53c0d6
Author: Ross Zwisler <ross.zwisler at linux.intel.com>
Date:   Tue Jun 26 16:30:40 2018 -0600

    dax: check for QUEUE_FLAG_DAX in bdev_dax_supported()
    
    Add an explicit check for QUEUE_FLAG_DAX to __bdev_dax_supported().  This
    is needed for DM configurations where the first element in the dm-linear or
    dm-stripe target supports DAX, but other elements do not.  Without this
    check __bdev_dax_supported() will pass for such devices, letting a
    filesystem on that device mount with the DAX option.
    
    Signed-off-by: Ross Zwisler <ross.zwisler at linux.intel.com>
    Suggested-by: Mike Snitzer <snitzer at redhat.com>
    Fixes: commit 545ed20e6df6 ("dm: add infrastructure for DAX support")
    Cc: stable at vger.kernel.org
    Acked-by: Dan Williams <dan.j.williams at intel.com>
    Reviewed-by: Toshi Kani <toshi.kani at hpe.com>
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>

commit 4557641b4c7046625c026fb809c47ef0d43ae595
Author: Ross Zwisler <ross.zwisler at linux.intel.com>
Date:   Tue Jun 26 16:30:39 2018 -0600

    pmem: only set QUEUE_FLAG_DAX for fsdax mode
    
    QUEUE_FLAG_DAX is an indication that a given block device supports
    filesystem DAX and should not be set for PMEM namespaces which are in "raw"
    mode.  These namespaces lack struct page and are prevented from
    participating in filesystem DAX as of commit 569d0365f571 ("dax: require
    'struct page' by default for filesystem dax").
    
    Signed-off-by: Ross Zwisler <ross.zwisler at linux.intel.com>
    Suggested-by: Mike Snitzer <snitzer at redhat.com>
    Fixes: 569d0365f571 ("dax: require 'struct page' by default for filesystem dax")
    Cc: stable at vger.kernel.org
    Acked-by: Dan Williams <dan.j.williams at intel.com>
    Reviewed-by: Toshi Kani <toshi.kani at hpe.com>
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>

commit bda3153998f3eb2cafa4a6311971143628eacdbc
Author: BingJing Chang <bingjingc at synology.com>
Date:   Thu Jun 28 18:40:11 2018 +0800

    md/raid10: fix that replacement cannot complete recovery after reassemble
    
    During assemble, the spare marked for replacement is not checked.
    conf->fullsync cannot be updated to be 1. As a result, recovery will
    treat it as a clean array. All recovering sectors are skipped. Original
    device is replaced with the not-recovered spare.
    
    mdadm -C /dev/md0 -l10 -n4 -pn2 /dev/loop[0123]
    mdadm /dev/md0 -a /dev/loop4
    mdadm /dev/md0 --replace /dev/loop0
    mdadm -S /dev/md0 # stop array during recovery
    
    mdadm -A /dev/md0 /dev/loop[01234]
    
    After reassemble, you can see recovery go on, but it completes
    immediately. In fact, recovery is not actually processed.
    
    To solve this problem, we just add the missing logics for replacment
    spares. (In raid1.c or raid5.c, they have already been checked.)
    
    Reported-by: Alex Chen <alexchen at synology.com>
    Reviewed-by: Alex Wu <alexwu at synology.com>
    Reviewed-by: Chung-Chiang Cheng <cccheng at synology.com>
    Signed-off-by: BingJing Chang <bingjingc at synology.com>
    Signed-off-by: Shaohua Li <shli at fb.com>

commit 90368a37fbbe76056db2b703c08903939a2a18dc
Merge: e26aac3caead 043f891b70e6
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jun 28 12:45:34 2018 -0700

    Merge tag 'printk-for-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk
    
    Pull printk fix from Petr Mladek:
     "Revert a commit that went in by mistake. I already have a better fix
      in the queue for 4.19"
    
    * tag 'printk-for-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk:
      Revert "lib/test_printf.c: call wait_for_random_bytes() before plain %p tests"

commit e26aac3caeadc476b96a1f384715e96b4a607342
Merge: c7e1d692ea82 c9a4c63888db
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jun 28 12:43:37 2018 -0700

    Merge tag 'sound-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
    
    Pull sound fixes from Takashi Iwai:
     "Over a dozen changes, but all small and clear fixes.
    
      Half of them are the regression fixes for CA0132 HD-audio codec, and
      the rest are, again, a few more fixups for HD-audio, two UBSAN fixes
      in the core ioctls, and a trivial fix in the error path handling in
      lx6464es driver"
    
    * tag 'sound-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
      ALSA: seq: Fix UBSAN warning at SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT ioctl
      ALSA: timer: Fix UBSAN warning at SNDRV_TIMER_IOCTL_NEXT_DEVICE ioctl
      ALSA: hda/realtek - Fix the problem of two front mics on more machines
      ALSA: hda/realtek - Add a quirk for FSC ESPRIMO U9210
      ALSA: hda/ca0132: make array ca0132_alt_chmaps static
      ALSA: hda - Force to link down at runtime suspend on ATI/AMD HDMI
      ALSA: lx6464es: Missing error code in snd_lx6464es_create()
      ALSA: hda/ca0132: Fix DMic data rate for Alienware M17x R4
      ALSA: hda/ca0132: Restore PCM Analog Mic-In2
      ALSA: hda/ca0132: Don't test for QUIRK_NONE
      ALSA: hda/ca0132: Restore behavior of QUIRK_ALIENWARE
      ALSA: hda/ca0132: Delete redundant UNSOL event requests
      ALSA: hda/ca0132: Delete pointless assignments to struct auto_pin_cfg fields
      ALSA: hda/realtek - Fix pop noise on Lenovo P50 & co

commit c7e1d692ea8250c42278bb67fdedee01c822985f
Merge: ea5f39f2f994 3f6e6986045d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jun 28 12:31:59 2018 -0700

    Merge tag 'mtd/fixes-for-4.18-rc3' of git://git.infradead.org/linux-mtd
    
    Pull mtd fixes from Boris Brezillon:
     "NAND fixes:
    
       - add a quirk for a bunch of broken Macronix chips
    
       - fix nand_block_bad() when chip->ecc.read_oob() returns a positive
         value encoding the number of bitflips
    
       - fix OOB handling in the MXC driver fo V2.1 controllers
    
       - flag the ONFI_FEATURE_ON_DIE_ECC as supported in the Micron driver
    
       - hardcode clk rate in the denali_dt driver to address a bad DT
         representation (the proper fix will be queued for 4.19)
    
      SPI NOR fixes:
    
       - add an ULL constant to some ID definitions so that the ID is not
         truncated on 32-bit platforms
    
      MTD fixes:
    
       - fix the sector unlocking logic in the CFI driver"
    
    * tag 'mtd/fixes-for-4.18-rc3' of git://git.infradead.org/linux-mtd:
      mtd: rawnand: denali_dt: set clk_x_rate to 200 MHz unconditionally
      mtd: dataflash: Use ULL suffix for 64-bit constants
      mtd: cfi_cmdset_0002: Avoid walking all chips when unlocking.
      mtd: cfi_cmdset_0002: Fix unlocking requests crossing a chip boudary
      mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips
      mtd: cfi_cmdset_0002: Use right chip in do_ppb_xxlock()
      mtd: rawnand: All AC chips have a broken GET_FEATURES(TIMINGS).
      mtd: rawnand: fix return value check for bad block status
      mtd: rawnand: mxc: set spare area size register explicitly
      mtd: rawnand: micron: add ONFI_FEATURE_ON_DIE_ECC to supported features

commit 1513b1c93f825f74751897258e0bdde64fd3bb6a
Author: Evan Quan <evan.quan at amd.com>
Date:   Mon Jun 11 15:20:39 2018 +0800

    drm/amd/powerplay: smc_dpm_info structure change
    
    A new member Vr2_I2C_address is added.
    
    Signed-off-by: Evan Quan <evan.quan at amd.com>
    Acked-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit 36953aa94a8fcc884b970d63d3e4c650257dd03e
Author: Evan Quan <evan.quan at amd.com>
Date:   Mon May 28 08:59:16 2018 +0800

    drm/amd/powerplay: correct vega12 bootup values settings
    
    The vbios firmware structure changed between v3_1 and v3_2. So,
    the code to setup bootup values needs different paths based
    on header version.
    
    Signed-off-by: Evan Quan <evan.quan at amd.com>
    Acked-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit 363a3d3fb7d478d7dd49b8c6294436b8ba5984cc
Author: Evan Quan <evan.quan at amd.com>
Date:   Mon Jun 11 16:46:40 2018 +0800

    drm/amd/powerplay: correct vega12 thermal support as true
    
    Thermal support is enabled on vega12.
    
    Signed-off-by: Evan Quan <evan.quan at amd.com>
    Acked-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

commit ea5f39f2f994e6fb8cb8d0304aa5f422ae3bbf83
Merge: a11e1d432b51 008e682b5bf1
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jun 28 11:42:56 2018 -0700

    Merge branch 'akpm' (patches from Andrew)
    
    Merge fixes from Andrew Morton:
     "7 fixes"
    
    * emailed patches from Andrew Morton <akpm at linux-foundation.org>:
      proc: add Alexey to MAINTAINERS
      kasan: depend on CONFIG_SLUB_DEBUG
      include/linux/dax.h: dax_iomap_fault() returns vm_fault_t
      x86/e820: put !E820_TYPE_RAM regions into memblock.reserved
      slub: fix failure when we delete and create a slab cache
      Revert mm/vmstat.c: fix vmstat_update() preemption BUG
      lib/percpu_ida.c: don't do alloc from per-CPU list if there is none

commit 008e682b5bf1bdd735b2eecf2f3903d7da49dd52
Author: Alexey Dobriyan <adobriyan at gmail.com>
Date:   Wed Jun 27 23:26:24 2018 -0700

    proc: add Alexey to MAINTAINERS
    
    I know I'll regret it.
    
    Link: http://lkml.kernel.org/r/20180627194840.GA18113@avx2
    Signed-off-by: Alexey Dobriyan <adobriyan at gmail.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit dd275caf4a0d9b219fffe49288b6cc33cd564312
Author: Jason A. Donenfeld <Jason at zx2c4.com>
Date:   Wed Jun 27 23:26:20 2018 -0700

    kasan: depend on CONFIG_SLUB_DEBUG
    
    KASAN depends on having access to some of the accounting that SLUB_DEBUG
    does; without it, there are immediate crashes [1].  So, the natural
    thing to do is to make KASAN select SLUB_DEBUG.
    
    [1] http://lkml.kernel.org/r/CAHmME9rtoPwxUSnktxzKso14iuVCWT7BE_-_8PAC=pGw1iJnQg@mail.gmail.com
    
    Link: http://lkml.kernel.org/r/20180622154623.25388-1-Jason@zx2c4.com
    Fixes: f9e13c0a5a33 ("slab, slub: skip unnecessary kasan_cache_shutdown()")
    Signed-off-by: Jason A. Donenfeld <Jason at zx2c4.com>
    Acked-by: Michal Hocko <mhocko at suse.com>
    Reviewed-by: Shakeel Butt <shakeelb at google.com>
    Acked-by: Christoph Lameter <cl at linux.com>
    Cc: Shakeel Butt <shakeelb at google.com>
    Cc: David Rientjes <rientjes at google.com>
    Cc: Pekka Enberg <penberg at kernel.org>
    Cc: Joonsoo Kim <iamjoonsoo.kim at lge.com>
    Cc: Andrey Ryabinin <aryabinin at virtuozzo.com>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit f77bc3a82ce58fe7977a11f28e0b6cac8a9e087c
Author: Souptick Joarder <jrdr.linux at gmail.com>
Date:   Wed Jun 27 23:26:17 2018 -0700

    include/linux/dax.h: dax_iomap_fault() returns vm_fault_t
    
    Commit 1c8f422059ae ("mm: change return type to vm_fault_t") missed a
    conversion.  It's not a big problem at present because mainline is still
    using
    
    	typedef int vm_fault_t;
    
    Fixes: 1c8f422059ae ("mm: change return type to vm_fault_t")
    Link: http://lkml.kernel.org/r/20180620172046.GA27894@jordon-HP-15-Notebook-PC
    Signed-off-by: Souptick Joarder <jrdr.linux at gmail.com>
    Reviewed-by: Andrew Morton <akpm at linux-foundation.org>
    Cc: Matthew Wilcox <willy at infradead.org>
    Cc: Dan Williams <dan.j.williams at intel.com>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 124049decbb121ec32742c94fb5d9d6bed8f24d8
Author: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
Date:   Wed Jun 27 23:26:13 2018 -0700

    x86/e820: put !E820_TYPE_RAM regions into memblock.reserved
    
    There is a kernel panic that is triggered when reading /proc/kpageflags
    on the kernel booted with kernel parameter 'memmap=nn[KMG]!ss[KMG]':
    
      BUG: unable to handle kernel paging request at fffffffffffffffe
      PGD 9b20e067 P4D 9b20e067 PUD 9b210067 PMD 0
      Oops: 0000 [#1] SMP PTI
      CPU: 2 PID: 1728 Comm: page-types Not tainted 4.17.0-rc6-mm1-v4.17-rc6-180605-0816-00236-g2dfb086ef02c+ #160
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-2.fc28 04/01/2014
      RIP: 0010:stable_page_flags+0x27/0x3c0
      Code: 00 00 00 0f 1f 44 00 00 48 85 ff 0f 84 a0 03 00 00 41 54 55 49 89 fc 53 48 8b 57 08 48 8b 2f 48 8d 42 ff 83 e2 01 48 0f 44 c7 <48> 8b 00 f6 c4 01 0f 84 10 03 00 00 31 db 49 8b 54 24 08 4c 89 e7
      RSP: 0018:ffffbbd44111fde0 EFLAGS: 00010202
      RAX: fffffffffffffffe RBX: 00007fffffffeff9 RCX: 0000000000000000
      RDX: 0000000000000001 RSI: 0000000000000202 RDI: ffffed1182fff5c0
      RBP: ffffffffffffffff R08: 0000000000000001 R09: 0000000000000001
      R10: ffffbbd44111fed8 R11: 0000000000000000 R12: ffffed1182fff5c0
      R13: 00000000000bffd7 R14: 0000000002fff5c0 R15: ffffbbd44111ff10
      FS:  00007efc4335a500(0000) GS:ffff93a5bfc00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: fffffffffffffffe CR3: 00000000b2a58000 CR4: 00000000001406e0
      Call Trace:
       kpageflags_read+0xc7/0x120
       proc_reg_read+0x3c/0x60
       __vfs_read+0x36/0x170
       vfs_read+0x89/0x130
       ksys_pread64+0x71/0x90
       do_syscall_64+0x5b/0x160
       entry_SYSCALL_64_after_hwframe+0x44/0xa9
      RIP: 0033:0x7efc42e75e23
      Code: 09 00 ba 9f 01 00 00 e8 ab 81 f4 ff 66 2e 0f 1f 84 00 00 00 00 00 90 83 3d 29 0a 2d 00 00 75 13 49 89 ca b8 11 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 34 c3 48 83 ec 08 e8 db d3 01 00 48 89 04 24
    
    According to kernel bisection, this problem became visible due to commit
    f7f99100d8d9 ("mm: stop zeroing memory during allocation in vmemmap")
    which changes how struct pages are initialized.
    
    Memblock layout affects the pfn ranges covered by node/zone.  Consider
    that we have a VM with 2 NUMA nodes and each node has 4GB memory, and
    the default (no memmap= given) memblock layout is like below:
    
      MEMBLOCK configuration:
       memory size = 0x00000001fff75c00 reserved size = 0x000000000300c000
       memory.cnt  = 0x4
       memory[0x0]     [0x0000000000001000-0x000000000009efff], 0x000000000009e000 bytes on node 0 flags: 0x0
       memory[0x1]     [0x0000000000100000-0x00000000bffd6fff], 0x00000000bfed7000 bytes on node 0 flags: 0x0
       memory[0x2]     [0x0000000100000000-0x000000013fffffff], 0x0000000040000000 bytes on node 0 flags: 0x0
       memory[0x3]     [0x0000000140000000-0x000000023fffffff], 0x0000000100000000 bytes on node 1 flags: 0x0
       ...
    
    If you give memmap=1G!4G (so it just covers memory[0x2]),
    the range [0x100000000-0x13fffffff] is gone:
    
      MEMBLOCK configuration:
       memory size = 0x00000001bff75c00 reserved size = 0x000000000300c000
       memory.cnt  = 0x3
       memory[0x0]     [0x0000000000001000-0x000000000009efff], 0x000000000009e000 bytes on node 0 flags: 0x0
       memory[0x1]     [0x0000000000100000-0x00000000bffd6fff], 0x00000000bfed7000 bytes on node 0 flags: 0x0
       memory[0x2]     [0x0000000140000000-0x000000023fffffff], 0x0000000100000000 bytes on node 1 flags: 0x0
       ...
    
    This causes shrinking node 0's pfn range because it is calculated by the
    address range of memblock.memory.  So some of struct pages in the gap
    range are left uninitialized.
    
    We have a function zero_resv_unavail() which does zeroing the struct pages
    within the reserved unavailable range (i.e.  memblock.memory &&
    !memblock.reserved).  This patch utilizes it to cover all unavailable
    ranges by putting them into memblock.reserved.
    
    Link: http://lkml.kernel.org/r/20180615072947.GB23273@hori1.linux.bs1.fc.nec.co.jp
    Fixes: f7f99100d8d9 ("mm: stop zeroing memory during allocation in vmemmap")
    Signed-off-by: Naoya Horiguchi <n-horiguchi at ah.jp.nec.com>
    Tested-by: Oscar Salvador <osalvador at suse.de>
    Tested-by: "Herton R. Krzesinski" <herton at redhat.com>
    Acked-by: Michal Hocko <mhocko at suse.com>
    Reviewed-by: Pavel Tatashin <pasha.tatashin at oracle.com>
    Cc: Steven Sistare <steven.sistare at oracle.com>
    Cc: Daniel Jordan <daniel.m.jordan at oracle.com>
    Cc: Matthew Wilcox <willy at infradead.org>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit d50d82faa0c964e31f7a946ba8aba7c715ca7ab0
Author: Mikulas Patocka <mpatocka at redhat.com>
Date:   Wed Jun 27 23:26:09 2018 -0700

    slub: fix failure when we delete and create a slab cache
    
    In kernel 4.17 I removed some code from dm-bufio that did slab cache
    merging (commit 21bb13276768: "dm bufio: remove code that merges slab
    caches") - both slab and slub support merging caches with identical
    attributes, so dm-bufio now just calls kmem_cache_create and relies on
    implicit merging.
    
    This uncovered a bug in the slub subsystem - if we delete a cache and
    immediatelly create another cache with the same attributes, it fails
    because of duplicate filename in /sys/kernel/slab/.  The slub subsystem
    offloads freeing the cache to a workqueue - and if we create the new
    cache before the workqueue runs, it complains because of duplicate
    filename in sysfs.
    
    This patch fixes the bug by moving the call of kobject_del from
    sysfs_slab_remove_workfn to shutdown_cache.  kobject_del must be called
    while we hold slab_mutex - so that the sysfs entry is deleted before a
    cache with the same attributes could be created.
    
    Running device-mapper-test-suite with:
    
      dmtest run --suite thin-provisioning -n /commit_failure_causes_fallback/
    
    triggered:
    
      Buffer I/O error on dev dm-0, logical block 1572848, async page read
      device-mapper: thin: 253:1: metadata operation 'dm_pool_alloc_data_block' failed: error = -5
      device-mapper: thin: 253:1: aborting current metadata transaction
      sysfs: cannot create duplicate filename '/kernel/slab/:a-0000144'
      CPU: 2 PID: 1037 Comm: kworker/u48:1 Not tainted 4.17.0.snitm+ #25
      Hardware name: Supermicro SYS-1029P-WTR/X11DDW-L, BIOS 2.0a 12/06/2017
      Workqueue: dm-thin do_worker [dm_thin_pool]
      Call Trace:
       dump_stack+0x5a/0x73
       sysfs_warn_dup+0x58/0x70
       sysfs_create_dir_ns+0x77/0x80
       kobject_add_internal+0xba/0x2e0
       kobject_init_and_add+0x70/0xb0
       sysfs_slab_add+0xb1/0x250
       __kmem_cache_create+0x116/0x150
       create_cache+0xd9/0x1f0
       kmem_cache_create_usercopy+0x1c1/0x250
       kmem_cache_create+0x18/0x20
       dm_bufio_client_create+0x1ae/0x410 [dm_bufio]
       dm_block_manager_create+0x5e/0x90 [dm_persistent_data]
       __create_persistent_data_objects+0x38/0x940 [dm_thin_pool]
       dm_pool_abort_metadata+0x64/0x90 [dm_thin_pool]
       metadata_operation_failed+0x59/0x100 [dm_thin_pool]
       alloc_data_block.isra.53+0x86/0x180 [dm_thin_pool]
       process_cell+0x2a3/0x550 [dm_thin_pool]
       do_worker+0x28d/0x8f0 [dm_thin_pool]
       process_one_work+0x171/0x370
       worker_thread+0x49/0x3f0
       kthread+0xf8/0x130
       ret_from_fork+0x35/0x40
      kobject_add_internal failed for :a-0000144 with -EEXIST, don't try to register things with the same name in the same directory.
      kmem_cache_create(dm_bufio_buffer-16) failed with error -17
    
    Link: http://lkml.kernel.org/r/alpine.LRH.2.02.1806151817130.6333@file01.intranet.prod.int.rdu2.redhat.com
    Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
    Reported-by: Mike Snitzer <snitzer at redhat.com>
    Tested-by: Mike Snitzer <snitzer at redhat.com>
    Cc: Christoph Lameter <cl at linux.com>
    Cc: Pekka Enberg <penberg at kernel.org>
    Cc: David Rientjes <rientjes at google.com>
    Cc: Joonsoo Kim <iamjoonsoo.kim at lge.com>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 28557cc106e6d2aa8b8c5c7687ea9f8055ff3911
Author: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
Date:   Wed Jun 27 23:26:05 2018 -0700

    Revert mm/vmstat.c: fix vmstat_update() preemption BUG
    
    Revert commit c7f26ccfb2c3 ("mm/vmstat.c: fix vmstat_update() preemption
    BUG").  Steven saw a "using smp_processor_id() in preemptible" message
    and added a preempt_disable() section around it to keep it quiet.  This
    is not the right thing to do it does not fix the real problem.
    
    vmstat_update() is invoked by a kworker on a specific CPU.  This worker
    it bound to this CPU.  The name of the worker was "kworker/1:1" so it
    should have been a worker which was bound to CPU1.  A worker which can
    run on any CPU would have a `u' before the first digit.
    
    smp_processor_id() can be used in a preempt-enabled region as long as
    the task is bound to a single CPU which is the case here.  If it could
    run on an arbitrary CPU then this is the problem we have an should seek
    to resolve.
    
    Not only this smp_processor_id() must not be migrated to another CPU but
    also refresh_cpu_vm_stats() which might access wrong per-CPU variables.
    Not to mention that other code relies on the fact that such a worker
    runs on one specific CPU only.
    
    Therefore revert that commit and we should look instead what broke the
    affinity mask of the kworker.
    
    Link: http://lkml.kernel.org/r/20180504104451.20278-1-bigeasy@linutronix.de
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
    Cc: Steven J. Hill <steven.hill at cavium.com>
    Cc: Tejun Heo <htejun at gmail.com>
    Cc: Vlastimil Babka <vbabka at suse.cz>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 4bb6e96ab808f88d746343637f0cc2243b527da5
Author: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
Date:   Wed Jun 27 23:26:01 2018 -0700

    lib/percpu_ida.c: don't do alloc from per-CPU list if there is none
    
    In commit 804209d8a009 ("lib/percpu_ida.c: use _irqsave() instead of
    local_irq_save() + spin_lock") I inlined alloc_local_tag() and mixed up
    the >= check from percpu_ida_alloc() with the one in alloc_local_tag().
    
    Don't alloc from per-CPU freelist if ->nr_free is zero.
    
    Link: http://lkml.kernel.org/r/20180613075830.c3zeva52fuj6fxxv@linutronix.de
    Fixes: 804209d8a009 ("lib/percpu_ida.c: use _irqsave() instead of local_irq_save() + spin_lock")
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
    Reported-by: David Disseldorp <ddiss at suse.de>
    Tested-by: David Disseldorp <ddiss at suse.de>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: Nicholas Bellinger <nab at linux-iscsi.org>
    Cc: Shaohua Li <shli at fb.com>
    Cc: Kent Overstreet <kent.overstreet at gmail.com>
    Cc: Matthew Wilcox <willy at infradead.org>
    Cc: Jens Axboe <axboe at kernel.dk>
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a11e1d432b51f63ba698d044441284a661f01144
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Thu Jun 28 09:43:44 2018 -0700

    Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
    
    The poll() changes were not well thought out, and completely
    unexplained.  They also caused a huge performance regression, because
    "->poll()" was no longer a trivial file operation that just called down
    to the underlying file operations, but instead did at least two indirect
    calls.
    
    Indirect calls are sadly slow now with the Spectre mitigation, but the
    performance problem could at least be largely mitigated by changing the
    "->get_poll_head()" operation to just have a per-file-descriptor pointer
    to the poll head instead.  That gets rid of one of the new indirections.
    
    But that doesn't fix the new complexity that is completely unwarranted
    for the regular case.  The (undocumented) reason for the poll() changes
    was some alleged AIO poll race fixing, but we don't make the common case
    slower and more complex for some uncommon special case, so this all
    really needs way more explanations and most likely a fundamental
    redesign.
    
    [ This revert is a revert of about 30 different commits, not reverted
      individually because that would just be unnecessarily messy  - Linus ]
    
    Cc: Al Viro <viro at zeniv.linux.org.uk>
    Cc: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit a30449eb3ac908f26b4bc963a58039a5f2725ffa
Author: oscardagrach <ryan at edited.us>
Date:   Wed Jun 13 13:03:21 2018 -0500

    arm64: dts: hikey960: Define wl1837 power capabilities
    
    These properties are required for compatibility with runtime PM.
    Without these properties, MMC host controller will not be aware
    of power capabilities. When the wlcore driver attempts to power
    on the device, it will erroneously fail with -EACCES. This fixes
    a regression found here: https://lkml.org/lkml/2018/6/12/930
    
    Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power")
    Signed-off-by: Ryan Grachek <ryan at edited.us>
    Tested-by: John Stultz <john.stultz at linaro.org>
    Acked-by: John Stultz <john.stultz at linaro.org>
    Tested-by: Valentin Schneider <valentin.schneider at arm.com>
    Signed-off-by: Wei Xu <xuwei5 at hisilicon.com>

commit f904390ac8b2657b97ba3c1ad2b1be0822fa62ad
Author: oscardagrach <ryan at edited.us>
Date:   Wed Jun 13 10:13:05 2018 -0500

    arm64: dts: hikey: Define wl1835 power capabilities
    
    These properties are required for compatibility with runtime PM.
    Without these properties, MMC host controller will not be aware
    of power capabilities. When the wlcore driver attempts to power
    on the device, it will erroneously fail with -EACCES.
    
    Fixes: 60f36637bbbd ("wlcore: sdio: allow pm to handle sdio power")
    Signed-off-by: Ryan Grachek <ryan at edited.us>
    Tested-by: John Stultz <john.stultz at linaro.org>
    Acked-by: John Stultz <john.stultz at linaro.org>
    Signed-off-by: Wei Xu <xuwei5 at hisilicon.com>

commit 297ba57dcdec7ea37e702bcf1a577ac32a034e21
Author: Bart Van Assche <bart.vanassche at wdc.com>
Date:   Wed Jun 27 12:55:18 2018 -0700

    block: Fix cloning of requests with a special payload
    
    This patch avoids that removing a path controlled by the dm-mpath driver
    while mkfs is running triggers the following kernel bug:
    
        kernel BUG at block/blk-core.c:3347!
        invalid opcode: 0000 [#1] PREEMPT SMP KASAN
        CPU: 20 PID: 24369 Comm: mkfs.ext4 Not tainted 4.18.0-rc1-dbg+ #2
        RIP: 0010:blk_end_request_all+0x68/0x70
        Call Trace:
         <IRQ>
         dm_softirq_done+0x326/0x3d0 [dm_mod]
         blk_done_softirq+0x19b/0x1e0
         __do_softirq+0x128/0x60d
         irq_exit+0x100/0x110
         smp_call_function_single_interrupt+0x90/0x330
         call_function_single_interrupt+0xf/0x20
         </IRQ>
    
    Fixes: f9d03f96b988 ("block: improve handling of the magic discard payload")
    Reviewed-by: Ming Lei <ming.lei at redhat.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Acked-by: Mike Snitzer <snitzer at redhat.com>
    Signed-off-by: Bart Van Assche <bart.vanassche at wdc.com>
    Cc: Hannes Reinecke <hare at suse.com>
    Cc: Johannes Thumshirn <jthumshirn at suse.de>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Jens Axboe <axboe at kernel.dk>

commit 2765b3edc41bdf18960ca7e6b656fb933ac191d6
Author: Helge Deller <deller at gmx.de>
Date:   Thu Jun 28 17:41:58 2018 +0200

    parisc: Wire up io_pgetevents syscall
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 435d34c7a48de5e89047ef9c7dce6528831b258b
Author: Helge Deller <deller at gmx.de>
Date:   Fri Jun 15 22:38:22 2018 +0200

    parisc: Default to 4 SMP CPUs
    
    I haven't seen any real SMP machine yet with > 4 CPUs (we don't suport
    SuperDomes yet), so reducing the default maximum number of CPUs may speed up
    various bitop functions which depend on number of CPUs in the system.
    
    bload-o-meter on a typical 64-bit kernel shows:
    
    Data: add/remove: 0/0 grow/shrink: 0/10 up/down: 0/-3724 (-3724)
    Total: Before=1910404, After=1906680, chg -0.19%
    
    Code: add/remove: 0/2 grow/shrink: 42/38 up/down: 2320/-3500 (-1180)
    Total: Before=11053099, After=11051919, chg -0.01%
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 5e791d2e4785f9ec7da4a02b9e8d00dace9e6917
Author: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Date:   Tue May 29 22:38:01 2018 +0300

    parisc: Convert printk(KERN_LEVEL) to pr_lvl()
    
    Convert printk(KERN_LEVEL) type of calls to pr_lvl() macros.
    
    While here,
      - convert printk() to pr_info()
      - join back string literal to be on one line
      - use %*phN (note, it gives 1 byte more for sake of simplicity)
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 1c971f39e62222d567f179ccaa1a186f1c203b52
Author: Helge Deller <deller at gmx.de>
Date:   Fri Jun 15 22:33:44 2018 +0200

    parisc: Mark 16kB and 64kB page sizes BROKEN
    
    A full boot only succeeds with 4kB page sizes currently.
    For 16kB and 64kB page size support somone needs to fix the LBA PCI code
    at least, so mark those broken for now.
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 704e38303153c797d66c41bbe8325202f549b53c
Author: Helge Deller <deller at gmx.de>
Date:   Fri May 18 16:27:15 2018 +0200

    parisc: Drop struct sigaction from not exported header file
    
    This header file isn't exported to userspace, so there is no benefit in
    defining struct sigaction for userspace here.
    
    Signed-off-by: Helge Deller <deller at gmx.de>

commit 682630f00a219a1b0696abe9c0967e660068187b
Author: Sagi Grimberg <sagi at grimberg.me>
Date:   Mon Jun 25 20:58:17 2018 +0300

    nvme-rdma: fix possible double free of controller async event buffer
    
    If reconnect/reset failed where the controller async event buffer
    was freed, we might end up freeing it again as we call
    nvme_rdma_destroy_admin_queue again in the remove path. Given that
    the sequence is guaranteed to serialize by .ctrl_stop, we simply
    set ctrl->async_event_sqe.data to NULL and don't free it in future
    visits.
    
    Reported-by: Max Gurtovoy <maxg at mellanox.com>
    Tested-by: Max Gurtovoy <maxg at mellanox.com>
    Signed-off-by: Sagi Grimberg <sagi at grimberg.me>
    Signed-off-by: Christoph Hellwig <hch at lst.de>

commit 73d1c580f92b203f4c3a189ee98c917c65712f7e
Author: Jerry James <loganjerry at gmail.com>
Date:   Sat Jun 23 22:49:04 2018 +0200

    kconfig: loop boundary condition fix
    
    If buf[-1] just happens to hold the byte 0x0A, then nread can wrap around
    to (size_t)-1, leading to invalid memory accesses.
    
    This has caused segmentation faults when trying to build the latest
    kernel snapshots for i686 in Fedora:
    https://bugzilla.redhat.com/show_bug.cgi?id=1592374
    
    Signed-off-by: Jerry James <loganjerry at gmail.com>
    [alexpl at fedoraproject.org: reformatted patch for submission]
    Signed-off-by: Alexander Ploumistos <alexpl at fedoraproject.org>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

commit 8b9d27124094964b3c4f8985ba66355ac4d9e842
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date:   Sun Jun 24 01:41:51 2018 +0900

    kbuild: reword help of LD_DEAD_CODE_DATA_ELIMINATION
    
    Since commit 5d20ee3192a5 ("kbuild: Allow LD_DEAD_CODE_DATA_ELIMINATION
    to be selectable if enabled"), HAVE_LD_DEAD_CODE_DATA_ELIMINATION is
    supposed to be selected by architectures that are capable of this
    functionality.  LD_DEAD_CODE_DATA_ELIMINATION is now users' selection.
    Update the help message.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

commit ecd53ac2f2c6e42fe732d0aa282192cb6ad3faea
Author: Dirk Gouders <dirk at gouders.net>
Date:   Fri Jun 22 21:27:38 2018 +0200

    kconfig: handle P_SYMBOL in print_symbol()
    
    Each symbol has a property of type P_SYMBOL since commit
    59e89e3ddf85 (kconfig: save location of config symbols).
    Handle those properties in print_symbol().
    
    Further, place a pointer to print_symbol() in the comment above the
    list of known property type.
    
    Signed-off-by: Dirk Gouders <dirk at gouders.net>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

commit 4205c88eaf17b5f3ee30032d68df55cd5d9077a1
Author: Jose Abreu <Jose.Abreu at synopsys.com>
Date:   Wed Jun 27 15:03:20 2018 +0100

    net: stmmac: Set DMA buffer size in HW
    
    This is clearly a bug.
    
    We need to set the DMA buffer size in the HW otherwise corruption can
    occur when receiving packets.
    
    This is probably not occuring because of small MTU values and because HW
    has a default value internally (which currently is bigger than default
    buffer size).
    
    Signed-off-by: Jose Abreu <joabreu at synopsys.com>
    Cc: David S. Miller <davem at davemloft.net>
    Cc: Joao Pinto <jpinto at synopsys.com>
    Cc: Vitor Soares <soares at synopsys.com>
    Cc: Giuseppe Cavallaro <peppe.cavallaro at st.com>
    Cc: Alexandre Torgue <alexandre.torgue at st.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 24ac3a08e65845a098140ff270229dec4a897404
Author: Ursula Braun <ubraun at linux.ibm.com>
Date:   Wed Jun 27 17:59:50 2018 +0200

    net/smc: rebuild nonblocking connect
    
    The recent poll change may lead to stalls for non-blocking connecting
    SMC sockets, since sock_poll_wait is no longer performed on the
    internal CLC socket, but on the outer SMC socket.  kernel_connect() on
    the internal CLC socket returns with -EINPROGRESS, but the wake up
    logic does not work in all cases. If the internal CLC socket is still
    in state TCP_SYN_SENT when polled, sock_poll_wait() from sock_poll()
    does not sleep. It is supposed to sleep till the state of the internal
    CLC socket switches to TCP_ESTABLISHED.
    
    This problem triggered a redesign of the SMC nonblocking connect logic.
    This patch introduces a connect worker covering all connect steps
    followed by a wake up of socket waiters. It allows to get rid of all
    delays and locks in smc_poll().
    
    Fixes: c0129a061442 ("smc: convert to ->poll_mask")
    Signed-off-by: Ursula Braun <ubraun at linux.ibm.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 15ecbe94a45ef88491ca459b26efdd02f91edb6d
Author: Eric Dumazet <edumazet at google.com>
Date:   Wed Jun 27 08:47:21 2018 -0700

    tcp: add one more quick ack after after ECN events
    
    Larry Brakmo proposal ( https://patchwork.ozlabs.org/patch/935233/
    tcp: force cwnd at least 2 in tcp_cwnd_reduction) made us rethink
    about our recent patch removing ~16 quick acks after ECN events.
    
    tcp_enter_quickack_mode(sk, 1) makes sure one immediate ack is sent,
    but in the case the sender cwnd was lowered to 1, we do not want
    to have a delayed ack for the next packet we will receive.
    
    Fixes: 522040ea5fdd ("tcp: do not aggressively quick ack after ECN events")
    Signed-off-by: Eric Dumazet <edumazet at google.com>
    Reported-by: Neal Cardwell <ncardwell at google.com>
    Cc: Lawrence Brakmo <brakmo at fb.com>
    Acked-by: Neal Cardwell <ncardwell at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 8e75887d321d102200abf3a9fa621e2c10ff4cc5
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date:   Tue Jun 26 20:13:48 2018 -0700

    bpfilter: include bpfilter_umh in assembly instead of using objcopy
    
    What we want here is to embed a user-space program into the kernel.
    Instead of the complex ELF magic, let's simply wrap it in the assembly
    with the '.incbin' directive.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
    Signed-off-by: Alexei Starovoitov <ast at kernel.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 977c7114ebda2e746a114840d3a875e0cdb826fb
Author: Doron Roberts-Kedes <doronrk at fb.com>
Date:   Tue Jun 26 18:33:33 2018 -0700

    strparser: Remove early eaten to fix full tcp receive buffer stall
    
    On receving an incomplete message, the existing code stores the
    remaining length of the cloned skb in the early_eaten field instead of
    incrementing the value returned by __strp_recv. This defers invocation
    of sock_rfree for the current skb until the next invocation of
    __strp_recv, which returns early_eaten if early_eaten is non-zero.
    
    This behavior causes a stall when the current message occupies the very
    tail end of a massive skb, and strp_peek/need_bytes indicates that the
    remainder of the current message has yet to arrive on the socket. The
    TCP receive buffer is totally full, causing the TCP window to go to
    zero, so the remainder of the message will never arrive.
    
    Incrementing the value returned by __strp_recv by the amount otherwise
    stored in early_eaten prevents stalls of this nature.
    
    Signed-off-by: Doron Roberts-Kedes <doronrk at fb.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 21eff69aaaa0e766ca0ce445b477698dc6a9f55a
Author: Alexander Potapenko <glider at google.com>
Date:   Thu Jun 14 12:23:09 2018 +0200

    vt: prevent leaking uninitialized data to userspace via /dev/vcs*
    
    KMSAN reported an infoleak when reading from /dev/vcs*:
    
      BUG: KMSAN: kernel-infoleak in vcs_read+0x18ba/0x1cc0
      Call Trace:
      ...
       kmsan_copy_to_user+0x7a/0x160 mm/kmsan/kmsan.c:1253
       copy_to_user ./include/linux/uaccess.h:184
       vcs_read+0x18ba/0x1cc0 drivers/tty/vt/vc_screen.c:352
       __vfs_read+0x1b2/0x9d0 fs/read_write.c:416
       vfs_read+0x36c/0x6b0 fs/read_write.c:452
      ...
      Uninit was created at:
       kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279
       kmsan_internal_poison_shadow+0xb8/0x1b0 mm/kmsan/kmsan.c:189
       kmsan_kmalloc+0x94/0x100 mm/kmsan/kmsan.c:315
       __kmalloc+0x13a/0x350 mm/slub.c:3818
       kmalloc ./include/linux/slab.h:517
       vc_allocate+0x438/0x800 drivers/tty/vt/vt.c:787
       con_install+0x8c/0x640 drivers/tty/vt/vt.c:2880
       tty_driver_install_tty drivers/tty/tty_io.c:1224
       tty_init_dev+0x1b5/0x1020 drivers/tty/tty_io.c:1324
       tty_open_by_driver drivers/tty/tty_io.c:1959
       tty_open+0x17b4/0x2ed0 drivers/tty/tty_io.c:2007
       chrdev_open+0xc25/0xd90 fs/char_dev.c:417
       do_dentry_open+0xccc/0x1440 fs/open.c:794
       vfs_open+0x1b6/0x2f0 fs/open.c:908
      ...
      Bytes 0-79 of 240 are uninitialized
    
    Consistently allocating |vc_screenbuf| with kzalloc() fixes the problem
    
    Reported-by: syzbot+17a8efdf800000 at syzkaller.appspotmail.com
    Signed-off-by: Alexander Potapenko <glider at google.com>
    Cc: stable <stable at vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit bc6cf3669d22371f573ab0305b3abf13887c0786
Author: Johan Hovold <johan at kernel.org>
Date:   Wed Jun 13 17:08:59 2018 +0200

    serdev: fix memleak on module unload
    
    Make sure to free all resources associated with the ida on module
    exit.
    
    Fixes: cd6484e1830b ("serdev: Introduce new bus for serial attached devices")
    Cc: stable <stable at vger.kernel.org>	# 4.11
    Signed-off-by: Johan Hovold <johan at kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 20dcff436e9fcd2e106b0ccc48a52206bc176d70
Author: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Date:   Wed Jun 6 21:00:41 2018 +0300

    serial: 8250_pci: Remove stalled entries in blacklist
    
    After the commit
    
      7d8905d06405 ("serial: 8250_pci: Enable device after we check black list")
    
    pure serial multi-port cards, such as CH355, got blacklisted and thus
    not being enumerated anymore. Previously, it seems, blacklisting them
    was on purpose to shut up pciserial_init_one() about record duplication.
    
    So, remove the entries from blacklist in order to get cards enumerated.
    
    Fixes: 7d8905d06405 ("serial: 8250_pci: Enable device after we check black list")
    Reported-by: Matt Turner <mattst88 at gmail.com>
    Cc: Sergej Pupykin <ml at sergej.pp.ru>
    Cc: Alexandr Petrenko <petrenkoas83 at gmail.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
    Reviewed-and-Tested-by: Matt Turner <mattst88 at gmail.com>
    Cc: stable <stable at vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit ebec3f8f5271139df618ebdf8427e24ba102ba94
Author: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
Date:   Sat May 26 09:53:14 2018 +0900

    n_tty: Access echo_* variables carefully.
    
    syzbot is reporting stalls at __process_echoes() [1]. This is because
    since ldata->echo_commit < ldata->echo_tail becomes true for some reason,
    the discard loop is serving as almost infinite loop. This patch tries to
    avoid falling into ldata->echo_commit < ldata->echo_tail situation by
    making access to echo_* variables more carefully.
    
    Since reset_buffer_flags() is called without output_lock held, it should
    not touch echo_* variables. And omit a call to reset_buffer_flags() from
    n_tty_open() by using vzalloc().
    
    Since add_echo_byte() is called without output_lock held, it needs memory
    barrier between storing into echo_buf[] and incrementing echo_head counter.
    echo_buf() needs corresponding memory barrier before reading echo_buf[].
    Lack of handling the possibility of not-yet-stored multi-byte operation
    might be the reason of falling into ldata->echo_commit < ldata->echo_tail
    situation, for if I do WARN_ON(ldata->echo_commit == tail + 1) prior to
    echo_buf(ldata, tail + 1), the WARN_ON() fires.
    
    Also, explicitly masking with buffer for the former "while" loop, and
    use ldata->echo_commit > tail for the latter "while" loop.
    
    [1] https://syzkaller.appspot.com/bug?id=17f23b094cd80df750e5b0f8982c521ee6bcbf40
    
    Signed-off-by: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
    Reported-by: syzbot <syzbot+108696293d7a21ab688f at syzkaller.appspotmail.com>
    Cc: Peter Hurley <peter at hurleysoftware.com>
    Cc: stable <stable at vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 3d63b7e4ae0dc5e02d28ddd2fa1f945defc68d81
Author: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
Date:   Sat May 26 09:53:13 2018 +0900

    n_tty: Fix stall at n_tty_receive_char_special().
    
    syzbot is reporting stalls at n_tty_receive_char_special() [1]. This is
    because comparison is not working as expected since ldata->read_head can
    change at any moment. Mitigate this by explicitly masking with buffer size
    when checking condition for "while" loops.
    
    [1] https://syzkaller.appspot.com/bug?id=3d7481a346958d9469bebbeb0537d5f056bdd6e8
    
    Signed-off-by: Tetsuo Handa <penguin-kernel at I-love.SAKURA.ne.jp>
    Reported-by: syzbot <syzbot+18df353d7540aa6b5467 at syzkaller.appspotmail.com>
    Fixes: bc5a5e3f45d04784 ("n_tty: Don't wrap input buffer indices at buffer size")
    Cc: stable <stable at vger.kernel.org>
    Cc: Peter Hurley <peter at hurleysoftware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 210d0797c97d0e8f3b1a932a0dc143f4c57008a3
Author: Christoph Hellwig <hch at lst.de>
Date:   Thu Jun 28 13:59:25 2018 +0200

    swiotlb: export swiotlb_dma_ops
    
    For architectures that do not use per-device dma ops we need to export
    the dma_map_ops structure returned from get_arch_dma_ops().
    
    Fixes: 10314e09 ("riscv: add swiotlb support")
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reported-by: Andreas Schwab <schwab at suse.de>

commit 226e2d2d31b1606c5fa8fb285b11e38badbad259
Merge: 90f26cc6bb90 24160628a34a
Author: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Date:   Thu Jun 28 19:19:10 2018 +0900

    Merge tag 'usb-serial-4.18-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus
    
    Johan writes:
    
    USB-serial fixes for v4.18-rc3
    
    Here are bunch of new device ids for cp210x.
    
    All have been in linux-next with no reported issues.
    
    Signed-off-by: Johan Hovold <johan at kernel.org>

commit e4e7ede739f7fb468686dfffa2d1e35dca35bacd
Author: Filipe Manana <fdmanana at suse.com>
Date:   Wed Jun 27 00:43:15 2018 +0100

    Btrfs: fix mount failure when qgroup rescan is in progress
    
    If a power failure happens while the qgroup rescan kthread is running,
    the next mount operation will always fail. This is because of a recent
    regression that makes qgroup_rescan_init() incorrectly return -EINVAL
    when we are mounting the filesystem (through btrfs_read_qgroup_config()).
    This causes the -EINVAL error to be returned regardless of any qgroup
    flags being set instead of returning the error only when neither of
    the flags BTRFS_QGROUP_STATUS_FLAG_RESCAN nor BTRFS_QGROUP_STATUS_FLAG_ON
    are set.
    
    A test case for fstests follows up soon.
    
    Fixes: 9593bf49675e ("btrfs: qgroup: show more meaningful qgroup_rescan_init error message")
    Signed-off-by: Filipe Manana <fdmanana at suse.com>
    Reviewed-by: Qu Wenruo <wqu at suse.com>
    Signed-off-by: David Sterba <dsterba at suse.com>

commit 717beb96d969561cff53aad2f09547db20ee6ffd
Author: Chris Mason <clm at fb.com>
Date:   Mon Jun 25 10:03:41 2018 -0700

    Btrfs: fix regression in btrfs_page_mkwrite() from vm_fault_t conversion
    
    The vm_fault_t conversion commit introduced a ret2 variable for tracking
    the integer return values from internal btrfs functions.  It was
    sometimes returning VM_FAULT_LOCKED for pages that were actually invalid
    and had been removed from the radix.  Something like this:
    
        ret2 = btrfs_delalloc_reserve_space() // returns zero on success
    
        lock_page(page)
        if (page->mapping != inode->i_mapping)
    	goto out_unlock;
    
    ...
    
    out_unlock:
        if (!ret2) {
    	    ...
    	    return VM_FAULT_LOCKED;
        }
    
    This ends up triggering this WARNING in btrfs_destroy_inode()
        WARN_ON(BTRFS_I(inode)->block_rsv.size);
    
    xfstests generic/095 was able to reliably reproduce the errors.
    
    Since out_unlock: is only used for errors, this fix moves it below the
    if (!ret2) check we use to return VM_FAULT_LOCKED for success.
    
    Fixes: a528a2415087 (btrfs: change return type of btrfs_page_mkwrite to vm_fault_t)
    Signed-off-by: Chris Mason <clm at fb.com>
    Reviewed-by: David Sterba <dsterba at suse.com>
    Signed-off-by: David Sterba <dsterba at suse.com>

commit 6f7de19ed3d4d3526ca5eca428009f97cf969c2f
Author: Qu Wenruo <wqu at suse.com>
Date:   Wed Jun 27 18:19:55 2018 +0800

    btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf
    
    Commit ff3d27a048d9 ("btrfs: qgroup: Finish rescan when hit the last leaf
    of extent tree") added a new exit for rescan finish.
    
    However after finishing quota rescan, we set
    fs_info->qgroup_rescan_progress to (u64)-1 before we exit through the
    original exit path.
    While we missed that assignment of (u64)-1 in the new exit path.
    
    The end result is, the quota status item doesn't have the same value.
    (-1 vs the last bytenr + 1)
    Although it doesn't affect quota accounting, it's still better to keep
    the original behavior.
    
    Reported-by: Misono Tomohiro <misono.tomohiro at jp.fujitsu.com>
    Fixes: ff3d27a048d9 ("btrfs: qgroup: Finish rescan when hit the last leaf of extent tree")
    Signed-off-by: Qu Wenruo <wqu at suse.com>
    Reviewed-by: Misono Tomohiro <misono.tomohiro at jp.fujitsu.com>
    Signed-off-by: David Sterba <dsterba at suse.com>

commit 04c6faa17558b1c044524e24d86adf1400f2017f
Merge: 933e671f8cff d412c31dae05
Author: David S. Miller <davem at davemloft.net>
Date:   Thu Jun 28 16:21:35 2018 +0900

    Merge tag 'mlx5-fixes-2018-06-26' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux
    
    Saeed Mahameed says:
    
    ====================
    mlx5-fixes-2018-06-26
    
    Fixes for mlx5 core and netdev driver:
    
    Two fixes from Alex Vesker to address command interface issues
     - Race in command interface polling mode
     - Incorrect raw command length parsing
    
    From Shay Agroskin, Fix wrong size allocation for QoS ETC TC regitster.
    
    From Or Gerlitz and Eli Cohin, Address backward compatability issues for when
    Eswitch capability is not advertised for the PF host driver
        - Fix required capability for manipulating MPFS
        - E-Switch, Disallow vlan/spoofcheck setup if not being esw manager
        - Avoid dealing with vport IB/eth representors if not being e-switch manager
        - E-Switch, Avoid setup attempt if not being e-switch manager
        - Don't attempt to dereference the ppriv struct if not being eswitch manager
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 933e671f8cff87552d4d26cf3874633b11ae78ba
Author: Shuah Khan <shuah at kernel.org>
Date:   Tue Jun 26 12:22:28 2018 -0600

    selftests/net: Fix permissions for fib_tests.sh
    
    fib_tests.sh became non-executable at some point. This is
    what happens:
      selftests: net: fib_tests.sh: Warning: file fib_tests.sh is
      not executable, correct this.
      not ok 1..11 selftests: net: fib_tests.sh [FAIL]
    
    Fixes: d69faad76584 ("selftests: fib_tests: Add prefix route tests with metric")
    
    Signed-off-by: Daniel Díaz <daniel.diaz at linaro.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c4c2b7644cc9a41f17a8cc8904efe3f66ae4c7ed
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date:   Fri Jun 22 14:15:47 2018 +0300

    dmaengine: k3dma: Off by one in k3_of_dma_simple_xlate()
    
    The d->chans[] array has d->dma_requests elements so the > should be
    >= here.
    
    Fixes: 8e6152bc660e ("dmaengine: Add hisilicon k3 DMA engine driver")
    Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
    Signed-off-by: Vinod Koul <vkoul at kernel.org>

commit e3f329c600033f011a978a8bc4ddb1e2e94c4f4d
Author: Marek Szyprowski <m.szyprowski at samsung.com>
Date:   Tue Jun 19 15:20:50 2018 +0200

    dmaengine: pl330: report BURST residue granularity
    
    The reported residue is already calculated in BURST unit granularity, so
    advertise this capability properly to other devices in the system.
    
    Fixes: aee4d1fac887 ("dmaengine: pl330: improve pl330_tx_status() function")
    Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Signed-off-by: Vinod Koul <vkoul at kernel.org>

commit 12bd45b3a9fd6988444fdeb998750ee8ffaaf11b
Merge: fec9d3b1dc4c 2471c75efed3
Author: David S. Miller <davem at davemloft.net>
Date:   Thu Jun 28 14:27:52 2018 +0900

    Merge branch 'xdp-flush'
    
    Jesper Dangaard Brouer says:
    
    ====================
    xdp: don't mix XDP_TX and XDP_REDIRECT flush ops
    
    Fix driver logic that are combining XDP_TX flush and XDP_REDIRECT map
    flushing.  These are two different XDP xmit modes, and it is clearly
    wrong to invoke both types of flush operations when only one of the
    XDP xmit modes is used.
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2471c75efed32529698c26da499954f0253cb401
Author: Jesper Dangaard Brouer <brouer at redhat.com>
Date:   Tue Jun 26 17:39:58 2018 +0200

    virtio_net: split XDP_TX kick and XDP_REDIRECT map flushing
    
    The driver was combining XDP_TX virtqueue_kick and XDP_REDIRECT
    map flushing (xdp_do_flush_map).  This is suboptimal, these two
    flush operations should be kept separate.
    
    The suboptimal behavior was introduced in commit 9267c430c6b6
    ("virtio-net: add missing virtqueue kick when flushing packets").
    
    Fixes: 9267c430c6b6 ("virtio-net: add missing virtqueue kick when flushing packets")
    Signed-off-by: Jesper Dangaard Brouer <brouer at redhat.com>
    Acked-by: Jason Wang <jasowang at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2e6893123830d04edc366e0ce59d46e622e140c1
Author: Jesper Dangaard Brouer <brouer at redhat.com>
Date:   Tue Jun 26 17:39:53 2018 +0200

    i40e: split XDP_TX tail and XDP_REDIRECT map flushing
    
    The driver was combining the XDP_TX tail flush and XDP_REDIRECT
    map flushing (xdp_do_flush_map).  This is suboptimal, these two
    flush operations should be kept separate.
    
    It looks like the mistake was copy-pasted from ixgbe.
    
    Fixes: d9314c474d4f ("i40e: add support for XDP_REDIRECT")
    Signed-off-by: Jesper Dangaard Brouer <brouer at redhat.com>
    Acked-by: Björn Töpel <bjorn.topel at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ad088ec480768850db019a5cc543685e868a513d
Author: Jesper Dangaard Brouer <brouer at redhat.com>
Date:   Tue Jun 26 17:39:48 2018 +0200

    ixgbe: split XDP_TX tail and XDP_REDIRECT map flushing
    
    The driver was combining the XDP_TX tail flush and XDP_REDIRECT
    map flushing (xdp_do_flush_map).  This is suboptimal, these two
    flush operations should be kept separate.
    
    Fixes: 11393cc9b9be ("xdp: Add batching support to redirect map")
    Signed-off-by: Jesper Dangaard Brouer <brouer at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit fec9d3b1dc4c481f20f5d2f5aef3ad1cb7504186
Author: Alexandre Belloni <alexandre.belloni at bootlin.com>
Date:   Tue Jun 26 10:44:01 2018 +0200

    net: macb: initialize bp->queues[0].bp for at91rm9200
    
    The macb driver currently crashes on at91rm9200 with the following trace:
    
    Unable to handle kernel NULL pointer dereference at virtual address 00000014
    [...]
    [<c031da44>] (macb_rx_desc) from [<c031f2bc>] (at91ether_open+0x2e8/0x3f8)
    [<c031f2bc>] (at91ether_open) from [<c041e8d8>] (__dev_open+0x120/0x13c)
    [<c041e8d8>] (__dev_open) from [<c041ec08>] (__dev_change_flags+0x17c/0x1a8)
    [<c041ec08>] (__dev_change_flags) from [<c041ec4c>] (dev_change_flags+0x18/0x4c)
    [<c041ec4c>] (dev_change_flags) from [<c07a5f4c>] (ip_auto_config+0x220/0x10b0)
    [<c07a5f4c>] (ip_auto_config) from [<c000a4fc>] (do_one_initcall+0x78/0x18c)
    [<c000a4fc>] (do_one_initcall) from [<c0783e50>] (kernel_init_freeable+0x184/0x1c4)
    [<c0783e50>] (kernel_init_freeable) from [<c0574d70>] (kernel_init+0x8/0xe8)
    [<c0574d70>] (kernel_init) from [<c00090e0>] (ret_from_fork+0x14/0x34)
    
    Solve that by initializing bp->queues[0].bp in at91ether_init (as is done
    in macb_init).
    
    Fixes: ae1f2a56d273 ("net: macb: Added support for many RX queues")
    Signed-off-by: Alexandre Belloni <alexandre.belloni at bootlin.com>
    Acked-by: Nicolas Ferre <nicolas.ferre at microchip.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 88e85a7daf8e21f2d6cb054374d480c540725cde
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date:   Tue Jun 26 12:55:35 2018 +0900

    bpfilter: check compiler capability in Kconfig
    
    With the brand-new syntax extension of Kconfig, we can directly
    check the compiler capability in the configuration phase.
    
    If the cc-can-link.sh fails, the BPFILTER_UMH is automatically
    hidden by the dependency.
    
    I also deleted 'default n', which is no-op.
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
    Acked-by: Daniel Borkmann <daniel at iogearbox.net>
    Acked-by: Alexei Starovoitov <ast at kernel.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 82be2ab159a3a0ae4024b946a31f12b221f6c8ff
Author: Wei Yongjun <weiyongjun1 at huawei.com>
Date:   Wed Jun 27 17:47:37 2018 +0800

    hinic: reset irq affinity before freeing irq
    
    Following warning is seen when rmmod hinic. This is because affinity
    value is not reset before calling free_irq(). This patch fixes it.
    
    [   55.181232] WARNING: CPU: 38 PID: 19589 at kernel/irq/manage.c:1608
    __free_irq+0x2aa/0x2c0
    
    Fixes: 352f58b0d9f2 ("net-next/hinic: Set Rxq irq to specific cpu for NUMA")
    Signed-off-by: Wei Yongjun <weiyongjun1 at huawei.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 09014418391cab8b11427d19d8c968b594f56925
Merge: 2d2595719a97 b36e4523d4d5
Author: David S. Miller <davem at davemloft.net>
Date:   Thu Jun 28 13:32:44 2018 +0900

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
    
    Pablo Neira Ayuso says:
    
    ====================
    Netfilter fixes for net
    
    The following patchset contains Netfilter fixes for your net tree:
    
    1) Missing netlink attribute validation in nf_queue, uncovered by KASAN,
       from Eric Dumazet.
    
    2) Use pointer to sysctl table, save us 192 bytes of memory per netns.
       Also from Eric.
    
    3) Possible use-after-free when removing conntrack helper modules due
       to missing synchronize RCU call. From Taehee Yoo.
    
    4) Fix corner case in systcl writes to nf_log that lead to appending
       data to uninitialized buffer, from Jann Horn.
    
    5) Jann Horn says we may indefinitely block other users of nf_log_mutex
       if a userspace access in proc_dostring() blocked e.g. due to a
       userfaultfd.
    
    6) Fix garbage collection race for unconfirmed conntrack entries,
       from Florian Westphal.
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 877f919e192a09e77962a13d7165783027dee5fd
Author: Chunyu Hu <chuhu at redhat.com>
Date:   Sun Jun 10 03:51:24 2018 +0800

    proc: add proc_seq_release
    
    kmemleak reported some memory leak on reading proc files. After adding
    some debug lines, find that proc_seq_fops is using seq_release as
    release handler, which won't handle the free of 'private' field of
    seq_file, while in fact the open handler proc_seq_open could create
    the private data with __seq_open_private when state_size is greater
    than zero. So after reading files created with proc_create_seq_private,
    such as /proc/timer_list and /proc/vmallocinfo, the private mem of a
    seq_file is not freed. Fix it by adding the paired proc_seq_release
    as the default release handler of proc_seq_ops instead of seq_release.
    
    Fixes: 44414d82cfe0 ("proc: introduce proc_create_seq_private")
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    CC: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Chunyu Hu <chuhu at redhat.com>
    Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>

commit 1c38f4afd5d40234b67635b3c608a4093be04b96
Author: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
Date:   Sat Jun 23 17:00:56 2018 +0200

    ARM64: dts: meson-gxl: fix Mali GPU compatible string
    
    meson-gxl-mali.dtsi is only used on GXL SoCs. Thus it should use the GXL
    specific compatible string instead of the GXBB one.
    For now this is purely cosmetic since the (out-of-tree) lima driver for
    this GPU currently uses the "arm,mali-450" match instead of the SoC
    specific one. However, update the .dts to match the documentation since
    this driver behavior might change in the future.
    
    Signed-off-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
    Acked-by: Neil Armstrong <narmstrong at baylibre.com>
    Signed-off-by: Kevin Hilman <khilman at baylibre.com>

commit 6d28d577510f1a51f7ffbe830fdbf42077e0058b
Author: Jerome Brunet <jbrunet at baylibre.com>
Date:   Mon Jun 25 14:56:53 2018 +0200

    ARM64: dts: meson-axg: fix ethernet stability issue
    
    Like the odroid-c2 and wetek, the s400 uses the RTL8211F and seems to
    suffer from the kind of stability issue.
    
    Doing an iperf3 download test, we can see a significant number of LPI
    interrupts on the tx path. After a short while (5 to 15 seconds), the
    network connection dies. If using rootfs over NFS, the connection may
    also break during the boot sequence.
    
    We still don't have a real explanation for this problem so let's disable
    EEE once again.
    
    Fixes: f6f6ac914b82 ("ARM64: dts: meson-axg: enable ethernet for A113D S400 board")
    Signed-off-by: Jerome Brunet <jbrunet at baylibre.com>
    Reviewed-by: Neil Armstrong <narmstrong at baylibre.com>
    Signed-off-by: Kevin Hilman <khilman at baylibre.com>

commit 48e21ded0432ee1e2359d4143d7a6925cefee1b5
Author: Kevin Hilman <khilman at baylibre.com>
Date:   Thu Jun 7 13:51:01 2018 -0700

    ARM64: dts: meson-gx: fix ATF reserved memory region
    
    Vendor firmware/uboot has different reserved regions depending on
    firmware version, but current codebase reserves the same regions on
    GXL and GXBB, so move the additional reserved memory region to common
    .dtsi.
    
    Found when putting a recent vendor u-boot on meson-gxbb-p200.
    
    Suggested-by: Neil Armstrong <narmstrong at baylibre.com>
    Cc: stable at vger.kernel.org
    Signed-off-by: Kevin Hilman <khilman at baylibre.com>

commit d511b3e4087eedbe11c7496c396432b8b7c2d7d9
Author: Neil Armstrong <narmstrong at baylibre.com>
Date:   Tue Jun 5 10:52:23 2018 +0200

    ARM64: dts: meson-gxl-s905x-p212: Add phy-supply for usb0
    
    Like LibreTech-CC, the USB0 needs the 5V regulator to be enabled to power the
    devices on the P212 Reference Design based boards.
    
    Fixes: b9f07cb4f41f ("ARM64: dts: meson-gxl-s905x-p212: enable the USB controller")
    Signed-off-by: Neil Armstrong <narmstrong at baylibre.com>
    Acked-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
    Signed-off-by: Kevin Hilman <khilman at baylibre.com>

commit e490520c902e06e837e07948f026e7949bb16007
Author: Kevin Hilman <khilman at baylibre.com>
Date:   Mon Jun 4 15:23:09 2018 -0700

    ARM64: dts: meson: fix register ranges for SD/eMMC
    
    Based on updated information from Amlogic, correct the register range
    for the SD/eMMC blocks to the right size.
    
    Reported-by: Yixun Lan <yixun.lan at amlogic.com>
    Tested-by: Yixun Lan <yixun.lan at amlogic.com>
    Signed-off-by: Kevin Hilman <khilman at baylibre.com>

commit d5b4885b1dff72ac670b518cfeaac719d768bd4d
Author: Jerome Brunet <jbrunet at baylibre.com>
Date:   Thu Apr 26 12:50:46 2018 +0200

    ARM64: dts: meson: disable sd-uhs modes on the libretech-cc
    
    There is a problem with the sd-uhs mode when doing a soft reboot.
    Switching back from 1.8v to 3.3v messes with the card, which no longer
    respond (timeout errors). According to the specification, we should
    perform a card reset (power cycling the card) but this is something we
    cannot control on this design.
    
    Then the only solution to restore the communication with the card is an
    "unplug-plug" which is not acceptable
    
    Until we find a solution, if any, disable the sd-uhs modes on this design.
    For the people using uhs at the moment, there will a performance drop as
    a result.
    
    Fixes: 3cde63ebc85c ("ARM64: dts: meson-gxl: libretech-cc: enable high speed modes")
    Signed-off-by: Jerome Brunet <jbrunet at baylibre.com>
    Cc: stable at vger.kernel.org
    Signed-off-by: Kevin Hilman <khilman at baylibre.com>

commit f57494321cbf5b1e7769b6135407d2995a369e28
Merge: 0e49740c35c1 d8cb5e423789
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jun 27 12:21:06 2018 -0700

    Merge tag 'xfs-4.18-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
    
    Pull xfs fixes from Darrick Wong:
     "Here are some patches for 4.18 to fix regressions, accounting
      problems, overflow problems, and to strengthen metadata validation to
      prevent corruption.
    
      This series has been run through a full xfstests run over the weekend
      and through a quick xfstests run against this morning's master, with
      no major failures reported.
    
      Changes since last update:
    
       - more metadata validation strengthening to prevent crashes.
    
       - fix extent offset overflow problem when insert_range on a 512b
         block fs
    
       - fix some off-by-one errors in the realtime fsmap code
    
       - fix some math errors in the default resblks calculation when free
         space is low
    
       - fix a problem where stale page contents are exposed via mmap read
         after a zero_range at eof
    
       - fix accounting problems with per-ag reservations causing statfs
         reports to vary incorrectly"
    
    * tag 'xfs-4.18-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
      xfs: fix fdblocks accounting w/ RMAPBT per-AG reservation
      xfs: ensure post-EOF zeroing happens after zeroing part of a file
      xfs: fix off-by-one error in xfs_rtalloc_query_range
      xfs: fix uninitialized field in rtbitmap fsmap backend
      xfs: recheck reflink state after grabbing ILOCK_SHARED for a write
      xfs: don't allow insert-range to shift extents past the maximum offset
      xfs: don't trip over negative free space in xfs_reserve_blocks
      xfs: allow empty transactions while frozen
      xfs: xfs_iflush_abort() can be called twice on cluster writeback failure
      xfs: More robust inode extent count validation
      xfs: simplify xfs_bmap_punch_delalloc_range

commit 0e49740c35c1d8f0c8fd84e9387b6a1007228d6f
Author: Timur Tabi <timur at kernel.org>
Date:   Wed Jun 27 13:07:07 2018 -0500

    MAINTAINERS: Timur has a kernel.org address
    
    Timur Tabi no longer works for Qualcomm, and he now has a kernel.org
    email address, so update MAINTAINERS accordingly.
    
    Signed-off-by: Timur Tabi <timur at kernel.org>
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit c34cc2f26a4a4c434f36746710f7aff800d8db57
Merge: 12f8c553a503 176cbf5f62e7
Author: Stephen Boyd <sboyd at kernel.org>
Date:   Wed Jun 27 11:01:29 2018 -0700

    Merge tag 'clk-davinci-fixes-4.18' of https://github.com/dlech/linux into clk-fixes
    
    Pull davinci clk fixes for 4.18 from David Lechner:
    
    Here are a couple of typo fixes for clk-davinci for 4.18.
    
    * tag 'clk-davinci-fixes-4.18' of https://github.com/dlech/linux:
      clk: davinci: fix a typo (which leads to build failures)
      clk: davinci: cfgchip: testing the wrong variable

commit 24fe1b0efad4fcdd32ce46cffeab297f22581707
Author: Will Deacon <will.deacon at arm.com>
Date:   Fri Jun 22 09:31:16 2018 +0100

    arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}
    
    Commit 7f0b1bf04511 ("arm64: Fix barriers used for page table modifications")
    fixed a reported issue with fixmap page-table entries not being visible
    to the walker due to a missing DSB instruction. At the same time, it added
    ISB instructions to the arm64 set_{pte,pmd,pud} functions, which are not
    required by the architecture and make little sense in isolation.
    
    Remove the redundant ISBs.
    
    Acked-by: Catalin Marinas <catalin.marinas at arm.com>
    Acked-by: Mark Rutland <mark.rutland at arm.com>
    Signed-off-by: Will Deacon <will.deacon at arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>

commit 429388682dc266e7a693f9c27e3aabd341d55343
Author: Will Deacon <will.deacon at arm.com>
Date:   Fri Jun 22 09:31:15 2018 +0100

    arm64: Avoid flush_icache_range() in alternatives patching code
    
    The implementation of flush_icache_range() includes instruction sequences
    which are themselves patched at runtime, so it is not safe to call from
    the patching framework.
    
    This patch reworks the alternatives cache-flushing code so that it rolls
    its own internal D-cache maintenance using DC CIVAC before invalidating
    the entire I-cache after all alternatives have been applied at boot.
    Modules don't cause any issues, since flush_icache_range() is safe to
    call by the time they are loaded.
    
    Acked-by: Mark Rutland <mark.rutland at arm.com>
    Reported-by: Rohit Khanna <rokhanna at nvidia.com>
    Cc: Alexander Van Brunt <avanbrunt at nvidia.com>
    Signed-off-by: Will Deacon <will.deacon at arm.com>
    Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>

commit 59ec39fe38264d9f61d9ea2dbe32cb681069b54d
Merge: f8a78bdb5116 662d855c66c0
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jun 27 09:56:23 2018 -0700

    Merge tag 'mips_fixes_4.18_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
    
    Pull MIPS build fix from Paul Burton:
     "A single build fix for 4.18:
    
      Adjust rseq_signal_deliver() & rseq_handle_notify_resume() calls to
      add the ksig argument introduced in v4.18-rc2, around the same time as
      the unadjusted MIPS rseq support"
    
    * tag 'mips_fixes_4.18_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
      MIPS: Add ksig argument to rseq_{signal_deliver,handle_notify_resume}

commit f8a78bdb5116a703e583b995b2d2211d5db634df
Merge: 22c3b1521aed 86676c4685f7
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jun 27 09:53:53 2018 -0700

    Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
    
    Pull ARM SoC fixes from Olof Johansson:
     "A handful of fixes, nothing really concerning and most touching
      devicetree files for various platforms.
    
      I also regenerated the shared multiplatform defconfigs; they have
      drifted quite a bit due to Kconfig changes and reordering, and several
      platform maintainers tried doing the same which resulted in a lot of
      conflict pain -- this way we get everybody onto the same base for next
      merge window"
    
    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (31 commits)
      arm64: dts: uniphier: fix widget name of headphone for LD11/LD20 boards
      ARM: dts: Fix SPI node for Arria10
      arm64: dts: stratix10: Fix SPI nodes for Stratix10
      qcom: cmd-db: enforce CONFIG_OF_RESERVED_MEM dependency
      ARM: Always build secure_cntvoff.S on ARM V7 to fix shmobile !SMP build
      ARM: multi_v7_defconfig: renormalize based on recent additions
      arm64: defconfig: renormalize based on recent additions
      arm64: dts: msm8916: fix Coresight ETF graph connections
      arm64: dts: apq8096-db820c: disable uart0 by default
      ARM: dts: imx6sx: fix irq for pcie bridge
      arm64: dts: Stingray: Fix I2C controller interrupt type
      arm64: dts: ns2: Fix PCIe controller interrupt type
      arm64: dts: ns2: Fix I2C controller interrupt type
      arm64: dts: specify 1.8V EMMC capabilities for bcm958742t
      arm64: dts: specify 1.8V EMMC capabilities for bcm958742k
      ARM: dts: Cygnus: Fix PCIe controller interrupt type
      ARM: dts: Cygnus: Fix I2C controller interrupt type
      ARM: dts: BCM5301x: Fix i2c controller interrupt type
      ARM: dts: HR2: Fix interrupt types for i2c and PCIe
      ARM: dts: NSP: Fix PCIe controllers interrupt types
      ...

commit 22c3b1521aedb4732a9dba7d4d861b7fbb4203f6
Merge: debd52a05061 45df561a7ae2
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jun 27 09:49:30 2018 -0700

    Merge tag 'microblaze-v4.18-rc3' of git://git.monstr.eu/linux-2.6-microblaze
    
    Pull microblaze fixes from Michal Simek:
    
     - fix architecture gpio heart beat code
    
     - add new syscalls
    
     - remove unused xlnx,compound handling
    
     - remove platform.c
    
    * tag 'microblaze-v4.18-rc3' of git://git.monstr.eu/linux-2.6-microblaze:
      microblaze: consolidate GPIO reset handling
      microblaze: remove unecessary of_platform_bus_probe call
      microblaze: Add new syscalls io_pgetevents and rseq
      microblaze: Remove architecture heart beat code
      microblaze: heartbeat: fix missing prom.h include

commit debd52a0506147c0ce8370ee82f5a3b79efa2f26
Merge: c92067ae06cb 52ab9768f723
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jun 27 09:42:16 2018 -0700

    Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
    
    Pull SCSI fixes from James Bottomley:
     "Three small bug fixes (barrier elimination, memory leak on unload,
      spinlock recursion) and a technical enhancement left over from the
      merge window: the TCMU read length support is required for tape
      devices read when the length of the read is greater than the tape
      block size"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: scsi_debug: Fix memory leak on module unload
      scsi: qla2xxx: Spinlock recursion in qla_target
      scsi: ipr: Eliminate duplicate barriers
      scsi: target: tcmu: add read length support

commit c92067ae06cb71561628d9f4b24b56c1813c54e0
Merge: 896a349228c4 03ae3a9caf4a
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jun 27 09:16:53 2018 -0700

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
    
    Pull input updates from Dmitry Torokhov:
    
     - the main change is a fix for my brain-dead patch to PS/2 button
       reporting for some protocols that made it in 4.17
    
     - there is a new driver for Spreadtum vibrator that I intended to send
       during merge window but ended up not sending the 2nd pull request.
       Given that this is a brand new driver we should not see regressions
       here
    
     - a fixup to Elantech PS/2 driver to avoid decoding errors on Thinkpad
       P52
    
     - addition of few more ACPI IDs for Silead and Elan drivers
    
     - RMI4 is switched to using IRQ domain code instead of rolling its own
       implementation
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: psmouse - fix button reporting for basic protocols
      Input: xpad - fix GPD Win 2 controller name
      Input: elan_i2c_smbus - fix more potential stack buffer overflows
      Input: elan_i2c - add ELAN0618 (Lenovo v330 15IKB) ACPI ID
      Input: elantech - fix V4 report decoding for module with middle key
      Input: elantech - enable middle button of touchpads on ThinkPad P52
      Input: do not assign new tracking ID when changing tool type
      Input: make input_report_slot_state() return boolean
      Input: synaptics-rmi4 - fix axis-swap behavior
      Input: synaptics-rmi4 - fix the error return code in rmi_probe_interrupts()
      Input: synaptics-rmi4 - convert irq distribution to irq_domain
      Input: silead - add MSSL0002 ACPI HID
      Input: goldfish_events - fix checkpatch warnings
      Input: add Spreadtrum vibrator driver

commit 896a349228c494aa65279ccfc41d2395898f6f4d
Merge: 3b41c3e28e98 3619dec5103d
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jun 27 09:13:52 2018 -0700

    Merge branch 'fixes-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
    
    Pull more security subsystem fixes from James Morris:
     "Two further fixes for the keys subsystem"
    
    * 'fixes-v4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      dh key: fix rounding up KDF output length
      certs/blacklist: fix const confusion

commit 3b41c3e28e9882760b78864487558b66aaa6261e
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Wed Jun 27 08:40:44 2018 -0700

    checkpatch: remove warning for 'old' stable at kernel.org address
    
    It may not be the actual real stable mailing list address, but the
    stable scripts to actually pick up on the traditional way to mark stable
    patches.
    
    There are also reasons to explicitly avoid using the actual mailing list
    address, since security patches with embargo dates generally do want the
    stable marking, but don't want tools etc to mistakenly send the patch
    out to the mailing list early.
    
    So don't warn for things that are still actively used and explicitly
    supported.
    
    Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>

commit 7838306f5ace5183086ad507c58f5988913690e4
Merge: 7daf201d7fe8 a45fc268db20
Author: Catalin Marinas <catalin.marinas at arm.com>
Date:   Wed Jun 27 16:01:05 2018 +0100

    Merge branch 'perf/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux
    
    * 'perf/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux:
      drivers/perf: xgene_pmu: Fix IOB SLOW PMU parser error

commit 86676c4685f774d818f7a6c401c925bbf2a92903
Author: Katsuhiro Suzuki <suzuki.katsuhiro at socionext.com>
Date:   Tue Jun 19 13:12:05 2018 +0900

    arm64: dts: uniphier: fix widget name of headphone for LD11/LD20 boards
    
    This patch fixes wrong name of headphone widget for receiving events
    of insert/remove headphone plug from simple-card or audio-graph-card.
    
    If we use wrong widget name then we get warning messages such as
    "asoc-audio-graph-card sound: ASoC: DAPM unknown pin Headphones"
    when the plug is inserted or removed from headphone jack.
    
    Fixes: fb21a0acaa2b7 ("arm64: dts: uniphier: add sound node")
    Signed-off-by: Katsuhiro Suzuki <suzuki.katsuhiro at socionext.com>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit bf6ba3aeb2962e5ee4a78e7535af579ecba630bb
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date:   Wed Jun 27 10:07:46 2018 -0300

    drm/etnaviv: Fix driver unregistering
    
    Russell King reported:
    
    "When removing and reloading the etnaviv module, the following splat
    occurs:
    
    sysfs: cannot create duplicate filename '/devices/platform/etnaviv'
    CPU: 0 PID: 1471 Comm: modprobe Not tainted 4.17.0+ #1608
    Hardware name: Marvell Dove (Cubox)
    Backtrace:
    [<c00157d4>] (dump_backtrace) from [<c0015b8c>] (show_stack+0x18/0x1c)
     r6:ef033e38 r5:ee07b340 r4:edb9d000 r3:00000000
    [<c0015b74>] (show_stack) from [<c0620784>] (dump_stack+0x20/0x28)
    [<c0620764>] (dump_stack) from [<c01bcd24>] (sysfs_warn_dup+0x5c/0x70)
    [<c01bccc8>] (sysfs_warn_dup) from [<c01bce14>] (sysfs_create_dir_ns+0x90/0x98)
    ..."
    
    Commit 246774d17fc0 ("drm/etnaviv: remove the need for a gpu-subsystem
    DT node") introduced DRM registration via
    platform_device_register_simple(), but missed to call
    platform_device_unregister() inside etnaviv_exit().
    
    Fix the problem by calling platform_device_unregister() inside
    etnaviv_exit(). While at it, also rearrange the function calls
    in the exit path to make them happen in the opposite order of
    registration.
    
    Tested on a imx6-sabresd board.
    
    Cc: <stable at vger.kernel.org>
    Fixes: 246774d17fc0 ("drm/etnaviv: remove the need for a gpu-subsystem DT node")
    Reported-by: Russell King <linux at armlinux.org.uk>
    Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
    Reviewed-by: Philipp Zabel <p.zabel at pengutronix.de>
    Signed-off-by: Lucas Stach <l.stach at pengutronix.de>

commit 45a0faaba9c8c5ba1e31a08a391aed0bad327167
Author: Fabio Estevam <fabio.estevam at nxp.com>
Date:   Wed Jun 27 10:07:45 2018 -0300

    drm/etnaviv: Check for platform_device_register_simple() failure
    
    platform_device_register_simple() may fail, so we should better
    check its return value and propagate it in the case of error.
    
    Cc: <stable at vger.kernel.org>
    Fixes: 246774d17fc0 ("drm/etnaviv: remove the need for a gpu-subsystem DT node")
    Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
    Reviewed-by: Philipp Zabel <p.zabel at pengutronix.de>
    Signed-off-by: Lucas Stach <l.stach at pengutronix.de>

commit a685557fbbc3122ed11e8ad3fa63a11ebc5de8c3
Author: Mike Snitzer <snitzer at redhat.com>
Date:   Tue Jun 26 12:04:23 2018 -0400

    dm thin: handle running out of data space vs concurrent discard
    
    Discards issued to a DM thin device can complete to userspace (via
    fstrim) _before_ the metadata changes associated with the discards is
    reflected in the thinp superblock (e.g. free blocks).  As such, if a
    user constructs a test that loops repeatedly over these steps, block
    allocation can fail due to discards not having completed yet:
    1) fill thin device via filesystem file
    2) remove file
    3) fstrim
    
    From initial report, here:
    https://www.redhat.com/archives/dm-devel/2018-April/msg00022.html
    
    "The root cause of this issue is that dm-thin will first remove
    mapping and increase corresponding blocks' reference count to prevent
    them from being reused before DISCARD bios get processed by the
    underlying layers. However. increasing blocks' reference count could
    also increase the nr_allocated_this_transaction in struct sm_disk
    which makes smd->old_ll.nr_allocated +
    smd->nr_allocated_this_transaction bigger than smd->old_ll.nr_blocks.
    In this case, alloc_data_block() will never commit metadata to reset
    the begin pointer of struct sm_disk, because sm_disk_get_nr_free()
    always return an underflow value."
    
    While there is room for improvement to the space-map accounting that
    thinp is making use of: the reality is this test is inherently racey and
    will result in the previous iteration's fstrim's discard(s) completing
    vs concurrent block allocation, via dd, in the next iteration of the
    loop.
    
    No amount of space map accounting improvements will be able to allow
    user's to use a block before a discard of that block has completed.
    
    So the best we can really do is allow DM thinp to gracefully handle such
    aggressive use of all the pool's data by degrading the pool into
    out-of-data-space (OODS) mode.  We _should_ get that behaviour already
    (if space map accounting didn't falsely cause alloc_data_block() to
    believe free space was available).. but short of that we handle the
    current reality that dm_pool_alloc_data_block() can return -ENOSPC.
    
    Reported-by: Dennis Yang <dennisyang at qnap.com>
    Cc: stable at vger.kernel.org
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>

commit 3eb1b955cd7ed1e621ace856710006c2a8a7f231
Author: Keerthy <j-keerthy at ti.com>
Date:   Tue Jun 5 15:37:51 2018 +0530

    ARM: dts: da850: Fix interrups property for gpio
    
    The intc #interrupt-cells is equal to 1. Currently gpio
    node has 2 cells per IRQ which is wrong. Remove the additional
    cell for each of the interrupts.
    
    Signed-off-by: Keerthy <j-keerthy at ti.com>
    Fixes: 2e38b946dc54 ("ARM: davinci: da850: add GPIO DT node")
    Signed-off-by: Sekhar Nori <nsekhar at ti.com>

commit d79d0d8ad0cb3d782b41631dfeac8eb05e414bcd
Author: Dmitry Vyukov <dvyukov at google.com>
Date:   Wed Jun 27 11:07:15 2018 +0200

    x86/mm: Clean up the printk()s in show_fault_oops()
    
    - Remove 'nx_warning' and 'smep_warning', which are just pointless obfuscation.
    - Also convert to pr_crit().
    
    Suggested-by: Joe Perches <joe at perches.com>
    Signed-off-by: Dmitry Vyukov <dvyukov at google.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/20180627090715.28076-1-dvyukov@gmail.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 649f53a3e4cf6873741673b9271275e484c56194
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date:   Tue Jun 26 17:20:43 2018 +0200

    Documentation: intel_pstate: Describe hwp_dynamic_boost sysfs knob
    
    Document the recently introduced hwp_dynamic_boost sysfs knob
    allowing user space to tell intel_pstate to use iowait boosting
    in the active mode with HWP enabled (to improve performance).
    
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
    Acked-by: Srinivas Pandruvada <srinivas.pandruvada at linux.intel.com>

commit 9e421b8fffb92bfd1c274f1deae611a6ab99d8a7
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date:   Tue Jun 26 12:09:51 2018 +0200

    Documentation: admin-guide: intel_pstate: Fix sysfs path
    
    Fix an incorrect sysfs path in the intel_pstate admin-guide
    documentation.
    
    Fixes: 33fc30b47098 (cpufreq: intel_pstate: Document the current behavior and user interface)
    Reported-by: Pawit Pornkitprasan <p.pawit at gmail.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

commit 9331510135640429711afbd0c810686100824a79
Author: Mathieu Malaterre <malat at debian.org>
Date:   Tue Jun 26 22:23:00 2018 +0200

    perf/core: Move inline keyword at the beginning of declaration
    
    Fix non-fatal warning triggered during compilation with W=1:
    
      kernel/events/core.c:6106:1: warning: ‘inline’ is not at beginning of declaration [-Wold-style-declaration]
       static void __always_inline
       ^~~~~~
    
    Signed-off-by: Mathieu Malaterre <malat at debian.org>
    Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
    Cc: Arnaldo Carvalho de Melo <acme at kernel.org>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/20180626202301.20270-1-malat@debian.org
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit b8c1e4293a5d1dfd19ab7b0984bfce8191940500
Author: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
Date:   Tue Jun 26 13:03:41 2018 +0300

    x86/mm: Drop unneeded __always_inline for p4d page table helpers
    
    This reverts the following commits:
    
      1ea66554d3b0 ("x86/mm: Mark p4d_offset() __always_inline")
      046c0dbec023 ("x86: Mark native_set_p4d() as __always_inline")
    
    p4d_offset(), native_set_p4d() and native_p4d_clear() were marked
    __always_inline in attempt to move __pgtable_l5_enabled into __initdata
    section.
    
    It was required as KASAN initialization code is a user of
    USE_EARLY_PGTABLE_L5, so all pgtable_l5_enabled() translated to
    __pgtable_l5_enabled there. This includes pgtable_l5_enabled() called
    from inline p4d helpers.
    
    If compiler would decided to not inline these p4d helpers, but leave
    them standalone, we end up with section mismatch.
    
    We don't need __always_inline here anymore. __pgtable_l5_enabled moved
    back to be __ro_after_init. See the following commit:
    
      51be13351517 ("Revert "x86/mm: Mark __pgtable_l5_enabled __initdata"")
    
    Signed-off-by: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
    Cc: Arnd Bergmann <arnd at arndb.de>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/20180626100341.49910-1-kirill.shutemov@linux.intel.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit cfe19577047e74cdac5826adbdc2337d8437f8fb
Author: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
Date:   Mon Jun 25 15:08:52 2018 +0300

    x86/efi: Fix efi_call_phys_epilog() with CONFIG_X86_5LEVEL=y
    
    Open-coded page table entry checks don't work correctly when we fold the
    page table level at runtime.
    
    pgd_present() on 4-level paging machine always returns true, but
    open-coded version of the check may return false-negative result and
    we silently skip the rest of the loop body in efi_call_phys_epilog().
    
    Replace open-coded checks with proper helpers.
    
    Signed-off-by: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
    Acked-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
    Cc: Andrey Ryabinin <aryabinin at virtuozzo.com>
    Cc: Baoquan He <bhe at redhat.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Matt Fleming <matt at codeblueprint.co.uk>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: stable at vger.kernel.org # v4.12+
    Fixes: 94133e46a0f5 ("x86/efi: Correct EFI identity mapping under 'efi=old_map' when KASLR is enabled")
    Link: http://lkml.kernel.org/r/20180625120852.18300-1-kirill.shutemov@linux.intel.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit e8a445dea219c32727016af14f847d2e8f7ebec8
Author: Andy Lutomirski <luto at kernel.org>
Date:   Tue Jun 26 22:17:18 2018 -0700

    selftests/x86/sigreturn: Do minor cleanups
    
    We have short names for the requested and resulting register values.
    Use them instead of spelling out the whole register entry for each
    case.
    
    Signed-off-by: Andy Lutomirski <luto at kernel.org>
    Cc: Borislav Petkov <bp at alien8.de>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/bb3bc1f923a2f6fe7912d22a1068fe29d6033d38.1530076529.git.luto@kernel.org
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit ec348020566009d3da9b99f07c05814d13969c78
Author: Andy Lutomirski <luto at kernel.org>
Date:   Tue Jun 26 22:17:17 2018 -0700

    selftests/x86/sigreturn/64: Fix spurious failures on AMD CPUs
    
    When I wrote the sigreturn test, I didn't realize that AMD's busted
    IRET behavior was different from Intel's busted IRET behavior:
    
    On AMD CPUs, the CPU leaks the high 32 bits of the kernel stack pointer
    to certain userspace contexts.  Gee, thanks.  There's very little
    the kernel can do about it.  Modify the test so it passes.
    
    Signed-off-by: Andy Lutomirski <luto at kernel.org>
    Cc: Borislav Petkov <bp at alien8.de>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/86e7fd3564497f657de30a36da4505799eebef01.1530076529.git.luto@kernel.org
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 22cd978e598618e82c3c3348d2069184f6884182
Author: Andy Lutomirski <luto at kernel.org>
Date:   Tue Jun 26 22:45:52 2018 -0700

    x86/entry/64/compat: Fix "x86/entry/64/compat: Preserve r8-r11 in int $0x80"
    
    Commit:
    
      8bb2610bc496 ("x86/entry/64/compat: Preserve r8-r11 in int $0x80")
    
    was busted: my original patch had a minor conflict with
    some of the nospec changes, but "git apply" is very clever
    and silently accepted the patch by making the same changes
    to a different function in the same file.  There was obviously
    a huge offset, but "git apply" for some reason doesn't feel
    any need to say so.
    
    Move the changes to the correct function.  Now the
    test_syscall_vdso_32 selftests passes.
    
    If anyone cares to observe the original problem, try applying the
    patch at:
    
      https://lore.kernel.org/lkml/d4c4d9985fbe64f8c9e19291886453914b48caee.1523975710.git.luto@kernel.org/raw
    
    to the kernel at 316d097c4cd4e7f2ef50c40cff2db266593c4ec4:
    
     - "git am" and "git apply" accept the patch without any complaints at all
     - "patch -p1" at least prints out a message about the huge offset.
    
    Reported-by: zhijianx.li at intel.com
    Signed-off-by: Andy Lutomirski <luto at kernel.org>
    Cc: Arjan van de Ven <arjan at linux.intel.com>
    Cc: Borislav Petkov <bp at alien8.de>
    Cc: Dan Williams <dan.j.williams at intel.com>
    Cc: Dave Hansen <dave.hansen at linux.intel.com>
    Cc: David Woodhouse <dwmw2 at infradead.org>
    Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
    Cc: Josh Poimboeuf <jpoimboe at redhat.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: stable at vger.kernel.org #v4.17+
    Fixes: 8bb2610bc496 ("x86/entry/64/compat: Preserve r8-r11 in int $0x80")
    Link: http://lkml.kernel.org/r/6012b922485401bc42676e804171ded262fc2ef2.1530078306.git.luto@kernel.org
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 2d2595719a97c876f35b1e60e5768e58753b268c
Author: Chengguang Xu <cgxu519 at gmx.com>
Date:   Tue Jun 26 09:16:31 2018 +0800

    nfp: cast sizeof() to int when comparing with error code
    
    sizeof() will return unsigned value so in the error check
    negative error code will be always larger than sizeof().
    
    Fixes: a0d8e02c35ff ("nfp: add support for reading nffw info")
    
    Signed-off-by: Chengguang Xu <cgxu519 at gmx.com>
    Acked-by: Jakub Kicinski <jakub.kicinski at netronome.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 22db552b50fa11d8c1d171de908a1f9ef62172b7
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Tue Jun 19 16:02:27 2018 +0200

    powerpc/powermac: Fix rtc read/write functions
    
    As Mathieu pointed out, my conversion to time64_t was incorrect and
    resulted in negative times to be read from the RTC. The problem is
    that during the conversion from a byte array to a time64_t, the
    'unsigned char' variable holding the top byte gets turned into a
    negative signed 32-bit integer before being assigned to the 64-bit
    variable for any times after 1972.
    
    This changes the logic to cast to an unsigned 32-bit number first for
    the Macintosh time and then convert that to the Unix time, which then
    gives us a time in the documented 1904..2040 year range. I decided not
    to use the longer 1970..2106 range that other drivers use, for
    consistency with the literal interpretation of the register, but that
    could be easily changed if we decide we want to support any Mac after
    2040.
    
    Just to be on the safe side, I'm also adding a WARN_ON that will
    trigger if either the year 2040 has come and is observed by this
    driver, or we run into an RTC that got set back to a pre-1970 date for
    some reason (the two are indistinguishable).
    
    For the RTC write functions, Andreas found another problem: both
    pmu_request() and cuda_request() are varargs functions, so changing
    the type of the arguments passed into them from 32 bit to 64 bit
    breaks the API for the set_rtc_time functions. This changes it back to
    32 bits.
    
    The same code exists in arch/m68k/ and is patched in an identical way
    now in a separate patch.
    
    Fixes: 5bfd643583b2 ("powerpc: use time64_t in read_persistent_clock")
    Reported-by: Mathieu Malaterre <malat at debian.org>
    Reported-by: Andreas Schwab <schwab at linux-m68k.org>
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Tested-by: Mathieu Malaterre <malat at debian.org>
    Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

commit f3c2c5ebd4d9f7074f2a685ad06ab618ca1a6a78
Merge: 7c8f4e6dc309 951a8ee6def3
Author: David S. Miller <davem at davemloft.net>
Date:   Wed Jun 27 10:46:43 2018 +0900

    Merge branch 'nfp-MPLS-and-shared-blocks-TC-offload-fixes'
    
    Jakub Kicinski says:
    
    ====================
    nfp: MPLS and shared blocks TC offload fixes
    
    This series brings two fixes to TC filter/action offload code.
    Pieter fixes matching MPLS packets when the match is purely on
    the MPLS ethertype and none of the MPLS fields are used.
    John provides a fix for offload of shared blocks.  Unfortunately,
    with shared blocks there is currently no guarantee that filters
    which were added by the core will be removed before block unbind.
    Our simple fix is to not support offload of rules on shared blocks
    at all, a revert of this fix will be send for -next once the
    reoffload infrastructure lands.  The shared blocks became important
    as we are trying to use them for bonding offload (managed from user
    space) and lack of remove calls leads to resource leaks.
    
    v2:
     - fix build error reported by kbuild bot due to missing
       tcf_block_shared() helper.
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 951a8ee6def39e25d0e60b9394e5a249ba8b2390
Author: John Hurley <john.hurley at netronome.com>
Date:   Mon Jun 25 20:36:28 2018 -0700

    nfp: reject binding to shared blocks
    
    TC shared blocks allow multiple qdiscs to be grouped together and filters
    shared between them. Currently the chains of filters attached to a block
    are only flushed when the block is removed. If a qdisc is removed from a
    block but the block still exists, flow del messages are not passed to the
    callback registered for that qdisc. For the NFP, this presents the
    possibility of rules still existing in hw when they should be removed.
    
    Prevent binding to shared blocks until the kernel can send per qdisc del
    messages when block unbinds occur.
    
    tcf_block_shared() was not used outside of the core until now, so also
    add an empty implementation for builds with CONFIG_NET_CLS=n.
    
    Fixes: 4861738775d7 ("net: sched: introduce shared filter blocks infrastructure")
    Signed-off-by: John Hurley <john.hurley at netronome.com>
    Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
    Reviewed-by: Simon Horman <simon.horman at netronome.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit a64119415ff248efa61301783bc26551df5dabf6
Author: Pieter Jansen van Vuuren <pieter.jansenvanvuuren at netronome.com>
Date:   Mon Jun 25 20:36:27 2018 -0700

    nfp: flower: fix mpls ether type detection
    
    Previously it was not possible to distinguish between mpls ether types and
    other ether types. This leads to incorrect classification of offloaded
    filters that match on mpls ether type. For example the following two
    filters overlap:
    
     # tc filter add dev eth0 parent ffff: \
        protocol 0x8847 flower \
        action mirred egress redirect dev eth1
    
     # tc filter add dev eth0 parent ffff: \
        protocol 0x0800 flower \
        action mirred egress redirect dev eth2
    
    The driver now correctly includes the mac_mpls layer where HW stores mpls
    fields, when it detects an mpls ether type. It also sets the MPLS_Q bit to
    indicate that the filter should match mpls packets.
    
    Fixes: bb055c198d9b ("nfp: add mpls match offloading support")
    Signed-off-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren at netronome.com>
    Reviewed-by: Simon Horman <simon.horman at netronome.com>
    Reviewed-by: Jakub Kicinski <jakub.kicinski at netronome.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 7c8f4e6dc30996bff806285730a0bb4e714d3d52
Author: Jason A. Donenfeld <Jason at zx2c4.com>
Date:   Tue Jun 26 01:39:32 2018 +0200

    fib_rules: match rules based on suppress_* properties too
    
    Two rules with different values of suppress_prefix or suppress_ifgroup
    are not the same. This fixes an -EEXIST when running:
    
       $ ip -4 rule add table main suppress_prefixlength 0
    
    Signed-off-by: Jason A. Donenfeld <Jason at zx2c4.com>
    Fixes: f9d4b0c1e969 ("fib_rules: move common handling of newrule delrule msgs into fib_nl2rule")
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c809195f5523dd4d09403bbb1c9732d548aa0d1e
Author: Sowmini Varadhan <sowmini.varadhan at oracle.com>
Date:   Mon Jun 25 06:41:25 2018 -0700

    rds: clean up loopback rds_connections on netns deletion
    
    The RDS core module creates rds_connections based on callbacks
    from rds_loop_transport when sending/receiving packets to local
    addresses.
    
    These connections will need to be cleaned up when they are
    created from a netns that is not init_net, and that netns is deleted.
    
    Add the changes aligned with the changes from
    commit ebeeb1ad9b8a ("rds: tcp: use rds_destroy_pending() to synchronize
    netns/module teardown and rds connection/workq management") for
    rds_loop_transport
    
    Reported-and-tested-by: syzbot+4c20b3866171ce8441d2 at syzkaller.appspotmail.com
    Acked-by: Santosh Shilimkar <santosh.shilimkar at oracle.com>
    Signed-off-by: Sowmini Varadhan <sowmini.varadhan at oracle.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 03ae3a9caf4a59edd32b65c89c375a98ce3ea1ef
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date:   Mon Jun 25 12:02:40 2018 -0700

    Input: psmouse - fix button reporting for basic protocols
    
    The commit ba667650c568 ("Input: psmouse - clean up code") was pretty
    brain-dead and broke extra buttons reporting for variety of PS/2 mice:
    Genius, Thinkmouse and Intellimouse Explorer. We need to actually inspect
    the data coming from the device when reporting events.
    
    Fixes: ba667650c568 ("Input: psmouse - clean up code")
    Reported-by: Jiri Slaby <jslaby at suse.cz>
    Cc: stable at vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit d412c31dae053bf30a1bc15582a9990df297a660
Author: Alex Vesker <valex at mellanox.com>
Date:   Tue Jun 12 16:14:31 2018 +0300

    net/mlx5: Fix command interface race in polling mode
    
    The command interface can work in two modes: Events and Polling.
    In the general case, each time we invoke a command, a work is
    queued to handle it.
    
    When working in events, the interrupt handler completes the
    command execution. On the other hand, when working in polling
    mode, the work itself completes it.
    
    Due to a bug in the work handler, a command could have been
    completed by the interrupt handler, while the work handler
    hasn't finished yet, causing the it to complete once again
    if the command interface mode was changed from Events to
    polling after the interrupt handler was called.
    
    mlx5_unload_one()
            mlx5_stop_eqs()
                    // Destroy the EQ before cmd EQ
                    ...cmd_work_handler()
                            write_doorbell()
                            --> EVENT_TYPE_CMD
                                    mlx5_cmd_comp_handler() // First free
                                            free_ent(cmd, ent->idx)
                                            complete(&ent->done)
    
            <-- mlx5_stop_eqs //cmd was complete
                    // move to polling before destroying the last cmd EQ
                    mlx5_cmd_use_polling()
                            cmd->mode = POLL;
    
                    --> cmd_work_handler (continues)
                            if (cmd->mode == POLL)
                                    mlx5_cmd_comp_handler() // Double free
    
    The solution is to store the cmd->mode before writing the doorbell.
    
    Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
    Signed-off-by: Alex Vesker <valex at mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>

commit 603b7bcff824740500ddfa001d7a7168b0b38542
Author: Alex Vesker <valex at mellanox.com>
Date:   Fri May 25 20:25:59 2018 +0300

    net/mlx5: Fix incorrect raw command length parsing
    
    The NULL character was not set correctly for the string containing
    the command length, this caused failures reading the output of the
    command due to a random length. The fix is to initialize the output
    length string.
    
    Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
    Signed-off-by: Alex Vesker <valex at mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>

commit d14fcb8d877caf1b8d6bd65d444bf62b21f2070c
Author: Shay Agroskin <shayag at mellanox.com>
Date:   Tue May 22 14:14:02 2018 +0300

    net/mlx5: Fix wrong size allocation for QoS ETC TC regitster
    
    The driver allocates wrong size (due to wrong struct name) when issuing
    a query/set request to NIC's register.
    
    Fixes: d8880795dabf ("net/mlx5e: Implement DCBNL IEEE max rate")
    Signed-off-by: Shay Agroskin <shayag at mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>

commit f811980444ec59ad62f9e041adbb576a821132c7
Author: Eli Cohen <eli at mellanox.com>
Date:   Wed Jun 13 10:27:34 2018 +0300

    net/mlx5: Fix required capability for manipulating MPFS
    
    Manipulating of the MPFS requires eswitch manager capabilities.
    
    Fixes: eeb66cdb6826 ('net/mlx5: Separate between E-Switch and MPFS')
    Signed-off-by: Eli Cohen <eli at mellanox.com>
    Reviewed-by: Or Gerlitz <ogerlitz at mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>

commit a8d70a054a718b63058b3d3ac58b6181815e4289
Author: Eli Cohen <eli at mellanox.com>
Date:   Thu May 31 12:24:48 2018 +0300

    net/mlx5: E-Switch, Disallow vlan/spoofcheck setup if not being esw manager
    
    In smartnic env, if the host (PF) driver is not an e-switch manager, we
    are not allowed to apply eswitch ports setups such as vlan (VST),
    spoof-checks, min/max rate or state.
    
    Make sure we are eswitch manager when coming to issue these callbacks
    and err otherwise.
    
    Also fix the definition of ESW_ALLOWED to rely on eswitch_manager
    capability and on the vport_group_manger.
    
    Operations on the VF nic vport context, such as setting a mac or reading
    the vport counters are allowed to the PF in this scheme.
    
    The modify nic vport guid code was modified to omit checking the
    nic_vport_node_guid_modify eswitch capability.
    The reason for doing so is that modifying node guid requires vport group
    manager capability, and there's no need to check further capabilities.
    
    1. set_vf_vlan     - disallowed
    2. set_vf_spoofchk - disallowed
    3. set_vf_mac      - allowed
    4. get_vf_config   - allowed
    5. set_vf_trust    - disallowed
    6. set_vf_rate     - disallowed
    7. get_vf_stat     - allowed
    8. set_vf_link_state - disallowed
    
    Fixes: f942380c1239 ('net/mlx5: E-Switch, Vport ingress/egress ACLs rules for spoofchk')
    Signed-off-by: Eli Cohen <eli at mellanox.com>
    Reviewed-by: Or Gerlitz <ogerlitz at mellanox.com>
    Tested-by: Or Gerlitz <ogerlitz at mellanox.com>

commit aff2252a2ad3844ca47bf2f18af071101baace40
Author: Or Gerlitz <ogerlitz at mellanox.com>
Date:   Thu May 31 11:40:17 2018 +0300

    IB/mlx5: Avoid dealing with vport representors if not being e-switch manager
    
    In smartnic env, the host (PF) driver might not be an e-switch
    manager, hence the switchdev mode representors are running on
    the embedded cpu (EC) and not at the host.
    
    As such, we should avoid dealing with vport representors if
    not being esw manager.
    
    Fixes: b5ca15ad7e61 ('IB/mlx5: Add proper representors support')
    Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
    Reviewed-by: Eli Cohen <eli at mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>

commit 733d3e5497070d05971352ca5087bac83c197c3d
Author: Or Gerlitz <ogerlitz at mellanox.com>
Date:   Thu May 31 11:32:56 2018 +0300

    net/mlx5e: Avoid dealing with vport representors if not being e-switch manager
    
    In smartnic env, the host (PF) driver might not be an e-switch
    manager, hence the switchdev mode representors are running on
    the embedded cpu (EC) and not at the host.
    
    As such, we should avoid dealing with vport representors if
    not being esw manager.
    
    While here, make sure to disallow eswitch switchdev related
    setups through devlink if we are not esw managers.
    
    Fixes: cb67b832921c ('net/mlx5e: Introduce SRIOV VF representors')
    Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
    Reviewed-by: Eli Cohen <eli at mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>

commit 0efc8562491b7d36f6bbc4fbc8f3348cb6641e9c
Author: Or Gerlitz <ogerlitz at mellanox.com>
Date:   Thu May 31 11:16:18 2018 +0300

    net/mlx5: E-Switch, Avoid setup attempt if not being e-switch manager
    
    In smartnic env, the host (PF) driver might not be an e-switch
    manager, hence the FW will err on driver attempts to deal with
    setting/unsetting the eswitch and as a result the overall setup
    of sriov will fail.
    
    Fix that by avoiding the operation if e-switch management is not
    allowed for this driver instance. While here, move to use the
    correct name for the esw manager capability name.
    
    Fixes: 81848731ff40 ('net/mlx5: E-Switch, Add SR-IOV (FDB) support')
    Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
    Reported-by: Guy Kushnir <guyk at mellanox.com>
    Reviewed-by: Eli Cohen <eli at melloanox.com>
    Tested-by: Eli Cohen <eli at melloanox.com>
    Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>

commit 8ffd569aaa818f2624ca821d9a246342fa8b8c50
Author: Or Gerlitz <ogerlitz at mellanox.com>
Date:   Mon Jun 4 19:46:53 2018 +0300

    net/mlx5e: Don't attempt to dereference the ppriv struct if not being eswitch manager
    
    The check for cpu hit statistics was not returning immediate false for
    any non vport rep netdev and hence we crashed (say on mlx5 probed VFs) if
    user-space tool was calling into any possible netdev in the system.
    
    Fix that by doing a proper check before dereferencing.
    
    Fixes: 1d447a39142e ('net/mlx5e: Extendable vport representor netdev private data')
    Signed-off-by: Or Gerlitz <ogerlitz at mellanox.com>
    Reported-by: Eli Cohen <eli at melloanox.com>
    Reviewed-by: Eli Cohen <eli at melloanox.com>
    Signed-off-by: Saeed Mahameed <saeedm at mellanox.com>

commit 925d31668d5b6c9849c50167f31f9b5cf9eec892
Author: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Date:   Tue Jun 19 12:21:05 2018 +0100

    PCI: controller: Move PCI_DOMAINS selection to arch Kconfig
    
    Commit 51bc085d6454 ("PCI: Improve host drivers compile test coverage")
    added configuration options to allow PCI host controller drivers to be
    compile tested on all architectures.
    
    Some host controller drivers (eg PCIE_ALTERA) config entries select the
    PCI_DOMAINS config option to enable PCI domains management in the kernel.
    Now that host controller drivers can be compiled on all architectures, this
    triggers build regressions on arches that do not implement the PCI_DOMAINS
    required API (ie pci_domain_nr()):
    
      drivers/ata/pata_ali.c: In function 'ali_init_chipset':
      drivers/ata/pata_ali.c:469:38: error: implicit declaration of function 'pci_domain_nr'; did you mean 'pci_iomap_wc'?
    
    Furthemore, some software configurations (ie Jailhouse) require a
    PCI_DOMAINS enabled kernel to configure multiple host controllers without
    having an explicit dependency on the ARM platform on which they run.
    
    Make PCI_DOMAINS a visible configuration option on ARM so that software
    configurations that need it can manually select it and move the PCI_DOMAINS
    selection from PCI controllers configuration file to ARM sub-arch config
    entries that currently require it, fixing the issue.
    
    Fixes: 51bc085d6454 ("PCI: Improve host drivers compile test coverage")
    Link: https://lkml.kernel.org/r/20180612170229.GA10141@roeck-us.net
    Reported-by: Guenter Roeck <linux at roeck-us.net>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
    Signed-off-by: Bjorn Helgaas <helgaas at kernel.org>
    Acked-by: Jan Kiszka <jan.kiszka at siemens.com>
    Acked-by: Ley Foon Tan <ley.foon.tan at intel.com>
    Acked-by: Rob Herring <robh at kernel.org>
    Cc: Scott Branden <scott.branden at broadcom.com>
    Cc: Will Deacon <will.deacon at arm.com>
    Cc: Russell King <linux at armlinux.org.uk>
    Cc: Guenter Roeck <linux at roeck-us.net>

commit 68bb22e9d561ad7c20274eee92058048ac689b98
Author: Alan Douglas <adouglas at cadence.com>
Date:   Fri Jun 22 17:17:17 2018 +0100

    PCI: Initialize endpoint library before controllers
    
    The endpoint library must be initialized before its users, which are in
    drivers/pci/controllers.  The endpoint initialization currently depends on
    link order.
    
    This corrects a kernel crash when loading the Cadence EP driver, since it
    calls devm_pci_epc_create() and this is only valid once the endpoint
    library has been initialized.
    
    Fixes: 6e0832fa432e ("PCI: Collect all native drivers under drivers/pci/controller/")
    Signed-off-by: Alan Douglas <adouglas at cadence.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>

commit 15bfd21fbc5d35834b9ea383dc458a1f0c9e3434
Author: Keith Busch <keith.busch at intel.com>
Date:   Tue Jun 26 09:14:58 2018 -0600

    block: Fix transfer when chunk sectors exceeds max
    
    A device may have boundary restrictions where the number of sectors
    between boundaries exceeds its max transfer size. In this case, we need
    to cap the max size to the smaller of the two limits.
    
    Reported-by: Jitendra Bhivare <jitendra.bhivare at broadcom.com>
    Tested-by: Jitendra Bhivare <jitendra.bhivare at broadcom.com>
    Cc: <stable at vger.kernel.org>
    Reviewed-by: Martin K. Petersen <martin.petersen at oracle.com>
    Signed-off-by: Keith Busch <keith.busch at intel.com>
    Signed-off-by: Jens Axboe <axboe at kernel.dk>

commit fd28b4b5fb811cb39b6dc77e3e63169dbf4819b9
Merge: 975ba94c2c3a 0ea3fa15b127
Author: Olof Johansson <olof at lixom.net>
Date:   Tue Jun 26 10:42:31 2018 -0700

    Merge tag 'qcom-fixes-for-4.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into fixes
    
    Qualcomm Fixes for v4.18-rc2
    
    * Fix compiler warnings for cmd-db driver
    
    * tag 'qcom-fixes-for-4.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
      qcom: cmd-db: enforce CONFIG_OF_RESERVED_MEM dependency
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 975ba94c2c3aca4d9f1ae26f3916d7787495ce86
Author: Thor Thayer <thor.thayer at linux.intel.com>
Date:   Fri Jun 22 13:37:34 2018 -0500

    ARM: dts: Fix SPI node for Arria10
    
    Remove the unused bus-num node and change num-chipselect
    to num-cs to match SPI bindings.
    
    Cc: stable at vger.kernel.org
    Fixes: f2d6f8f817814 ("ARM: dts: socfpga: Add SPI Master1 for Arria10 SR chip")
    Signed-off-by: Thor Thayer <thor.thayer at linux.intel.com>
    Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 4595299c5eaebbec0ca5822214ad1925a10b3876
Author: Thor Thayer <thor.thayer at linux.intel.com>
Date:   Fri Jun 22 13:35:38 2018 -0500

    arm64: dts: stratix10: Fix SPI nodes for Stratix10
    
    Remove the unused bus-num node and change num-chipselect
    to num-cs to match SPI bindings.
    
    Cc: stable at vger.kernel.org
    Fixes: 78cd6a9d8e154 ("arm64: dts: Add base stratix 10 dtsi")
    Signed-off-by: Thor Thayer <thor.thayer at linux.intel.com>
    Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 26b5b874aff5659a7e26e5b1997e3df2c41fa7fd
Author: Jann Horn <jannh at google.com>
Date:   Mon Jun 25 16:25:44 2018 +0200

    scsi: sg: mitigate read/write abuse
    
    As Al Viro noted in commit 128394eff343 ("sg_write()/bsg_write() is not fit
    to be called under KERNEL_DS"), sg improperly accesses userspace memory
    outside the provided buffer, permitting kernel memory corruption via
    splice().  But it doesn't just do it on ->write(), also on ->read().
    
    As a band-aid, make sure that the ->read() and ->write() handlers can not
    be called in weird contexts (kernel context or credentials different from
    file opener), like for ib_safe_file_access().
    
    If someone needs to use these interfaces from different security contexts,
    a new interface should be written that goes through the ->ioctl() handler.
    
    I've mostly copypasted ib_safe_file_access() over as sg_safe_file_access()
    because I couldn't find a good common header - please tell me if you know a
    better way.
    
    [mkp: s/_safe_/_check_/]
    
    Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Jann Horn <jannh at google.com>
    Acked-by: Douglas Gilbert <dgilbert at interlog.com>
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>

commit 3619dec5103dd999a777e3e4ea08c8f40a6ddc57
Author: Eric Biggers <ebiggers at google.com>
Date:   Tue Jun 26 16:59:46 2018 +0100

    dh key: fix rounding up KDF output length
    
    Commit 383203eff718 ("dh key: get rid of stack allocated array") changed
    kdf_ctr() to assume that the length of key material to derive is a
    multiple of the digest size.  The length was supposed to be rounded up
    accordingly.  However, the round_up() macro was used which only gives
    the correct result on power-of-2 arguments, whereas not all hash
    algorithms have power-of-2 digest sizes.  In some cases this resulted in
    a write past the end of the 'outbuf' buffer.
    
    Fix it by switching to roundup(), which works for non-power-of-2 inputs.
    
    Reported-by: syzbot+486f97f892efeb2075a3 at syzkaller.appspotmail.com
    Reported-by: syzbot+29d17b7898b41ee120a5 at syzkaller.appspotmail.com
    Reported-by: syzbot+8a608baf8751184ec727 at syzkaller.appspotmail.com
    Reported-by: syzbot+d04e58bd384f1fe0b112 at syzkaller.appspotmail.com
    Fixes: 383203eff718 ("dh key: get rid of stack allocated array")
    Signed-off-by: Eric Biggers <ebiggers at google.com>
    Acked-by: Kees Cook <keescook at chromium.org>
    Acked-by: Tycho Andersen <tycho at tycho.ws>
    Signed-off-by: James Morris <james.morris at microsoft.com>

commit 2e20ce4a66b798671c60198ea2547d5e090dd991
Author: Nick Desaulniers <nick.desaulniers at gmail.com>
Date:   Tue Jun 26 16:59:40 2018 +0100

    certs/blacklist: fix const confusion
    
    Fixes commit 2be04df5668d ("certs/blacklist_nohashes.c: fix const confusion
    in certs blacklist")
    
    Signed-off-by: Nick Desaulniers <nick.desaulniers at gmail.com>
    Signed-off-by: David Howells <dhowells at redhat.com>
    Signed-off-by: James Morris <james.morris at microsoft.com>

commit 8b8f53af1ed9df88a4c0fbfdf3db58f62060edf3
Author: Yan, Zheng <zyan at redhat.com>
Date:   Tue Jun 19 18:20:34 2018 +0800

    ceph: fix dentry leak in splice_dentry()
    
    In any case, d_splice_alias() does not drop reference of original
    dentry.
    
    Signed-off-by: "Yan, Zheng" <zyan at redhat.com>
    Reviewed-by: Jeff Layton <jlayton at redhat.com>
    Signed-off-by: Ilya Dryomov <idryomov at gmail.com>

commit b36e4523d4d56e2595e28f16f6ccf1cd6a9fc452
Author: Florian Westphal <fw at strlen.de>
Date:   Wed Jun 20 23:32:26 2018 +0200

    netfilter: nf_conncount: fix garbage collection confirm race
    
    Yi-Hung Wei and Justin Pettit found a race in the garbage collection scheme
    used by nf_conncount.
    
    When doing list walk, we lookup the tuple in the conntrack table.
    If the lookup fails we remove this tuple from our list because
    the conntrack entry is gone.
    
    This is the common cause, but turns out its not the only one.
    The list entry could have been created just before by another cpu, i.e. the
    conntrack entry might not yet have been inserted into the global hash.
    
    The avoid this, we introduce a timestamp and the owning cpu.
    If the entry appears to be stale, evict only if:
     1. The current cpu is the one that added the entry, or,
     2. The timestamp is older than two jiffies
    
    The second constraint allows GC to be taken over by other
    cpu too (e.g. because a cpu was offlined or napi got moved to another
    cpu).
    
    We can't pretend the 'doubtful' entry wasn't in our list.
    Instead, when we don't find an entry indicate via IS_ERR
    that entry was removed ('did not exist' or withheld
    ('might-be-unconfirmed').
    
    This most likely also fixes a xt_connlimit imbalance earlier reported by
    Dmitry Andrianov.
    
    Cc: Dmitry Andrianov <dmitry.andrianov at alertme.com>
    Reported-by: Justin Pettit <jpettit at vmware.com>
    Reported-by: Yi-Hung Wei <yihung.wei at gmail.com>
    Signed-off-by: Florian Westphal <fw at strlen.de>
    Acked-by: Yi-Hung Wei <yihung.wei at gmail.com>
    Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>

commit 59b433c825569ce251371485f0e29fca888b549d
Author: Raghava Aditya Renukunta <RaghavaAditya.Renukunta at microsemi.com>
Date:   Fri Jun 22 06:55:47 2018 -0700

    scsi: aacraid: Fix PD performance regression over incorrect qd being set
    
    The driver fails to set the correct queue depth for native devices, due to
    failing to set the device type prior to calling aac_set_safw_target_qd().
    This results in slave configure setting the queue depth to 1.
    
    This causes around 30% performance degradation. Fixed by setting the dev
    type before trying to set queue depth.
    
    Reported-by: Steve Best <sbest at redhat.com>
    Fixes: 0bcb45fb20c21 ("scsi: aacraid: Add helper function to set queue depth")
    cc: stable at vger.kernel.org
    Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta at microsemi.com>
    Reviewed-by: David Carroll <David.Carroll at microsemi.com>
    Reviewed-by: Ewan D. Milne <emilne at redhat.com>
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>

commit 813835028e9ae1f18cd11bb0ec591d0f0577d96a
Merge: 84bfed40fc25 b65c32ec5a94
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jun 26 08:44:15 2018 -0700

    Merge branch 'fixes-v4.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
    
    Pull security subsystem fixes from James Morris:
    
     - Smack: fix a regression caused by 1bbc55131e5
    
     - X.509: fix a (usually un-seen) bug in RSA signature parsing
    
    * 'fixes-v4.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      X.509: unpack RSA signatureValue field from BIT STRING
      Smack: Mark inode instant in smack_task_to_inode

commit 84bfed40fc25dd052620398fdcc19d8c77f02270
Merge: 6f0d349d922b c5b4a50b7401
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Tue Jun 26 08:41:54 2018 -0700

    Merge tag 'for-4.18-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
    
    Pull btrfs fixes from David Sterba:
     "Two regression fixes and an incorrect error value propagation fix from
      'rename exchange'"
    
    * tag 'for-4.18-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      Btrfs: fix return value on rename exchange failure
      btrfs: fix invalid-free in btrfs_extent_same
      Btrfs: fix physical offset reported by fiemap for inline extents

commit ce00bf07cc95a57cd20b208e02b3c2604e532ae8
Author: Jann Horn <jannh at google.com>
Date:   Mon Jun 25 17:22:00 2018 +0200

    netfilter: nf_log: don't hold nf_log_mutex during user access
    
    The old code would indefinitely block other users of nf_log_mutex if
    a userspace access in proc_dostring() blocked e.g. due to a userfaultfd
    region. Fix it by moving proc_dostring() out of the locked region.
    
    This is a followup to commit 266d07cb1c9a ("netfilter: nf_log: fix
    sleeping function called from invalid context"), which changed this code
    from using rcu_read_lock() to taking nf_log_mutex.
    
    Fixes: 266d07cb1c9a ("netfilter: nf_log: fix sleeping function calle[...]")
    Signed-off-by: Jann Horn <jannh at google.com>
    Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>

commit dffd22aed2aa1e804bccf19b30a421e89ee2ae61
Author: Jann Horn <jannh at google.com>
Date:   Wed Jun 20 18:33:45 2018 +0200

    netfilter: nf_log: fix uninit read in nf_log_proc_dostring
    
    When proc_dostring() is called with a non-zero offset in strict mode, it
    doesn't just write to the ->data buffer, it also reads. Make sure it
    doesn't read uninitialized data.
    
    Fixes: c6ac37d8d884 ("netfilter: nf_log: fix error on write NONE to [...]")
    Signed-off-by: Jann Horn <jannh at google.com>
    Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>

commit 1b6fe9798af8cb7d80fad5dd30ee1bcd1e0f51eb
Author: Adam Ford <aford173 at gmail.com>
Date:   Thu May 17 20:20:52 2018 -0500

    ARM: davinci: board-da850-evm: fix WP pin polarity for MMC/SD
    
    When booting from MMC/SD in rw mode on DA850 EVM, the system
    crashes because the write protect pin should be active high
    and not active low. This patch fixes the polarity of the WP pin.
    
    Fixes: bdf0e8364fd3 ("ARM: davinci: da850-evm: use gpio descriptor for mmc pins")
    Signed-off-by: Adam Ford <aford173 at gmail.com>
    Signed-off-by: Sekhar Nori <nsekhar at ti.com>

commit 094bdaddf129417ee5e5d885d2fe76a5adfada0f
Merge: 0ee1f4734967 9343ac87f2a4
Author: David S. Miller <davem at davemloft.net>
Date:   Tue Jun 26 22:53:29 2018 +0900

    Merge branch 'lan78xx-minor-fixes'
    
    Dave Stevenson says:
    
    ====================
    lan78xx minor fixes
    
    This is a small set of patches for the Microchip LAN78xx chip,
    as used in the Raspberry Pi 3B+.
    The main debug/discussion was on
    https://github.com/raspberrypi/linux/issues/2458
    
    Initial symptoms were that VLANs were very unreliable.
    A couple of things were found:
    - firstly that the hardware timeout value set failed to
      take into account the VLAN tag, so a full MTU packet
      would be timed out.
    - second was that regular checksum failures were being
      reported. Disabling checksum offload confirmed that
      the checksums were valid, and further experimentation
      identified that it was only if the VLAN tags were being
      passed through to the kernel that there were issues.
      The hardware supports VLAN filtering and tag stripping,
      therefore those have been implemented (much of the work
      was already done), and the driver drops back to s/w
      checksums should the choice be made not to use the h/w
      VLAN stripping.
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 9343ac87f2a4e09bf6e27b5f31e72e9e3a82abff
Author: Dave Stevenson <dave.stevenson at raspberrypi.org>
Date:   Mon Jun 25 15:07:15 2018 +0100

    net: lan78xx: Use s/w csum check on VLANs without tag stripping
    
    Observations of VLANs dropping packets due to invalid
    checksums when not offloading VLAN tag receive.
    With VLAN tag stripping enabled no issue is observed.
    
    Drop back to s/w checksums if VLAN offload is disabled.
    
    Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ec21ecf0aad27956dc64475e5acd78f3575df462
Author: Dave Stevenson <dave.stevenson at raspberrypi.org>
Date:   Mon Jun 25 15:07:14 2018 +0100

    net: lan78xx: Add support for VLAN tag stripping.
    
    The chip supports stripping the VLAN tag and reporting it
    in metadata.
    Complete the support for this.
    
    Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 4a27327b156e1e543c839a9358ba885564729ae7
Author: Dave Stevenson <dave.stevenson at raspberrypi.org>
Date:   Mon Jun 25 15:07:13 2018 +0100

    net: lan78xx: Add support for VLAN filtering.
    
    HW_VLAN_CTAG_FILTER was partially implemented, but not advertised
    to Linux.
    
    Complete the implementation of this.
    
    Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2259b7a64d71f27311a19fd7a5bed47413d75985
Author: Dave Stevenson <dave.stevenson at raspberrypi.org>
Date:   Mon Jun 25 15:07:12 2018 +0100

    net: lan78xx: Allow for VLAN headers in timeout calcs
    
    The frame abort timeout being set by lan78xx_set_rx_max_frame_length
    didn't account for any VLAN headers, resulting in very low
    throughput if used with tagged VLANs.
    
    Use VLAN_ETH_HLEN instead of ETH_HLEN to correct for this.
    
    Signed-off-by: Dave Stevenson <dave.stevenson at raspberrypi.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 941c06d58503b9f2718b20bc45ee7f1d701a1e1e
Author: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
Date:   Mon Jun 25 13:45:09 2018 +0530

    powerpc/mm/32: Fix pgtable_page_dtor call
    
    Commit 667416f38554 ("powerpc/mm: Fix kernel crash on page table free")
    added a call for pgtable_page_dtor in the rcu page table free routine. We missed
    the fact that for 32 bit platforms we did call the 'dtor' early. Drop the extra
    call for pgtable_page_dtor. We remove the call from __pte_free_tlb so that we
    do the page table free and 'dtor' call together. This should help when we
    switch these platforms to pte fragments.
    
    Fixes: 667416f38554 ("powerpc/mm: Fix kernel crash on page table free")
    Reported-by: Christophe Leroy <christophe.leroy at c-s.fr>
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

commit 6f6f42466d902c92f21b46a45e6af22d1d663607
Author: Bjorn Helgaas <bhelgaas at google.com>
Date:   Mon Jun 25 08:17:33 2018 -0500

    PCI: shpchp: Manage SHPC unconditionally on non-ACPI systems
    
    An SHPC can be operated either by platform firmware or by the OS.  The OS
    uses a host bridge ACPI _OSC method to negotiate for control of SHPC.  If
    firmware wants to prevent an OS from operating an SHPC, it must supply an
    _OSC method that declines to grant SHPC ownership to the OS.
    
    If acpi_pci_find_root() returns NULL, it means there's no ACPI host bridge
    device (PNP0A03 or PNP0A08) and hence no _OSC method, so the OS is always
    allowed to manage the SHPC.
    
    Fix a NULL pointer dereference when CONFIG_ACPI=y but the current
    hardware/firmware platform doesn't support ACPI.  In that case,
    acpi_get_hp_hw_control_from_firmware() is implemented but
    acpi_pci_find_root() returns NULL.
    
    Fixes: 90cc0c3cc709 ("PCI: shpchp: Add shpchp_is_native()")
    Link: https://lkml.kernel.org/r/20180621164715.28160-1-marc.zyngier@arm.com
    Reported-by: Marc Zyngier <marc.zyngier at arm.com>
    Tested-by: Marc Zyngier <marc.zyngier at arm.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
    Reviewed-by: Mika Westerberg <mika.westerberg at linux.intel.com>

commit dd349c3ffd93d15d01f4f5ace73870ca45ea249d
Author: Jeffrin Jose T <ahiliation at gmail.com>
Date:   Sat Jun 23 03:10:32 2018 +0530

    selftests: bpf: notification about privilege required to run test_lwt_seg6local.sh testing script
    
    This test needs root privilege for it's successful execution.
    
    This patch is atleast used to notify the user about the privilege
    the script demands for the  smooth execution of the test.
    
    Signed-off-by: Jeffrin Jose T (Rajagiri SET) <ahiliation at gmail.com>
    Acked-by: Song Liu <songliubraving at fb.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit b0e4b8bcd48bde31690f066044767475b2e4852b
Author: Jeffrin Jose T <ahiliation at gmail.com>
Date:   Sat Jun 23 00:24:17 2018 +0530

    selftests: bpf: notification about privilege required to run test_lirc_mode2.sh testing script
    
    The test_lirc_mode2.sh script require root privilege for the successful
    execution of the test.
    
    This patch is to notify the user about the privilege the script
    demands for the successful execution of the test.
    
    Signed-off-by: Jeffrin Jose T (Rajagiri SET) <ahiliation at gmail.com>
    Acked-by: Song Liu <songliubraving at fb.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit 5fadfc61934a33d362ca47c7f70786105d5681c1
Author: Anders Roxell <anders.roxell at linaro.org>
Date:   Mon Jun 25 16:56:05 2018 +0200

    selftests: bpf: add missing NET_SCHED to config
    
    CONFIG_NET_SCHED wasn't enabled in arm64's defconfig only for x86.
    
    So bpf/test_tunnel.sh tests fails with:
    
      RTNETLINK answers: Operation not supported
      RTNETLINK answers: Operation not supported
      We have an error talking to the kernel, -1
    
    Enable NET_SCHED and more tests pass.
    
    Fixes: 3bce593ac06b ("selftests: bpf: config: add config fragments")
    Signed-off-by: Anders Roxell <anders.roxell at linaro.org>
    Acked-by: Song Liu <songliubraving at fb.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit fdb5c4531c1e0e50e609df83f736b6f3a02896e2
Author: Sean Young <sean at mess.org>
Date:   Tue Jun 19 00:04:24 2018 +0100

    bpf: fix attach type BPF_LIRC_MODE2 dependency wrt CONFIG_CGROUP_BPF
    
    If the kernel is compiled with CONFIG_CGROUP_BPF not enabled, it is not
    possible to attach, detach or query IR BPF programs to /dev/lircN devices,
    making them impossible to use. For embedded devices, it should be possible
    to use IR decoding without cgroups or CONFIG_CGROUP_BPF enabled.
    
    This change requires some refactoring, since bpf_prog_{attach,detach,query}
    functions are now always compiled, but their code paths for cgroups need
    moving out. Rather than a #ifdef CONFIG_CGROUP_BPF in kernel/bpf/syscall.c,
    moving them to kernel/bpf/cgroup.c and kernel/bpf/sockmap.c does not
    require #ifdefs since that is already conditionally compiled.
    
    Fixes: f4364dcfc86d ("media: rc: introduce BPF_PROG_LIRC_MODE2")
    Signed-off-by: Sean Young <sean at mess.org>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit 0ee1f4734967af8321ecebaf9c74221ace34f2d5
Author: Jiri Slaby <jslaby at suse.cz>
Date:   Mon Jun 25 09:26:27 2018 +0200

    r8152: napi hangup fix after disconnect
    
    When unplugging an r8152 adapter while the interface is UP, the NIC
    becomes unusable.  usb->disconnect (aka rtl8152_disconnect) deletes
    napi. Then, rtl8152_disconnect calls unregister_netdev and that invokes
    netdev->ndo_stop (aka rtl8152_close). rtl8152_close tries to
    napi_disable, but the napi is already deleted by disconnect above. So
    the first while loop in napi_disable never finishes. This results in
    complete deadlock of the network layer as there is rtnl_mutex held by
    unregister_netdev.
    
    So avoid the call to napi_disable in rtl8152_close when the device is
    already gone.
    
    The other calls to usb_kill_urb, cancel_delayed_work_sync,
    netif_stop_queue etc. seem to be fine. The urb and netdev is not
    destroyed yet.
    
    Signed-off-by: Jiri Slaby <jslaby at suse.cz>
    Cc: linux-usb at vger.kernel.org
    Cc: netdev at vger.kernel.org
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0e311d237d7f3022b7dafb639b42541bfb42fe94
Author: Andrey Ryabinin <aryabinin at virtuozzo.com>
Date:   Mon Jun 25 13:24:27 2018 +0300

    x86/mm: Don't free P4D table when it is folded at runtime
    
    When the P4D page table layer is folded at runtime, the p4d_free()
    should do nothing, the same as in <asm-generic/pgtable-nop4d.h>.
    
    It seems this bug should cause double-free in efi_call_phys_epilog(),
    but I don't know how to trigger that code path, so I can't confirm that
    by testing.
    
    Signed-off-by: Andrey Ryabinin <aryabinin at virtuozzo.com>
    Reviewed-by: Kirill A. Shutemov <kirill.shutemov at linux.intel.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: stable at vger.kernel.org # 4.17
    Fixes: 98219dda2ab5 ("x86/mm: Fold p4d page table layer at runtime")
    Link: http://lkml.kernel.org/r/20180625102427.15015-1-aryabinin@virtuozzo.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 236f0cd286b67291796362feeac4f342900cfa82
Author: Jan Beulich <JBeulich at suse.com>
Date:   Mon Jun 25 04:21:59 2018 -0600

    x86/entry/32: Add explicit 'l' instruction suffix
    
    Omitting suffixes from instructions in AT&T mode is bad practice when
    operand size cannot be determined by the assembler from register
    operands, and is likely going to be warned about by upstream GAS in the
    future (mine does already).
    
    Add the single missing 'l' suffix here.
    
    Signed-off-by: Jan Beulich <jbeulich at suse.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Andy Lutomirski <luto at kernel.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/5B30C24702000078001CD6A6@prv1-mh.provo.novell.com
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 4188f063e3694ccbf2a2044cf17cc325f91e458f
Author: Dmitry Vyukov <dvyukov at google.com>
Date:   Mon Jun 25 14:38:08 2018 +0200

    x86/mm: Get rid of KERN_CONT in show_fault_oops()
    
    KERN_CONT leads to split lines in kernel output
    and complicates useful changes to printk like
    printing context before each line.
    
    Only acceptable use of continuations is basically
    boot-time testing.
    
    Get rid of it.
    
    Signed-off-by: Dmitry Vyukov <dvyukov at google.com>
    Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky at gmail.com>
    Cc: Andy Lutomirski <luto at kernel.org>
    Cc: Borislav Petkov <bp at alien8.de>
    Cc: Brian Gerst <brgerst at gmail.com>
    Cc: Denys Vlasenko <dvlasenk at redhat.com>
    Cc: H. Peter Anvin <hpa at zytor.com>
    Cc: Josh Poimboeuf <jpoimboe at redhat.com>
    Cc: Linus Torvalds <torvalds at linux-foundation.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Link: http://lkml.kernel.org/r/20180625123808.227417-1-dvyukov@gmail.com
    [ Removed unnecessary parentheses and prettified the printk statement. ]
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 32fdbd90cc03f01d452138bab4d8a120873d6acf
Author: Ingo Molnar <mingo at kernel.org>
Date:   Tue Jun 26 08:43:14 2018 +0200

    tools/headers: Pick up latest kernel ABIs
    
    Sync KVM ABI additions and x86 CPU features additions - neither of which
    has any impact on the tooling build.
    
    Cc: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: linux-kernel at vger.kernel.org
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 79598041079827a22b33dd3edcb0dd827b70e204
Merge: 6f0d349d922b 92ead7ee30c8
Author: Ingo Molnar <mingo at kernel.org>
Date:   Tue Jun 26 08:37:57 2018 +0200

    Merge tag 'perf-urgent-for-mingo-4.18-20180625' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
    
    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
    
    perf bench: (Jiri Olsa):
    
    - Fix NUMA report output code handling of less than 1s runtimes.
    
    perf script: (Ravi Bangoria)
    
    - Add missing output fields in a 'perf script -h' hint.
    
    - Fix crash because of missing evsel->priv.
    
    - Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE], which
      is just a end of features header marker.
    
    perf stat: (Thomas Richter)
    
    - Remove duplicate event counting
    
    perf test:
    
    - Wire parsing error handling in 'parse events' test (Jiri Olsa)
    
    - Fix 'session topology' test on s/390 (Thomas Richter)
    
    eBPF: (Yonghong Song)
    
    - Fix a clang 7.0 compilation error when building perf linking
      with libclang
    
    intel-pt: (Adrian Hunter)
    
    - Fix packet decoding of CYC packets.
    
    Copies of kernel files: (Arnaldo Carvalho de Melo)
    
    - Synchronize drm/drm.h UAPI
    
    - Update x86's syscall_64.tbl, adding support for 'io_pgetevents' and 'rseq'
      in 'perf trace'.
    
    - Update powerpc uapi/asm/unistd.h, adding support for the 'rseq' syscall.
    
    - Update if_link.h and bpf.h, no effect on tool features.
    
    PowerPC: (Sandipan Das)
    
    - Fix crash if callchain is empty.
    
    s/390: (Thomas Richter)
    
    - Support random socked_id assignment in the perf header.
    
    - Support s390 random socket_id assignment in perf.data file.
    
    - Make PMU alias definitions taken from sysfs and JSON files comparable
      by normalizing them wrt spaces and newlines.
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Signed-off-by: Ingo Molnar <mingo at kernel.org>

commit 7733e05b34f5d855c5590d816b41ddfee972d188
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Mon Jun 25 08:44:52 2018 +0200

    sample/mdev/mbochs: add mbochs_kunmap_dmabuf
    
    There is no default implementation for dma_buf_ops->unmap.
    So add a function unmapping the page, otherwise we'll leak them.
    
    Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
    Signed-off-by: Alex Williamson <alex.williamson at redhat.com>

commit 2203d8a76ea3b962559acfe3bb80eddfdfbc9cee
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Mon Jun 25 08:44:51 2018 +0200

    sample/mdev/mbochs: remove mbochs_kmap_atomic_dmabuf
    
    Atomic mapping interface for dmabufs will be removed.
    
    Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
    Signed-off-by: Alex Williamson <alex.williamson at redhat.com>

commit 0ea3fa15b12739c5455cd5850ada4e9948171213
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Fri May 25 18:08:24 2018 +0200

    qcom: cmd-db: enforce CONFIG_OF_RESERVED_MEM dependency
    
    Without CONFIG_OF_RESERVED_MEM, gcc sees that the global cmd_db_header
    variable is never initialized, and through code optimization concludes
    that a lot of other code cannot possibly work after that:
    
    drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_addr':
    drivers/soc/qcom/cmd-db.c:197:21: error: 'ent.addr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      return ret < 0 ? 0 : le32_to_cpu(ent.addr);
    drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_aux_data':
    drivers/soc/qcom/cmd-db.c:224:10: error: 'ent.len' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      ent_len = le16_to_cpu(ent.len);
    drivers/soc/qcom/cmd-db.c:115:6: error: 'rsc_hdr.data_offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      u16 offset = le16_to_cpu(hdr->data_offset);
          ^~~~~~
    drivers/soc/qcom/cmd-db.c:116:6: error: 'ent.offset' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      u16 loffset = le16_to_cpu(ent->offset);
          ^~~~~~~
    drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_aux_data_len':
    drivers/soc/qcom/cmd-db.c:250:38: error: 'ent.len' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      return ret < 0 ? 0 : le16_to_cpu(ent.len);
                                          ^
    drivers/soc/qcom/cmd-db.c: In function 'cmd_db_read_slave_id':
    drivers/soc/qcom/cmd-db.c:272:7: error: 'ent.addr' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    Using a hard CONFIG_OF_RESERVED_MEM dependency avoids this warning,
    and we can remove the CONFIG_OF dependency.
    
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Reviewed-by: Bjorn Andersson <bjorn.andersson at linaro.org>
    Signed-off-by: Andy Gross <andy.gross at linaro.org>

commit 9573ce74d3bc797758cbd55194aae1b7248f2503
Merge: ce397d215ccd 6b4154a655a2
Author: Andy Gross <andy.gross at linaro.org>
Date:   Mon Jun 25 23:53:28 2018 -0500

    Merge tag 'qcom-fixes-for-4.18-rc1' into linus
    
    Qualcomm Fixes for v4.18-rc1
    
    * Fix coresight graph on msm8916
    * Disable uart0 on db820c by default

commit 90f26cc6bb90b35040f4da0347f480ea9df6e2fc
Author: Peter Chen <peter.chen at nxp.com>
Date:   Wed Jun 6 09:43:27 2018 +0800

    usb: chipidea: host: fix disconnection detect issue
    
    The commit 4e88d4c08301 ("usb: add a flag to skip PHY
    initialization to struct usb_hcd") delete the assignment
    for hcd->usb_phy, it causes usb_phy_notify_connect{disconnect)
    are not called, the USB PHY driver is not notified of hot plug
    event, then the disconnection will not be detected by hardware.
    
    Fixes: 4e88d4c08301 ("usb: add a flag to skip PHY initialization
    	to struct usb_hcd")
    Acked-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
    Reported-by: Mats Karrman <mats.dev.list at gmail.com>
    Tested-by: Mats Karrman <mats.dev.list at gmail.com>
    Signed-off-by: Peter Chen <peter.chen at nxp.com>

commit ebc2dc5f9b231c1b64047c6717cd464104f086f4
Merge: 0a2bc00341dc 2a221c04228b
Author: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Date:   Tue Jun 26 07:45:52 2018 +0800

    Merge tag 'iio-fixes-4.18a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-linus
    
    Jonathan writes:
    
    First set of IIO fixes for the 4.18 cycle.
    
    * bmp280
      - Fix wrong relative humidity unit.
    * buffer
      - Fix a function signature to match the function.
    * inv_mpu6050
      - Fix a regression in which older ACPI devices won't have working
        interrupts due to lack of information on the interrupt type.
    * mma8452
      - Don't ignore data ready interrupt when handling interrupts as will
        look like an unhandled interrupt.
    * tsl2x7x/tsl2772
      - Avoid a potential division by zero.

commit 176cbf5f62e7a0aa0180af4826da9e7da1359988
Author: Bartosz Golaszewski <bgolaszewski at baylibre.com>
Date:   Mon Jun 25 19:25:50 2018 +0200

    clk: davinci: fix a typo (which leads to build failures)
    
    This should have been DM365, not DM356.
    
    Fixes: 4eff0bebf4ed5 ("clk: davinci: Fix link errors when not all SoCs are enabled")
    Cc: stable at vger.kernel.org
    Signed-off-by: Bartosz Golaszewski <bgolaszewski at baylibre.com>
    Signed-off-by: David Lechner <david at lechnology.com>

commit 0613de37373bbbc747d434f643620472bd13303b
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date:   Sat Jun 2 10:52:56 2018 +0300

    clk: davinci: cfgchip: testing the wrong variable
    
    There is a copy and paste bug here.  We should be testing "usb1" instead
    of "usb0".
    
    Fixes: 58e1e2d2cd89 ("clk: davinci: cfgchip: Add TI DA8XX USB PHY clocks")
    Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
    Signed-off-by: David Lechner <david at lechnology.com>

commit b65c32ec5a942ab3ada93a048089a938918aba7f
Author: Maciej S. Szmigiero <mail at maciej.szmigiero.name>
Date:   Sat May 19 14:23:54 2018 +0200

    X.509: unpack RSA signatureValue field from BIT STRING
    
    The signatureValue field of a X.509 certificate is encoded as a BIT STRING.
    For RSA signatures this BIT STRING is of so-called primitive subtype, which
    contains a u8 prefix indicating a count of unused bits in the encoding.
    
    We have to strip this prefix from signature data, just as we already do for
    key data in x509_extract_key_data() function.
    
    This wasn't noticed earlier because this prefix byte is zero for RSA key
    sizes divisible by 8. Since BIT STRING is a big-endian encoding adding zero
    prefixes has no bearing on its value.
    
    The signature length, however was incorrect, which is a problem for RSA
    implementations that need it to be exactly correct (like AMD CCP).
    
    Signed-off-by: Maciej S. Szmigiero <mail at maciej.szmigiero.name>
    Fixes: c26fd69fa009 ("X.509: Add a crypto key parser for binary (DER) X.509 certificates")
    Cc: stable at vger.kernel.org
    Signed-off-by: James Morris <james.morris at microsoft.com>

commit 92ead7ee30c80f8852d28735cbcb9d79bc85f715
Author: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Date:   Mon Jun 25 18:12:20 2018 +0530

    perf tools: Fix crash caused by accessing feat_ops[HEADER_LAST_FEATURE]
    
    perf_event__process_feature() accesses feat_ops[HEADER_LAST_FEATURE]
    which is not defined and thus perf is crashing. HEADER_LAST_FEATURE is
    used as an end marker for the perf report but it's unused for perf
    script/annotate. Ignore HEADER_LAST_FEATURE for perf script/annotate,
    just like it is done in 'perf report'.
    
    Before:
      # perf record -o - ls | perf script
      <SNIP 'ls' output>
      Segmentation fault (core dumped)
      #
    
    After:
      # perf record -o - ls | perf script
      <SNIP 'ls' output>
      Segmentation fault (core dumped)
      ls 7031 4392.099856:  250000 cpu-clock:uhH:  7f5e0ce7cd60
      ls 7031 4392.100355:  250000 cpu-clock:uhH:  7f5e0c706ef7
      #
    
    Signed-off-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
    Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
    Cc: Andi Kleen <ak at linux.intel.com>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: David Carrillo-Cisneros <davidcc at google.com>
    Cc: Jin Yao <yao.jin at linux.intel.com>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Fixes: 57b5de463925 ("perf report: Support forced leader feature in pipe mode")
    Link: http://lkml.kernel.org/r/20180625124220.6434-4-ravi.bangoria@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit a3af66f51bd0bca72881ead4bf2bd19cb366582b
Author: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Date:   Mon Jun 25 18:12:19 2018 +0530

    perf script: Fix crash because of missing evsel->priv
    
    'perf script' in piped mode is crashing because evsel->priv is not set
    properly. Fix it.
    
    Before:
    
      # perf record -o - -- ls | perf script
      <SNIP 'ls' output>
        Segmentation fault (core dumped)
      #
    
    After:
    
      # perf record -o - -- ls | perf script
      <SNIP 'ls' output>
      ls 2282 1031.731974:  250000 cpu-clock:uhH:  7effe4b3d29e
      ls 2282 1031.732222:  250000 cpu-clock:uhH:  7effe4b3a650
      #
    
    Signed-off-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
    Tested-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
    Cc: Andi Kleen <ak at linux.intel.com>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: David Carrillo-Cisneros <davidcc at google.com>
    Cc: Jin Yao <yao.jin at linux.intel.com>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Fixes: a14390fde64e ("perf script: Allow creating per-event dump files")
    Link: http://lkml.kernel.org/r/20180625124220.6434-3-ravi.bangoria@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 10e9cec905f96fdf47f398be70726e2931b376cd
Author: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
Date:   Mon Jun 25 18:12:18 2018 +0530

    perf script: Add missing output fields in a hint
    
    A few fields are missing in a perf script -F hint. Add them.
    
    Signed-off-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
    Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
    Cc: Andi Kleen <ak at linux.intel.com>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: David Carrillo-Cisneros <davidcc at google.com>
    Cc: Jin Yao <yao.jin at linux.intel.com>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Link: http://lkml.kernel.org/r/20180625124220.6434-2-ravi.bangoria@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 983107072be1a39cbde67d45cb0059138190e015
Author: Jiri Olsa <jolsa at kernel.org>
Date:   Wed Jun 20 11:40:36 2018 +0200

    perf bench: Fix numa report output code
    
    Currently we can hit following assert when running numa bench:
    
      $ perf bench numa mem -p 3 -t 1 -P 512 -s 100 -zZ0cm --thp 1
      perf: bench/numa.c:1577: __bench_numa: Assertion `!(!(((wait_stat) & 0x7f) == 0))' failed.
    
    The assertion is correct, because we hit the SIGFPE in following line:
    
      Thread 2.2 "thread 0/0" received signal SIGFPE, Arithmetic exception.
      [Switching to Thread 0x7fffd28c6700 (LWP 11750)]
      0x000.. in worker_thread (__tdata=0x7.. ) at bench/numa.c:1257
      1257 td->speed_gbs = bytes_done / (td->runtime_ns / NSEC_PER_SEC) / 1e9;
    
    We don't check if the runtime is actually bigger than 1 second,
    and thus this might end up with zero division within FPU.
    
    Adding the check to prevent this.
    
    Signed-off-by: Jiri Olsa <jolsa at kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Link: http://lkml.kernel.org/r/20180620094036.17278-1-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 6dde6429c5ff5b38d6d40a14a6ee105117e6364d
Author: Thomas Richter <tmricht at linux.ibm.com>
Date:   Fri Jun 15 12:11:05 2018 +0200

    perf stat: Remove duplicate event counting
    
    'perf stat' shows a mismatch in perf stat regarding counter names on
    s390:
    
    Run command:
    
       [root at s35lp76 perf]# ./perf stat -e tx_nc_tend  -v --
                    ~/mytesttx 1 >/tmp/111
       tx_nc_tend: 1 573146 573146
       tx_nc_tend: 1 573146 573146
    
       Performance counter stats for '/root/mytesttx 1':
    
                     3      tx_nc_tend
    
           0.001037252 seconds time elapsed
    
       [root at s35lp76 perf]#
    
    shows transaction counter tx_nc_tend with value 3 but it was triggered
    only once as seen by the output of mytesttx.
    
    When looking up the event name tx_nc_tend the following function
    sequence is called:
    
    parse_events_multi_pmu_add()
    +--> perf_pmu__scan() being called with NULL argument
         +--> pmu_read_sysfs() scans directory ../devices/ for
                               all PMUs
              +--> perf_pmu__find() tries to find a PMU in the
                               global pmu list.
                   +--> pmu_lookup() called to read all file
                                     entries when not in global
                                     list.
    
    pmu_lookup() causes the issue. It calls
    +---> pmu_aliases() to read all the entries in the PMU directory.
                        On s390 this is named
                        /sys/devices/cpum_cf/events.
          +--> pmu_aliases_parse() reads all files and creates an
                           alias for each file name.
    
                           So we end up with first entry created by
                           reading the sysfs file
                           [root at s35lp76 perf]# cat /sys/devices/cpum_cf
                                                    /events/TX_NC_TEND
                           event=0x008d
                           [root at s35lp76 perf]#
    
                           Debug output shows this entry
                           tx_nc_tend -> 'cpum_cf'/'event=0x008d
                           '/
                           After all files in this directory have been
                           read and aliases created this function is called:
          +--> pmu_add_cpu_aliases()
                           This function looks up the CPU tables
                           created by the json files.
                           With json files for s390 now available all
                           the aliases are added to
                           the PMU alias list a second time.
                           The second entry is added by
                           reading the json file converted by jevent
                           resulting in file pmu-events/pmu-events.c:
    
                           {
                             .name = "tx_nc_tend",
                             .event = "event=0x8d",
                             .desc = "Unit: cpum_cf Completed TEND \
                                      instructions \
                                      in non-constrained TX mode",
                             .topic = "extended",
                             .long_desc = "A TEND instruction has \
                                           completed  in a \
                                           non-constrained \
                                           transactional-execution mode",
                             .pmu = "cpum_cf",
                            },
    
                            Debug output shows this entry
                            tx_nc_tend -> 'cpum_cf'/'event=0x8d'/
    
    Function pmu_aliases_parse() and pmu_add_cpu_aliases() both use
    __perf_pmu__new_alias() to add an alias to the PMU alias list. There is
    no check if an alias already exist
    
    So we end up with 2 entries for tx_nc_tend in the PMU alias list.
    
    Having set up the PMU alias list for this PMU now
    parse_events_multi_add_pmu() reads the complete alias list and adds each
    alias with parse_events_add_pmu() to the global perfev_list.  This
    causes the alias to be added multiple times to the event list.
    
    Fix this by making __perf_pmu__new_alias() to merge alias definitions if
    an alias is already on the alias list.  Also print a debug message when
    the alias has mismatches in some fields.
    
    Output before:
    
      [root at s35lp76 perf]# ./perf stat -e tx_nc_tend  -v \
                            -- ~/mytesttx 1 >/tmp/111
      tx_nc_tend: 1 551446 551446
    
       Performance counter stats for '/root/mytesttx 1':
    
                       3      tx_nc_tend
    
             0.000961134 seconds time elapsed
    
      [root at s35lp76 perf]#
    
    Output after:
    
      [root at s35lp76 perf]#  ./perf stat -e tx_nc_tend  -v \
                            -- ~/mytesttx 1 >/tmp/111
      tx_nc_tend: 1 551446 551446
    
       Performance counter stats for '/root/mytesttx 1':
    
                       1      tx_nc_tend
    
             0.000961134 seconds time elapsed
    
      [root at s35lp76 perf]#
    
    Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
    Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
    Reviewed-by: Jiri Olsa <jolsa at redhat.com>
    Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
    Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
    Link: http://lkml.kernel.org/r/20180615101105.47047-3-tmricht@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 0c24d6fb7bd3578e5b9e4972d01bbe3d087ded33
Author: Thomas Richter <tmricht at linux.ibm.com>
Date:   Fri Jun 15 12:11:04 2018 +0200

    perf alias: Rebuild alias expression string to make it comparable
    
    PMU alias definitions in sysfs files may have spaces, newlines and
    numbers with leading zeroes. Some alias definitions may also appear in
    JSON files without spaces, etc.
    
    Scan alias definitions and remove leading zeroes, spaces, newlines, etc
    and rebuild string to make alias->str member comparable.
    
    s390 for example  has terms specified as event=0x0091 (read from files
    ../<PMU>/events/<FILE> and terms specified as event=0x91 (read from JSON
    files).
    
    Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
    Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
    Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
    Link: http://lkml.kernel.org/r/20180615101105.47047-2-tmricht@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit ea23ac73085743a4f1682d6605fe019577c82e1e
Author: Thomas Richter <tmricht at linux.ibm.com>
Date:   Fri Jun 15 12:11:03 2018 +0200

    perf alias: Remove trailing newline when reading sysfs files
    
    Remove a trailing newline when reading sysfs file contents such as
    /sys/devices/cpum_cf/events/TX_NC_TEND.  This shows when verbose option
    -v is used.
    
    Output before:
    
      tx_nc_tend -> 'cpum_cf'/'event=0x008d
      '/
    
    Output after:
    
      tx_nc_tend -> 'cpum_cf'/'event=0x8d'/
    
    Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
    Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
    Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
    Link: http://lkml.kernel.org/r/20180615101105.47047-1-tmricht@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit c6555c14572aeadf4fe2819abd971c4e7608b926
Author: Yonghong Song <yhs at fb.com>
Date:   Sat Jun 16 10:47:39 2018 -0700

    perf tools: Fix a clang 7.0 compilation error
    
    Arnaldo reported the perf build failure with latest llvm/clang compiler
    (7.0).
    
       $ make LIBCLANGLLVM=1 -C tools/perf/
       <SNIP>
        CC       /tmp/tmp.t53Qo38zci/tests/kmod-path.o
       util/c++/clang.cpp: In function ‘std::unique_ptr<llvm::SmallVectorImpl<char> >
           perf::getBPFObjectFromModule(llvm::Module*)’:
       util/c++/clang.cpp:150:43: error: no matching function for call to
           ‘llvm::TargetMachine::addPassesToEmitFile(llvm::legacy::PassManager&,
            llvm::raw_svector_ostream&, llvm::TargetMachine::CodeGenFileType)’
                   TargetMachine::CGFT_ObjectFile)) {
                                                 ^
       In file included from util/c++/clang.cpp:25:0:
       /usr/local/include/llvm/Target/TargetMachine.h:254:16: note: candidate:
           virtual bool llvm::TargetMachine::addPassesToEmitFile(
           llvm::legacy::PassManagerBase&, llvm::raw_pwrite_stream&,
           llvm::raw_pwrite_stream*, llvm::TargetMachine::CodeGenFileType, bool,
           llvm::MachineModuleInfo*)
         virtual bool addPassesToEmitFile(PassManagerBase &, raw_pwrite_stream &,
                      ^~~~~~~~~~~~~~~~~~~
      /usr/local/include/llvm/Target/TargetMachine.h:254:16: note:
          candidate expects 6 arguments, 3 provided
      mv: cannot stat '/tmp/tmp.t53Qo38zci/util/c++/.clang.o.tmp': No such file or directory
      make[7]: *** [/home/acme/git/perf/tools/build/Makefile.build:101:
          /tmp/tmp.t53Qo38zci/util/c++/clang.o] Error 1
      make[6]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: c++] Error 2
      make[5]: *** [/home/acme/git/perf/tools/build/Makefile.build:139: util] Error 2
      make[5]: *** Waiting for unfinished jobs....
        CC       /tmp/tmp.t53Qo38zci/tests/thread-map.o
    
    The function addPassesToEmitFile signature changed in llvm 7.0 and such
    a change caused the failure. This patch fixed the issue with using
    proper function signatures under different compiler versions.
    
    Reported-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Signed-off-by: Yonghong Song <yhs at fb.com>
    Tested-by: Arnaldo Carvalho de Melo <acme at redhat.com>
    Cc: Alexei Starovoitov <ast at fb.com>
    Cc: Daniel Borkmann <daniel at iogearbox.net>
    Cc: Jiri Olsa <jolsa at kernel.org>
    Cc: Martin KaFai Lau <kafai at fb.com>
    Cc: Wang Nan <wangnan0 at huawei.com>
    Link: http://lkml.kernel.org/r/20180616174739.1076733-1-yhs@fb.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit f568b472815fd6c34fe4cc30dde4572ee300d6c4
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Fri Jun 15 16:55:32 2018 -0300

    tools include uapi: Synchronize bpf.h with the kernel
    
    To pick the rename in:
    
      bd3a08aaa9a3 ("bpf: flowlabel in bpf_fib_lookup should be flowinfo")
    
    Silencing this build warning:
    
      Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf.h'
    
    Cc: Adrian Hunter <adrian.hunter at intel.com>
    Cc: Alexei Starovoitov <ast at kernel.org>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: Jiri Olsa <jolsa at kernel.org>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Cc: Wang Nan <wangnan0 at huawei.com>
    Link: https://lkml.kernel.org/n/tip-zd1sgtbybtjrrt7bqdybu0s0@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit bb9a33cb8a807e5ae9906563f5c1533904651b8b
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Fri Jun 15 16:46:57 2018 -0300

    tools include uapi: Update if_link.h to pick IFLA_{BRPORT_ISOLATED,VXLAN_TTL_INHERIT}
    
    The IFLA_BRPORT_ISOLATED and IFLA_VXLAN_TTL_INHERIT defines were added in:
    
      7d850abd5f4e ("net: bridge: add support for port isolation")
      72f6d71e491e ("vxlan: add ttl inherit support")
    
    Pick them, silencing this build warning:
    
      Warning: Kernel ABI header at 'tools/include/uapi/linux/if_link.h' differs from latest version at 'include/uapi/linux/if_link.h'
    
    Cc: Alexei Starovoitov <ast at kernel.org>
    Cc: David S. Miller <davem at davemloft.net>
    Cc: Eric Leblond <eric at regit.org>
    Cc: Hangbin Liu <liuhangbin at gmail.com>
    Cc: Nikolay Aleksandrov <nikolay at cumulusnetworks.com>
    Link: https://lkml.kernel.org/n/tip-ezi5u0mmdqm0wfm0y2y8176r@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 801f5e1ac783df9fafff8899ef2d5511bd4dbdcb
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Fri Jun 15 12:04:32 2018 -0300

    tools include powerpc: Update arch/powerpc/include/uapi/asm/unistd.h copy to get 'rseq' syscall
    
    This updates the tools/perf/ copy of the powerpc file used to generate
    the syscall table file used to make 'perf trace' become aware of the new
    'rseq' syscall, no matter in which system it gets built, i.e. older
    systems where the syscalls are not available in the running kernel (via
    tracefs) or in the system headers will still be aware of these
    syscalls/.
    
    From this commit:
    
      bb862b021d75 ("powerpc: Wire up restartable sequences system call")
    
    Silencing this tools/perf build warning:
    
      Warning: Kernel ABI header at 'tools/arch/powerpc/include/uapi/asm/unistd.h' differs from latest version at 'arch/powerpc/include/uapi/asm/unistd.h'
    
    Cc: Adrian Hunter <adrian.hunter at intel.com>
    Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
    Cc: Boqun Feng <boqun.feng at gmail.com>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
    Cc: Michael Ellerman <mpe at ellerman.id.au>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Cc: Ravi Bangoria <ravi.bangoria at linux.vnet.ibm.com>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: Thomas Richter <tmricht at linux.vnet.ibm.com>
    Cc: Wang Nan <wangnan0 at huawei.com>
    Link: https://lkml.kernel.org/n/tip-adtgz6u3apd76tghiu9w0k19@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit b1494ec029af6d6ea189cbc96ad66463f8df3579
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Fri Jun 15 11:48:43 2018 -0300

    perf tools: Update x86's syscall_64.tbl, adding 'io_pgetevents' and 'rseq'
    
    This updates the tools/perf/ copy of the system call table for x86 which makes
    'perf trace' become aware of the new 'io_pgetevents' and 'rseq' syscalls, no
    matter in which system it gets built, i.e. older systems where the syscalls are
    not available in the running kernel (via tracefs) or in the system headers will
    still be aware of these syscalls/.
    
    These are the csets introducing the source drift:
    
      05c17cedf85b ("x86: Wire up restartable sequence system call")
      7a074e96dee6 ("aio: implement io_pgetevents")
    
    This results in this build time change:
    
      $ diff -u /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c.old /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c
      --- /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c.old	2018-06-15 11:48:17.648948094 -0300
      +++ /tmp/build/perf/arch/x86/include/generated/asm/syscalls_64.c	2018-06-15 11:48:22.133942480 -0300
      @@ -332,5 +332,7 @@
              [330] = "pkey_alloc",
              [331] = "pkey_free",
              [332] = "statx",
      +       [333] = "io_pgetevents",
      +       [334] = "rseq",
       };
      -#define SYSCALLTBL_x86_64_MAX_ID 332
      +#define SYSCALLTBL_x86_64_MAX_ID 334
      $
    
    This silences the following tools/perf/ build warning:
    
      Warning: Kernel ABI header at 'tools/perf/arch/x86/entry/syscalls/syscall_64.tbl' differs from latest version at 'arch/x86/entry/syscalls/syscall_64.tbl'
    
    Cc: Adrian Hunter <adrian.hunter at intel.com>
    Cc: Christoph Hellwig <hch at lst.de>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: Jiri Olsa <jolsa at kernel.org>
    Cc: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Cc: Thomas Gleixner <tglx at linutronix.de>
    Cc: Wang Nan <wangnan0 at huawei.com>
    Link: https://lkml.kernel.org/n/tip-tfvyz51sabuzemrszbrhzxni@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 7b818dc57230bf050bbc4218cd4df8ec59b9945d
Author: Arnaldo Carvalho de Melo <acme at redhat.com>
Date:   Fri Jun 15 11:33:35 2018 -0300

    tools headers uapi: Synchronize drm/drm.h
    
    To pick up the new ioctls added in these csets:
    
      7595bda2fb43 ("drm: Add DRM client cap for aspect-ratio")
    
    The DRM caps are not yet being decoded in 'perf trace', so this sync
    doesn't incur in any change in behaviour in any tools, just silencing
    this tools/perf/ build warning:
    
    	Warning: Kernel ABI header at 'tools/include/uapi/drm/drm.h' differs from latest version at 'include/uapi/drm/drm.h'
    
    Cc: Adrian Hunter <adrian.hunter at intel.com>
    Cc: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: Jiri Olsa <jolsa at kernel.org>
    Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Cc: Wang Nan <wangnan0 at huawei.com>
    Link: https://lkml.kernel.org/n/tip-atwz0arwanq1npu8pptwkoxt@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 621a5a327c1e36ffd7bb567f44a559f64f76358f
Author: Adrian Hunter <adrian.hunter at intel.com>
Date:   Thu Jun 7 14:30:02 2018 +0300

    perf intel-pt: Fix packet decoding of CYC packets
    
    Use a 64-bit type so that the cycle count is not limited to 32-bits.
    
    Signed-off-by: Adrian Hunter <adrian.hunter at intel.com>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: stable at vger.kernel.org
    Link: http://lkml.kernel.org/r/1528371002-8862-1-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 16ddcfbf7f3d07aa781e26b39f2c28636a4ed2fd
Author: Jiri Olsa <jolsa at kernel.org>
Date:   Mon Jun 11 11:34:22 2018 +0200

    perf tests: Add valid callback for parse-events test
    
    Adding optional 'valid' callback for events tests in parse-events
    object, so we don't try to parse PMUs, which are not supported.
    
    Following line is displayed for skipped test:
    
      running test 52 'intel_pt//u'... SKIP
    
    Committer note:
    
    Use named initializers in the struct evlist_test variable to avoid
    breaking the build on centos:5, 6 and others with a similar gcc:
    
      cc1: warnings being treated as errors
      tests/parse-events.c: In function 'test_pmu_events':
      tests/parse-events.c:1817: error: missing initializer
      tests/parse-events.c:1817: error: (near initialization for 'e.type')
    
    Signed-off-by: Jiri Olsa <jolsa at kernel.org>
    Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
    Cc: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
    Cc: Kim Phillips <kim.phillips at arm.com>
    Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Richter <tmricht at linux.ibm.com>
    Link: http://lkml.kernel.org/r/20180611093422.1005-2-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 933ccf2002aaef1037cb676622a694f5390c3d59
Author: Jiri Olsa <jolsa at kernel.org>
Date:   Mon Jun 11 11:34:21 2018 +0200

    perf tests: Add event parsing error handling to parse events test
    
    Add missing error handling for parse_events calls in test_event function
    that led to following segfault on s390:
    
      running test 52 'intel_pt//u'
      perf: Segmentation fault
      ...
      /lib64/libc.so.6(vasprintf+0xe6) [0x3fffca3f106]
      /lib64/libc.so.6(asprintf+0x46) [0x3fffca1aa96]
      ./perf(parse_events_add_pmu+0xb8) [0x80132088]
      ./perf(parse_events_parse+0xc62) [0x8019529a]
      ./perf(parse_events+0x98) [0x801341c0]
      ./perf(test__parse_events+0x48) [0x800cd140]
      ./perf(cmd_test+0x26a) [0x800bd44a]
      test child interrupted
    
    Adding the struct parse_events_error argument to parse_events call. Also
    adding parse_events_print_error to get more details on the parsing
    failures, like:
    
      # perf test 6 -v
      running test 52 'intel_pt//u'failed to parse event 'intel_pt//u', err 1, str 'Cannot find PMU `intel_pt'. Missing kernel support?'
      event syntax error: 'intel_pt//u'
                           \___ Cannot find PMU `intel_pt'. Missing kernel support?
    
    Committer note:
    
    Use named initializers in the struct parse_events_error variable to
    avoid breaking the build on centos5, 6 and others with a similar gcc:
    
      cc1: warnings being treated as errors
      tests/parse-events.c: In function 'test_event':
      tests/parse-events.c:1696: error: missing initializer
      tests/parse-events.c:1696: error: (near initialization for 'err.str')
    
    Reported-by: Kim Phillips <kim.phillips at arm.com>
    Signed-off-by: Jiri Olsa <jolsa at kernel.org>
    Tested-by: Kim Phillips <kim.phillips at arm.com>
    Cc: Alexander Shishkin <alexander.shishkin at linux.intel.com>
    Cc: David Ahern <dsahern at gmail.com>
    Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
    Cc: Hendrik Brueckner <brueckner at linux.vnet.ibm.com>
    Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
    Cc: Namhyung Kim <namhyung at kernel.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Thomas Richter <tmricht at linux.ibm.com>
    Link: http://lkml.kernel.org/r/20180611093422.1005-1-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 143c99f6ac6812d23254e80844d6e34be897d3e1
Author: Sandipan Das <sandipan at linux.ibm.com>
Date:   Mon Jun 11 16:10:49 2018 +0530

    perf report powerpc: Fix crash if callchain is empty
    
    For some cases, the callchain provided by the kernel may be empty. So,
    the callchain ip filtering code will cause a crash if we do not check
    whether the struct ip_callchain pointer is NULL before accessing any
    members.
    
    This can be observed on a powerpc64le system running Fedora 27 as shown
    below.
    
      # perf record -b -e cycles:u ls
    
    Before:
    
      # perf report --branch-history
    
      perf: Segmentation fault
      -------- backtrace --------
      perf[0x1027615c]
      linux-vdso64.so.1(__kernel_sigtramp_rt64+0x0)[0x7fff856304d8]
      perf(arch_skip_callchain_idx+0x44)[0x10257c58]
      perf[0x1017f2e4]
      perf(thread__resolve_callchain+0x124)[0x1017ff5c]
      perf(sample__resolve_callchain+0xf0)[0x10172788]
      ...
    
    After:
    
      # perf report --branch-history
    
      Samples: 25  of event 'cycles:u', Event count (approx.): 2306870
        Overhead  Source:Line            Symbol                   Shared Object
      +   11.60%  _init+35736            [.] _init                ls
      +    9.84%  strcoll_l.c:137        [.] __strcoll_l          libc-2.26.so
      +    9.16%  memcpy.S:175           [.] __memcpy_power7      libc-2.26.so
      +    9.01%  gconv_charset.h:54     [.] _nl_find_locale      libc-2.26.so
      +    8.87%  dl-addr.c:52           [.] _dl_addr             libc-2.26.so
      +    8.83%  _init+236              [.] _init                ls
      ...
    
    Reported-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
    Signed-off-by: Sandipan Das <sandipan at linux.ibm.com>
    Acked-by: Ravi Bangoria <ravi.bangoria at linux.ibm.com>
    Cc: Jiri Olsa <jolsa at redhat.com>
    Cc: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
    Cc: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
    Link: http://lkml.kernel.org/r/20180611104049.11048-1-sandipan@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit b930e62ecd362843002bdf84c2940439822af321
Author: Thomas Richter <tmricht at linux.ibm.com>
Date:   Mon Jun 11 09:31:53 2018 +0200

    perf test session topology: Fix test on s390
    
    On s390 this test case fails because the socket identifiction numbers
    assigned to the CPU are higher than the CPU identification numbers.
    
    F/ix this by adding the platform architecture into the perf data header
    flag information. This helps identifiing the test platform and handles
    s390 specifics in process_cpu_topology().
    
    Before:
    
      [root at p23lp27 perf]# perf test -vvvvv -F 39
      39: Session topology                                      :
      --- start ---
      templ file: /tmp/perf-test-iUv755
      socket_id number is too big.You may need to upgrade the perf tool.
      ---- end ----
      Session topology: Skip
      [root at p23lp27 perf]#
    
    After:
    
      [root at p23lp27 perf]# perf test -vvvvv -F 39
      39: Session topology                                      :
      --- start ---
      templ file: /tmp/perf-test-8X8VTs
      CPU 0, core 0, socket 6
      CPU 1, core 1, socket 3
      ---- end ----
      Session topology: Ok
      [root at p23lp27 perf]#
    
    Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
    Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
    Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
    Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
    Fixes: c84974ed9fb6 ("perf test: Add entry to test cpu topology")
    Link: http://lkml.kernel.org/r/20180611073153.15592-2-tmricht@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 01766229533f9bdb1144a41b4345c8c7286da7b4
Author: Thomas Richter <tmricht at linux.ibm.com>
Date:   Mon Jun 11 09:31:52 2018 +0200

    perf record: Support s390 random socket_id assignment
    
    On s390 the socket identifier assigned to a CPU identifier is random and
    (depending on the configuration of the LPAR) may be higher than the CPU
    identifier. This is currently not supported.
    
    Fix this by allowing arbitrary socket identifiers being assigned to
    CPU id.
    
    Output before:
    
      [root at p23lp27 perf]# ./perf report --header -I -v
      ...
      socket_id number is too big.You may need to upgrade the perf tool.
      Error:
      The perf.data file has no samples!
      # ========
      # captured on    : Tue May 29 09:29:57 2018
      # header version : 1
      ...
      # Core ID and Socket ID information is not available
      ...
      [root at p23lp27 perf]#
    
    Output after:
    
      [root at p23lp27 perf]# ./perf report --header -I -v
      ...
      Error:
      The perf.data file has no samples!
      # ========
      # captured on    : Tue May 29 09:29:57 2018
      # header version : 1
      ...
      # CPU 0: Core ID 0, Socket ID 6
      # CPU 1: Core ID 1, Socket ID 3
      # CPU 2: Core ID -1, Socket ID -1
      ...
      [root at p23lp27 perf]#
    
    Signed-off-by: Thomas Richter <tmricht at linux.ibm.com>
    Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
    Cc: Heiko Carstens <heiko.carstens at de.ibm.com>
    Cc: Martin Schwidefsky <schwidefsky at de.ibm.com>
    Link: http://lkml.kernel.org/r/20180611073153.15592-1-tmricht@linux.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme at redhat.com>

commit 0a2bc00341dcfcc793c0dbf4f8d43adf60458b05
Author: Laura Abbott <labbott at redhat.com>
Date:   Mon Jun 11 11:06:53 2018 -0700

    staging: android: ion: Return an ERR_PTR in ion_map_kernel
    
    The expected return value from ion_map_kernel is an ERR_PTR. The error
    path for a vmalloc failure currently just returns NULL, triggering
    a warning in ion_buffer_kmap_get. Encode the vmalloc failure as an ERR_PTR.
    
    Reported-by: syzbot+55b1d9f811650de944c6 at syzkaller.appspotmail.com
    Signed-off-by: Laura Abbott <labbott at redhat.com>
    Cc: stable <stable at vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 1376b0a2160319125c3a2822e8c09bd283cd8141
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date:   Tue Jun 5 12:36:30 2018 +0300

    staging: comedi: quatech_daqp_cs: fix no-op loop daqp_ao_insn_write()
    
    There is a '>' vs '<' typo so this loop is a no-op.
    
    Fixes: d35dcc89fc93 ("staging: comedi: quatech_daqp_cs: fix daqp_ao_insn_write()")
    Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
    Reviewed-by: Ian Abbott <abbotti at mev.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit bdb60101df4a2999608430112a5abfb78628db1e
Author: Randy Dunlap <rdunlap at infradead.org>
Date:   Fri Jun 22 20:08:21 2018 -0700

    kconfig: document Kconfig source file comments
    
    I saw this type of Kconfig construct on LKML:
    
    config SYMBOOL
    	#bool "prompt string"
    	default y
    
    and wondered what it does.  Then I wondered if '#' comments are
    even documented.  They aren't, so add a little doc for that.
    
    Ah, good.  kconfig says:
    arch/x86/Kconfig:2942:warning: config symbol defined without type
    
    Signed-off-by: Randy Dunlap <rdunlap at infradead.org>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

commit b2d00d7c61c84edd150310af3f556f8a3c6e2e67
Author: Dirk Gouders <dirk at gouders.net>
Date:   Thu Jun 21 15:30:54 2018 +0200

    kconfig: fix line numbers for if-entries in menu tree
    
    The line numers for if-entries in the menu tree are off by one or more
    lines which is confusing when debugging for correctness of unrelated changes.
    
    According to the git log, commit a02f0570ae201c49 (kconfig: improve
    error handling in the parser) was the last one that changed that part
    of the parser and replaced
    
    	"if_entry: T_IF expr T_EOL"
    by
    	"if_entry: T_IF expr nl"
    
    but the commit message does not state why this has been done.
    
    When reverting that part of the commit, only the line numers are
    corrected (checked with cdebug = DEBUG_PARSE in zconf.y), otherwise
    the menu tree remains unchanged (checked with zconfdump() enabled in
    conf.c).
    
    An example for the corrected line numbers:
    
    drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
    drivers/soc/tegra/Kconfig:4:if
    drivers/soc/tegra/Kconfig:6:if
    
    changes to:
    
    drivers/soc/Kconfig:15:source drivers/soc/tegra/Kconfig
    drivers/soc/tegra/Kconfig:1:if
    drivers/soc/tegra/Kconfig:4:if
    
    Signed-off-by: Dirk Gouders <dirk at gouders.net>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

commit 5391e536dbf702de6581369e47c9c4cea3a87170
Author: Sven Joachim <svenjoac at gmx.de>
Date:   Mon Jun 18 19:45:25 2018 +0200

    stack-protector: Fix test with 32-bit userland and CONFIG_64BIT=y
    
    When building a 64-bit 4.18-rc1 kernel with a 32-bit userland, I
    noticed that stack protection was silently disabled.  Adding -m64 in
    gcc-x86_64-has-stack-protector.sh fixed that, similar to what has been
    noticed in commit 2a61f4747eea ("stack-protector: test compiler
    capability in Kconfig and drop AUTO mode") for
    gcc-x86_32-has-stack-protector.sh.
    
    Signed-off-by: Sven Joachim <svenjoac at gmx.de>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

commit ac8517440344dbe598f7c1c23e686c800b563061
Author: Paul Burton <paul.burton at mips.com>
Date:   Tue Jun 19 13:14:58 2018 -0700

    powerpc: Remove -Wattribute-alias pragmas
    
    With SYSCALL_DEFINEx() disabling -Wattribute-alias generically, there's
    no need to duplicate that for PowerPC syscalls.
    
    This reverts commit 415520373975 ("powerpc: fix build failure by
    disabling attribute-alias warning in pci_32") and commit 2479bfc9bc60
    ("powerpc: Fix build by disabling attribute-alias warning for
    SYSCALL_DEFINEx").
    
    Signed-off-by: Paul Burton <paul.burton at mips.com>
    Acked-by: Christophe Leroy <christophe.leroy at c-s.fr>
    Acked-by: Michael Ellerman <mpe at ellerman.id.au>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

commit bee20031772af3debe8cbaa234528f24c7892e8f
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Tue Jun 19 13:14:57 2018 -0700

    disable -Wattribute-alias warning for SYSCALL_DEFINEx()
    
    gcc-8 warns for every single definition of a system call entry
    point, e.g.:
    
    include/linux/compat.h:56:18: error: 'compat_sys_rt_sigprocmask' alias between functions of incompatible types 'long int(int,  compat_sigset_t *, compat_sigset_t *, compat_size_t)' {aka 'long int(int,  struct <anonymous> *, struct <anonymous> *, unsigned int)'} and 'long int(long int,  long int,  long int,  long int)' [-Werror=attribute-alias]
      asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))\
                      ^~~~~~~~~~
    include/linux/compat.h:45:2: note: in expansion of macro 'COMPAT_SYSCALL_DEFINEx'
      COMPAT_SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
      ^~~~~~~~~~~~~~~~~~~~~~
    kernel/signal.c:2601:1: note: in expansion of macro 'COMPAT_SYSCALL_DEFINE4'
     COMPAT_SYSCALL_DEFINE4(rt_sigprocmask, int, how, compat_sigset_t __user *, nset,
     ^~~~~~~~~~~~~~~~~~~~~~
    include/linux/compat.h:60:18: note: aliased declaration here
      asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))\
                      ^~~~~~~~~~
    
    The new warning seems reasonable in principle, but it doesn't
    help us here, since we rely on the type mismatch to sanitize the
    system call arguments. After I reported this as GCC PR82435, a new
    -Wno-attribute-alias option was added that could be used to turn the
    warning off globally on the command line, but I'd prefer to do it a
    little more fine-grained.
    
    Interestingly, turning a warning off and on again inside of
    a single macro doesn't always work, in this case I had to add
    an extra statement inbetween and decided to copy the __SC_TEST
    one from the native syscall to the compat syscall macro.  See
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83256 for more details
    about this.
    
    [paul.burton at mips.com:
      - Rebase atop current master.
      - Split GCC & version arguments to __diag_ignore() in order to match
        changes to the preceding patch.
      - Add the comment argument to match the preceding patch.]
    
    Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82435
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Signed-off-by: Paul Burton <paul.burton at mips.com>
    Tested-by: Christophe Leroy <christophe.leroy at c-s.fr>
    Tested-by: Stafford Horne <shorne at gmail.com>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

commit 8793bb7f4a9dd1396575d2e9337d331662cb7555
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Tue Jun 19 13:14:56 2018 -0700

    kbuild: add macro for controlling warnings to linux/compiler.h
    
    I have occasionally run into a situation where it would make sense to
    control a compiler warning from a source file rather than doing so from
    a Makefile using the $(cc-disable-warning, ...) or $(cc-option, ...)
    helpers.
    
    The approach here is similar to what glibc uses, using __diag() and
    related macros to encapsulate a _Pragma("GCC diagnostic ...") statement
    that gets turned into the respective "#pragma GCC diagnostic ..." by
    the preprocessor when the macro gets expanded.
    
    Like glibc, I also have an argument to pass the affected compiler
    version, but decided to actually evaluate that one. For now, this
    supports GCC_4_6, GCC_4_7, GCC_4_8, GCC_4_9, GCC_5, GCC_6, GCC_7,
    GCC_8 and GCC_9. Adding support for CLANG_5 and other interesting
    versions is straightforward here. GNU compilers starting with gcc-4.2
    could support it in principle, but "#pragma GCC diagnostic push"
    was only added in gcc-4.6, so it seems simpler to not deal with those
    at all. The same versions show a large number of warnings already,
    so it seems easier to just leave it at that and not do a more
    fine-grained control for them.
    
    The use cases I found so far include:
    
    - turning off the gcc-8 -Wattribute-alias warning inside of the
      SYSCALL_DEFINEx() macro without having to do it globally.
    
    - Reducing the build time for a simple re-make after a change,
      once we move the warnings from ./Makefile and
      ./scripts/Makefile.extrawarn into linux/compiler.h
    
    - More control over the warnings based on other configurations,
      using preprocessor syntax instead of Makefile syntax. This should make
      it easier for the average developer to understand and change things.
    
    - Adding an easy way to turn the W=1 option on unconditionally
      for a subdirectory or a specific file. This has been requested
      by several developers in the past that want to have their subsystems
      W=1 clean.
    
    - Integrating clang better into the build systems. Clang supports
      more warnings than GCC, and we probably want to classify them
      as default, W=1, W=2 etc, but there are cases in which the
      warnings should be classified differently due to excessive false
      positives from one or the other compiler.
    
    - Adding a way to turn the default warnings into errors (e.g. using
      a new "make E=0" tag) while not also turning the W=1 warnings into
      errors.
    
    This patch for now just adds the minimal infrastructure in order to
    do the first of the list above. As the #pragma GCC diagnostic
    takes precedence over command line options, the next step would be
    to convert a lot of the individual Makefiles that set nonstandard
    options to use __diag() instead.
    
    [paul.burton at mips.com:
      - Rebase atop current master.
      - Add __diag_GCC, or more generally __diag_<compiler>, abstraction to
        avoid code outside of linux/compiler-gcc.h needing to duplicate
        knowledge about different GCC versions.
      - Add a comment argument to __diag_{ignore,warn,error} which isn't
        used in the expansion of the macros but serves to push people to
        document the reason for using them - per feedback from Kees Cook.
      - Translate severity to GCC-specific pragmas in linux/compiler-gcc.h
        rather than using GCC-specific in linux/compiler_types.h.
      - Drop all but GCC 8 macros, since we only need to define macros for
        versions that we need to introduce pragmas for, and as of this
        series that's just GCC 8.
      - Capitalize comments in linux/compiler-gcc.h to match the style of
        the rest of the file.
      - Line up macro definitions with tabs in linux/compiler-gcc.h.]
    
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Signed-off-by: Paul Burton <paul.burton at mips.com>
    Tested-by: Christophe Leroy <christophe.leroy at c-s.fr>
    Tested-by: Stafford Horne <shorne at gmail.com>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>

commit d5a4f93511b7000183c0d528739b824752139f79
Author: Peter Chen <peter.chen at nxp.com>
Date:   Tue Jun 12 09:53:01 2018 +0800

    usb: typec: tcpm: fix logbuffer index is wrong if _tcpm_log is re-entered
    
    The port->logbuffer_head may be wrong if the two processes enters
    _tcpm_log at the mostly same time. The 2nd process enters _tcpm_log
    before the 1st process update the index, then the 2nd process will
    not allocate logbuffer, when the 2nd process tries to use log buffer,
    the index has already updated by the 1st process, so it will get
    NULL pointer for updated logbuffer, the error message like below:
    
    	tcpci 0-0050: Log buffer index 6 is NULL
    
    Cc: Heikki Krogerus <heikki.krogerus at linux.intel.com>
    Cc: Guenter Roeck <linux at roeck-us.net>
    Cc: Jun Li <jun.li at nxp.com>
    Signed-off-by: Peter Chen <peter.chen at nxp.com>
    Reviewed-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
    Cc: stable <stable at vger.kernel.org>
    Reviewed-by: Guenter Roeck <linux at roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 9578bcd0bb487b8ecef4b7eee799aafb678aa441
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date:   Thu Jun 7 16:17:14 2018 +0300

    typec: tcpm: Fix a msecs vs jiffies bug
    
    The tcpm_set_state() function take msecs not jiffies.
    
    Fixes: f0690a25a140 ("staging: typec: USB Type-C Port Manager (tcpm)")
    Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
    Acked-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
    Reviewed-by: Guenter Roeck <linux at roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit ecc443c03fb14abfb8a6af5e3b2d43b5257e60f2
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Thu Jun 7 15:54:48 2018 +0200

    NFC: pn533: Fix wrong GFP flag usage
    
    pn533_recv_response() is an urb completion handler, so it must use
    GFP_ATOMIC. pn533_usb_send_frame() OTOH runs from a regular sleeping
    context, so the pn533_submit_urb_for_response() there (and only there)
    can use the regular GFP_KERNEL flags.
    
    BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1514134
    Fixes: 9815c7cf22da ("NFC: pn533: Separate physical layer from ...")
    Cc: Michael Thalmeier <michael.thalmeier at hale.at>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 4a762569a2722b8a48066c7bacf0e1dc67d17fa1
Author: Houston Yaroschoff <hstn at 4ever3.net>
Date:   Mon Jun 11 12:39:09 2018 +0200

    usb: cdc_acm: Add quirk for Uniden UBC125 scanner
    
    Uniden UBC125 radio scanner has USB interface which fails to work
    with cdc_acm driver:
      usb 1-1.5: new full-speed USB device number 4 using xhci_hcd
      cdc_acm 1-1.5:1.0: Zero length descriptor references
      cdc_acm: probe of 1-1.5:1.0 failed with error -22
    
    Adding the NO_UNION_NORMAL quirk for the device fixes the issue:
      usb 1-4: new full-speed USB device number 15 using xhci_hcd
      usb 1-4: New USB device found, idVendor=1965, idProduct=0018
      usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      usb 1-4: Product: UBC125XLT
      usb 1-4: Manufacturer: Uniden Corp.
      usb 1-4: SerialNumber: 0001
      cdc_acm 1-4:1.0: ttyACM0: USB ACM device
    
    `lsusb -v` of the device:
    
      Bus 001 Device 015: ID 1965:0018 Uniden Corporation
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               2.00
        bDeviceClass            2 Communications
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0        64
        idVendor           0x1965 Uniden Corporation
        idProduct          0x0018
        bcdDevice            0.01
        iManufacturer           1 Uniden Corp.
        iProduct                2 UBC125XLT
        iSerial                 3 0001
        bNumConfigurations      1
        Configuration Descriptor:
          bLength                 9
          bDescriptorType         2
          wTotalLength           48
          bNumInterfaces          2
          bConfigurationValue     1
          iConfiguration          0
          bmAttributes         0x80
            (Bus Powered)
          MaxPower              500mA
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      0 None
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x87  EP 7 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0008  1x 8 bytes
              bInterval              10
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0 Unused
            bInterfaceProtocol      0
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x81  EP 1 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x02  EP 2 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               0
      Device Status:     0x0000
        (Bus Powered)
    
    Signed-off-by: Houston Yaroschoff <hstn at 4ever3.net>
    Cc: stable <stable at vger.kernel.org>
    Acked-by: Oliver Neukum <oneukum at suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit e16711c32bca59a29d8ef449eda5b8427dc6eb6d
Author: Randy Dunlap <rdunlap at infradead.org>
Date:   Wed Jun 20 17:05:42 2018 -0700

    staging/typec: fix tcpci_rt1711h build errors
    
    Fix Kconfig warning and build errors in staging/typec/rt1711h.c.
    The driver uses I2C interfaces so it should depend on I2C.
    
    WARNING: unmet direct dependencies detected for TYPEC_TCPCI
      Depends on [m]: STAGING [=y] && TYPEC_TCPM [=y] && I2C [=m]
      Selected by [y]:
      - TYPEC_RT1711H [=y] && STAGING [=y] && TYPEC_TCPM [=y]
    
    and then:
    drivers/staging/typec/tcpci.o: In function `tcpci_probe':
    ../drivers/staging/typec/tcpci.c:536: undefined reference to `__devm_regmap_init_i2c'
    drivers/staging/typec/tcpci.o: In function `tcpci_i2c_driver_init':
    ../drivers/staging/typec/tcpci.c:593: undefined reference to `i2c_register_driver'
    drivers/staging/typec/tcpci.o: In function `tcpci_i2c_driver_exit':
    ../drivers/staging/typec/tcpci.c:593: undefined reference to `i2c_del_driver'
    drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_check_revision':
    ../drivers/staging/typec/tcpci_rt1711h.c:218: undefined reference to `i2c_smbus_read_word_data'
    ../drivers/staging/typec/tcpci_rt1711h.c:225: undefined reference to `i2c_smbus_read_word_data'
    drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_probe':
    ../drivers/staging/typec/tcpci_rt1711h.c:251: undefined reference to `__devm_regmap_init_i2c'
    drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_i2c_driver_init':
    ../drivers/staging/typec/tcpci_rt1711h.c:308: undefined reference to `i2c_register_driver'
    drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_i2c_driver_exit':
    ../drivers/staging/typec/tcpci_rt1711h.c:308: undefined reference to `i2c_del_driver'
    
    Fixes: ce08eaeb6388 ("staging: typec: rt1711h typec chip driver")
    
    Reported-by: kbuild test robot <lkp at intel.com>
    Signed-off-by: Randy Dunlap <rdunlap at infradead.org>
    Cc: ShuFan Lee <shufan_lee at richtek.com>
    Cc: kbuild-all at 01.org
    Reviewed-by: Guenter Roeck <linux at roeck-us.net>
    Revieved-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 68816e16b4789f2d05e77b6dcb77564cf5d6a8d8
Author: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Date:   Thu Jun 21 16:43:19 2018 +0300

    usb: typec: ucsi: Fix for incorrect status data issue
    
    According to UCSI Specification, Connector Change Event only
    means a change in the Connector Status and Operation Mode
    fields of the STATUS data structure. So any other change
    should create another event.
    
    Unfortunately on some platforms the firmware acting as PPM
    (platform policy manager - usually embedded controller
    firmware) still does not report any other status changes if
    there is a connector change event. So if the connector power
    or data role was changed when a device was plugged to the
    connector, the driver does not get any indication about
    that. The port will show wrong roles if that happens.
    
    To fix the issue, always checking the data and power role
    together with a connector change event.
    
    Fixes: c1b0bc2dabfa ("usb: typec: Add support for UCSI interface")
    Signed-off-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
    Cc: stable <stable at vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 1f9f9d168ce619608572b01771c47a41b15429e6
Author: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Date:   Thu Jun 21 16:43:18 2018 +0300

    usb: typec: ucsi: acpi: Workaround for cache mode issue
    
    This fixes an issue where the driver fails with an error:
    
    	ioremap error for 0x3f799000-0x3f79a000, requested 0x2, got 0x0
    
    On some platforms the UCSI ACPI mailbox SystemMemory
    Operation Region may be setup before the driver has been
    loaded. That will lead into the driver failing to map the
    mailbox region, as it has been already marked as write-back
    memory. acpi_os_ioremap() for x86 uses ioremap_cache()
    unconditionally.
    
    When the issue happens, the embedded controller has a
    pending query event for the UCSI notification right after
    boot-up which causes the operation region to be setup before
    UCSI driver has been loaded.
    
    The fix is to notify acpi core that the driver is about to
    access memory region which potentially overlaps with an
    operation region right before mapping it.
    acpi_release_memory() will check if the memory has already
    been setup (mapped) by acpi core, and deactivate it (unmap)
    if it has. The driver is then able to map the memory with
    ioremap_nocache() and set the memtype to uncached for the
    region.
    
    Reported-by: Paul Menzel <pmenzel at molgen.mpg.de>
    Fixes: 8243edf44152 ("usb: typec: ucsi: Add ACPI driver")
    Cc: stable at vger.kernel.org
    Signed-off-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit d2d2e3c46be5d6dd8001d0eebdf7cafb9bc7006b
Author: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Date:   Thu Jun 21 16:43:17 2018 +0300

    acpi: Add helper for deactivating memory region
    
    Sometimes memory resource may be overlapping with
    SystemMemory Operation Region by design, for example if the
    memory region is used as a mailbox for communication with a
    firmware in the system. One occasion of such mailboxes is
    USB Type-C Connector System Software Interface (UCSI).
    
    With regions like that, it is important that the driver is
    able to map the memory with the requirements it has. For
    example, the driver should be allowed to map the memory as
    non-cached memory. However, if the operation region has been
    accessed before the driver has mapped the memory, the memory
    has been marked as write-back by the time the driver is
    loaded. That means the driver will fail to map the memory
    if it expects non-cached memory.
    
    To work around the problem, introducing helper that the
    drivers can use to temporarily deactivate (unmap)
    SystemMemory Operation Regions that overlap with their
    IO memory.
    
    Fixes: 8243edf44152 ("usb: typec: ucsi: Add ACPI driver")
    Cc: stable at vger.kernel.org
    Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
    Signed-off-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 305886ca87be480ae159908c2affd135c04215cf
Author: Ajay Gupta <ajaykuee at gmail.com>
Date:   Thu Jun 21 16:19:45 2018 +0300

    usb: xhci: increase CRS timeout value
    
    Some controllers take almost 55ms to complete controller
    restore state (CRS).
    There is no timeout limit mentioned in xhci specification so
    fixing the issue by increasing the timeout limit to 100ms
    
    [reformat code comment -Mathias]
    Signed-off-by: Ajay Gupta <ajaykuee at gmail.com>
    Signed-off-by: Nagaraj Annaiah <naga.annaiah at gmail.com>
    Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 3431a150fd89bc74cd2f2aaf6977cc0e278fb445
Author: Stefan Agner <stefan at agner.ch>
Date:   Thu Jun 21 16:19:44 2018 +0300

    usb: xhci: tegra: fix runtime PM error handling
    
    The address-of operator will always evaluate to true. However,
    power should be explicitly disabled if no power domain is used.
    
    Remove the address-of operator.
    
    Fixes: 58c38116c6cc ("usb: xhci: tegra: Add support for managing powergates")
    Signed-off-by: Stefan Agner <stefan at agner.ch>
    Acked-by: Jon Hunter <jonathanh at nvidia.com>
    Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 36eb93509c45d0bdbd8d09a01ab9d857972f5963
Author: Dongjiu Geng <gengdongjiu at huawei.com>
Date:   Thu Jun 21 16:19:43 2018 +0300

    usb: xhci: remove the code build warning
    
    Initialize the 'err' variate to remove the build warning,
    the warning is shown as below:
    
    drivers/usb/host/xhci-tegra.c: In function 'tegra_xusb_mbox_thread':
    drivers/usb/host/xhci-tegra.c:552:6: warning: 'err' may be used uninitialized in this function [-Wuninitialized]
    drivers/usb/host/xhci-tegra.c:482:6: note: 'err' was declared here
    
    Fixes: e84fce0f8837 ("usb: xhci: Add NVIDIA Tegra XUSB controller driver")
    Signed-off-by: Dongjiu Geng <gengdongjiu at huawei.com>
    Acked-by: Thierry Reding <treding at nvidia.com>
    Acked-by: Jon Hunter <jonathanh at nvidia.com>
    Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit d850c1658328e757635a46763783c6fd56390dcb
Author: Zhengjun Xing <zhengjun.xing at linux.intel.com>
Date:   Thu Jun 21 16:19:42 2018 +0300

    xhci: Fix kernel oops in trace_xhci_free_virt_device
    
    commit 44a182b9d177 ("xhci: Fix use-after-free in xhci_free_virt_device")
    set dev->udev pointer to NULL in xhci_free_dev(), it will cause kernel
    panic in trace_xhci_free_virt_device. This patch reimplement the trace
    function trace_xhci_free_virt_device, remove dev->udev dereference and
    added more useful parameters to show in the trace function,it also makes
    sure dev->udev is not NULL before calling trace_xhci_free_virt_device.
    This issue happened when xhci-hcd trace is enabled and USB devices hot
    plug test. Original use-after-free patch went to stable so this needs so
    be applied there as well.
    
    [ 1092.022457] usb 2-4: USB disconnect, device number 6
    [ 1092.092772] BUG: unable to handle kernel NULL pointer dereference at 0000000000000000
    [ 1092.101694] PGD 0 P4D 0
    [ 1092.104601] Oops: 0000 [#1] SMP
    [ 1092.207734] Workqueue: usb_hub_wq hub_event
    [ 1092.212507] RIP: 0010:trace_event_raw_event_xhci_log_virt_dev+0x6c/0xf0
    [ 1092.220050] RSP: 0018:ffff8c252e883d28 EFLAGS: 00010086
    [ 1092.226024] RAX: ffff8c24af86fa84 RBX: 0000000000000003 RCX: ffff8c25255c2a01
    [ 1092.234130] RDX: 0000000000000000 RSI: 00000000aef55009 RDI: ffff8c252e883d28
    [ 1092.242242] RBP: ffff8c252550e2c0 R08: ffff8c24af86fa84 R09: 0000000000000a70
    [ 1092.250364] R10: 0000000000000a70 R11: 0000000000000000 R12: ffff8c251f21a000
    [ 1092.258468] R13: 000000000000000c R14: ffff8c251f21a000 R15: ffff8c251f432f60
    [ 1092.266572] FS:  0000000000000000(0000) GS:ffff8c252e880000(0000) knlGS:0000000000000000
    [ 1092.275757] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 1092.282281] CR2: 0000000000000000 CR3: 0000000154209001 CR4: 00000000003606e0
    [ 1092.290384] Call Trace:
    [ 1092.293156]  <IRQ>
    [ 1092.295439]  xhci_free_virt_device.part.34+0x182/0x1a0
    [ 1092.301288]  handle_cmd_completion+0x7ac/0xfa0
    [ 1092.306336]  ? trace_event_raw_event_xhci_log_trb+0x6e/0xa0
    [ 1092.312661]  xhci_irq+0x3e8/0x1f60
    [ 1092.316524]  __handle_irq_event_percpu+0x75/0x180
    [ 1092.321876]  handle_irq_event_percpu+0x20/0x50
    [ 1092.326922]  handle_irq_event+0x36/0x60
    [ 1092.331273]  handle_edge_irq+0x6d/0x180
    [ 1092.335644]  handle_irq+0x16/0x20
    [ 1092.339417]  do_IRQ+0x41/0xc0
    [ 1092.342782]  common_interrupt+0xf/0xf
    [ 1092.346955]  </IRQ>
    
    Fixes: 44a182b9d177 ("xhci: Fix use-after-free in xhci_free_virt_device")
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Zhengjun Xing <zhengjun.xing at linux.intel.com>
    Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 229bc19fd7aca4f37964af06e3583c1c8f36b5d6
Author: Mathias Nyman <mathias.nyman at linux.intel.com>
Date:   Thu Jun 21 16:19:41 2018 +0300

    xhci: Fix perceived dead host due to runtime suspend race with event handler
    
    Don't rely on event interrupt (EINT) bit alone to detect pending port
    change in resume. If no change event is detected the host may be suspended
    again, oterwise roothubs are resumed.
    
    There is a lag in xHC setting EINT. If we don't notice the pending change
    in resume, and the controller is runtime suspeded again, it causes the
    event handler to assume host is dead as it will fail to read xHC registers
    once PCI puts the controller to D3 state.
    
    [  268.520969] xhci_hcd: xhci_resume: starting port polling.
    [  268.520985] xhci_hcd: xhci_hub_status_data: stopping port polling.
    [  268.521030] xhci_hcd: xhci_suspend: stopping port polling.
    [  268.521040] xhci_hcd: // Setting command ring address to 0x349bd001
    [  268.521139] xhci_hcd: Port Status Change Event for port 3
    [  268.521149] xhci_hcd: resume root hub
    [  268.521163] xhci_hcd: port resume event for port 3
    [  268.521168] xhci_hcd: xHC is not running.
    [  268.521174] xhci_hcd: handle_port_status: starting port polling.
    [  268.596322] xhci_hcd: xhci_hc_died: xHCI host controller not responding, assume dead
    
    The EINT lag is described in a additional note in xhci specs 4.19.2:
    
    "Due to internal xHC scheduling and system delays, there will be a lag
    between a change bit being set and the Port Status Change Event that it
    generated being written to the Event Ring. If SW reads the PORTSC and
    sees a change bit set, there is no guarantee that the corresponding Port
    Status Change Event has already been written into the Event Ring."
    
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Mathias Nyman <mathias.nyman at linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

commit 560b423dd9af4272a1f3685c2d6b073fdc4af7c7
Author: Stafford Horne <shorne at gmail.com>
Date:   Mon Jun 18 06:52:58 2018 +0900

    openrisc: Call destructor during __pte_free_tlb
    
    This fixes an issue uncovered when a recent change to add the "page
    table" flag was merged.  During bootup we see many errors like the
    following:
    
        BUG: Bad page state in process mkdir  pfn:00bae
        page:c1ff15c0 count:0 mapcount:-1024 mapping:00000000 index:0x0
        flags: 0x0()
        raw: 00000000 00000000 00000000 fffffbff 00000000 00000100 00000200 00000000
        page dumped because: nonzero mapcount
        Modules linked in:
        CPU: 0 PID: 46 Comm: mkdir Tainted: G    B             4.17.0-simple-smp-07461-g1d40a5ea01d5-dirty #993
        Call trace:
        [<(ptrval)>] show_stack+0x44/0x54
        [<(ptrval)>] dump_stack+0xb0/0xe8
        [<(ptrval)>] bad_page+0x138/0x174
        [<(ptrval)>] ? cpumask_next+0x24/0x34
        [<(ptrval)>] free_pages_check_bad+0x6c/0xd0
        [<(ptrval)>] free_pcppages_bulk+0x174/0x42c
        [<(ptrval)>] free_unref_page_commit.isra.17+0xb8/0xc8
        [<(ptrval)>] free_unref_page_list+0x10c/0x190
        [<(ptrval)>] ? set_reset_devices+0x0/0x2c
        [<(ptrval)>] release_pages+0x3a0/0x414
        [<(ptrval)>] tlb_flush_mmu_free+0x5c/0x90
        [<(ptrval)>] tlb_flush_mmu+0x90/0xa4
        [<(ptrval)>] arch_tlb_finish_mmu+0x50/0x94
        [<(ptrval)>] tlb_finish_mmu+0x30/0x64
        [<(ptrval)>] exit_mmap+0x110/0x1e0
        [<(ptrval)>] mmput+0x50/0xf0
        [<(ptrval)>] do_exit+0x274/0xa94
        [<(ptrval)>] do_group_exit+0x50/0x110
        [<(ptrval)>] __wake_up_parent+0x0/0x38
        [<(ptrval)>] _syscall_return+0x0/0x4
    
    During the __pte_free_tlb path openrisc fails to call the page
    destructor which would clear the new bits that were introduced.
    To fix this we are calling the destructor.
    
    It seem openrisc was the only architecture missing this,  all other
    architectures either call the destructor like we are doing here or use
    pte_free.
    
    Note: failing to call the destructor was also messing up the zone stats
    (and will be cause other problems if you were using SPLIT_PTE_PTLOCKS,
    which we are not yet).
    
    Fixes: 1d40a5ea01d53 ("mm: mark pages in use for page tables")
    Acked-by: Matthew Wilcox <willy at infradead.org>
    Signed-off-by: Stafford Horne <shorne at gmail.com>

commit 9d1a68c458c71171f8670d7e994ba1d135790fe7
Merge: 7daf201d7fe8 1d8e5c002758
Author: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Date:   Mon Jun 25 20:42:16 2018 +0800

    Merge tag 'fixes-for-v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus
    
    usb: fixes for v4.18-rc1
    
    First set of fixes for the current -rc cycle. The main parts being
    warnings of different kinds being fixed. We're also adding support for
    Intel'l Icelake devices on dwc3-pci.c.

commit 043f891b70e6197bc181f3b087c2bd04c60fddd2
Author: Petr Mladek <pmladek at suse.com>
Date:   Mon Jun 25 13:28:06 2018 +0200

    Revert "lib/test_printf.c: call wait_for_random_bytes() before plain %p tests"
    
    This reverts commit ee410f15b1418f2f4428e79980674c979081bcb7.
    
    It might prevent the machine from boot. It would wait for enough
    randomness at the very beginning of kernel_init(). But there is
    basically nothing running in parallel that would help to produce
    any randomness.
    
    Reported-by: Steven Rostedt (VMware) <rostedt at goodmis.org>
    Signed-off-by: Petr Mladek <pmladek at suse.com>

commit 68d676a089625daed9d61df56ac63b5cd7189efe
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date:   Fri Jun 22 11:56:56 2018 -0700

    nfp: bpf: don't stop offload if replace failed
    
    Stopping offload completely if replace of program failed dates
    back to days of transparent offload.  Back then we wanted to
    silently fall back to the in-driver processing.  Today we mark
    programs for offload when they are loaded into the kernel, so
    the transparent offload is no longer a reality.
    
    Flags check in the driver will only allow replace of a driver
    program with another driver program or an offload program with
    another offload program.
    
    When driver program is replaced stopping offload is a no-op,
    because driver program isn't offloaded.  When replacing
    offloaded program if the offload fails the entire operation
    will fail all the way back to user space and we should continue
    using the old program.  IOW when replacing a driver program
    stopping offload is unnecessary and when replacing offloaded
    program - it's a bug, old program should continue to run.
    
    In practice this bug would mean that if offload operation was to
    fail (either due to FW communication error, kernel OOM or new
    program being offloaded but for a different netdev) driver
    would continue reporting that previous XDP program is offloaded
    but in fact no program will be loaded in hardware.  The failure
    is fairly unlikely (found by inspection, when working on the code)
    but it's unpleasant.
    
    Backport note: even though the bug was introduced in commit
    cafa92ac2553 ("nfp: bpf: add support for XDP_FLAGS_HW_MODE"),
    this fix depends on commit 441a33031fe5 ("net: xdp: don't allow
    device-bound programs in driver mode"), so this fix is sufficient
    only in v4.15 or newer.  Kernels v4.13.x and v4.14.x do need to
    stop offload if it was transparent/opportunistic, i.e. if
    XDP_FLAGS_HW_MODE was not set on running program.
    
    Fixes: cafa92ac2553 ("nfp: bpf: add support for XDP_FLAGS_HW_MODE")
    Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
    Reviewed-by: Quentin Monnet <quentin.monnet at netronome.com>
    Acked-by: Song Liu <songliubraving at fb.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit c9a4c63888dbb79ce4d068ca1dd8b05bc3f156b1
Author: Takashi Iwai <tiwai at suse.de>
Date:   Mon Jun 25 11:13:59 2018 +0200

    ALSA: seq: Fix UBSAN warning at SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT ioctl
    
    The kernel may spew a WARNING with UBSAN undefined behavior at
    handling ALSA sequencer ioctl SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT:
    
    UBSAN: Undefined behaviour in sound/core/seq/seq_clientmgr.c:2007:14
    signed integer overflow:
    2147483647 + 1 cannot be represented in type 'int'
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x122/0x1c8 lib/dump_stack.c:113
     ubsan_epilogue+0x12/0x86 lib/ubsan.c:159
     handle_overflow+0x1c2/0x21f lib/ubsan.c:190
      __ubsan_handle_add_overflow+0x2a/0x31 lib/ubsan.c:198
     snd_seq_ioctl_query_next_client+0x1ac/0x1d0 sound/core/seq/seq_clientmgr.c:2007
     snd_seq_ioctl+0x264/0x3d0 sound/core/seq/seq_clientmgr.c:2144
     ....
    
    It happens only when INT_MAX is passed there, as we're incrementing it
    unconditionally.  So the fix is trivial, check the value with
    INT_MAX.  Although the bug itself is fairly harmless, it's better to
    fix it so that fuzzers won't hit this again later.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200211
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit b41f794f284966fd6ec634111e3b40d241389f96
Author: Takashi Iwai <tiwai at suse.de>
Date:   Mon Jun 25 11:09:11 2018 +0200

    ALSA: timer: Fix UBSAN warning at SNDRV_TIMER_IOCTL_NEXT_DEVICE ioctl
    
    The kernel may spew a WARNING about UBSAN undefined behavior at
    handling ALSA timer ioctl SNDRV_TIMER_IOCTL_NEXT_DEVICE:
    
    UBSAN: Undefined behaviour in sound/core/timer.c:1524:19
    signed integer overflow:
    2147483647 + 1 cannot be represented in type 'int'
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x122/0x1c8 lib/dump_stack.c:113
     ubsan_epilogue+0x12/0x86 lib/ubsan.c:159
     handle_overflow+0x1c2/0x21f lib/ubsan.c:190
     __ubsan_handle_add_overflow+0x2a/0x31 lib/ubsan.c:198
     snd_timer_user_next_device sound/core/timer.c:1524 [inline]
     __snd_timer_user_ioctl+0x204d/0x2520 sound/core/timer.c:1939
     snd_timer_user_ioctl+0x67/0x95 sound/core/timer.c:1994
     ....
    
    It happens only when a value with INT_MAX is passed, as we're
    incrementing it unconditionally.  So the fix is trivial, check the
    value with INT_MAX.  Although the bug itself is fairly harmless, it's
    better to fix it so that fuzzers won't hit this again later.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200213
    Reported-and-tested-by: Team OWL337 <icytxw at gmail.com>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 891f6a726cacbb87e5b06076693ffab53bd378d7
Author: Christian Borntraeger <borntraeger at de.ibm.com>
Date:   Thu Jun 21 14:49:38 2018 +0200

    s390: Correct register corruption in critical section cleanup
    
    In the critical section cleanup we must not mess with r1.  For march=z9
    or older, larl + ex (instead of exrl) are used with r1 as a temporary
    register. This can clobber r1 in several interrupt handlers. Fix this by
    using r11 as a temp register.  r11 is being saved by all callers of
    cleanup_critical.
    
    Fixes: 6dd85fbb87 ("s390: move expoline assembler macros to a header")
    Cc: stable at vger.kernel.org #v4.16
    Reported-by: Oliver Kurz <okurz at suse.com>
    Reported-by: Petr Tesařík <ptesarik at suse.com>
    Signed-off-by: Christian Borntraeger <borntraeger at de.ibm.com>
    Reviewed-by: Hendrik Brueckner <brueckner at linux.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>

commit e41fc8c5bd41b96bfae5ce4c66bee6edabc932e8
Author: Hui Wang <hui.wang at canonical.com>
Date:   Mon Jun 25 14:40:56 2018 +0800

    ALSA: hda/realtek - Fix the problem of two front mics on more machines
    
    We have 3 more Lenovo machines, they all have 2 front mics on them,
    so they need the fixup to change the location for one of two mics.
    
    Among these 3 Lenovo machines, one of them has the same pin cfg as the
    machine with subid 0x17aa3138, so use the pin cfg table to apply fixup
    for them. The rest machines don't share the same pin cfg, so far use
    the subid to apply fixup for them.
    
    Fixes: a3dafb2200bf ("ALSA: hda/realtek - adjust the location of one mic")
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Hui Wang <hui.wang at canonical.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 6f0d349d922ba44e4348a17a78ea51b7135965b1
Merge: 7daf201d7fe8 829eb05365ff
Author: Linus Torvalds <torvalds at linux-foundation.org>
Date:   Mon Jun 25 15:58:17 2018 +0800

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
    
    Pull networking fixes from David Miller:
    
     1) Fix netpoll OOPS in r8169, from Ville Syrjälä.
    
     2) Fix bpf instruction alignment on powerpc et al., from Eric Dumazet.
    
     3) Don't ignore IFLA_MTU attribute when creating new ipvlan links. From
        Xin Long.
    
     4) Fix use after free in AF_PACKET, from Eric Dumazet.
    
     5) Mis-matched RTNL unlock in xen-netfront, from Ross Lagerwall.
    
     6) Fix VSOCK loopback on big-endian, from Claudio Imbrenda.
    
     7) Missing RX buffer offset correction when computing DMA addresses in
        mvneta driver, from Antoine Tenart.
    
     8) Fix crashes in DCCP's ccid3_hc_rx_send_feedback, from Eric Dumazet.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (34 commits)
      sfc: make function efx_rps_hash_bucket static
      strparser: Corrected typo in documentation.
      qmi_wwan: add support for the Dell Wireless 5821e module
      cxgb4: when disabling dcb set txq dcb priority to 0
      net_sched: remove a bogus warning in hfsc
      net: dccp: switch rx_tstamp_last_feedback to monotonic clock
      net: dccp: avoid crash in ccid3_hc_rx_send_feedback()
      net: Remove depends on HAS_DMA in case of platform dependency
      MAINTAINERS: Add file patterns for dsa device tree bindings
      net: mscc: make sparse happy
      net: mvneta: fix the Rx desc DMA address in the Rx path
      Documentation: e1000: Fix docs build error
      Documentation: e100: Fix docs build error
      Documentation: e1000: Use correct heading adornment
      Documentation: e100: Use correct heading adornment
      ipv6: mcast: fix unsolicited report interval after receiving querys
      vhost_net: validate sock before trying to put its fd
      VSOCK: fix loopback on big-endian systems
      net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static
      xen-netfront: Update features after registering netdev
      ...

commit ad6384ba3ac98ad524194e37de379c1fe503870b
Author: Viresh Kumar <viresh.kumar at linaro.org>
Date:   Wed Jun 20 11:45:37 2018 +0530

    PM / Domains: Rename opp_node to np
    
    The DT node passed here isn't necessarily an OPP node, as this routine
    can also be used for cases where the "required-opps" property is present
    directly in the device's node. Rename it.
    
    This also removes a stale comment.
    
    Acked-by: Ulf Hansson <ulf.hansson at linaro.org>
    Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

commit 5e03aa61a7f3cb99852bc3ad6925f5fa3c0dcc93
Author: Viresh Kumar <viresh.kumar at linaro.org>
Date:   Thu Jun 14 10:53:34 2018 +0530

    PM / Domains: Fix return value of of_genpd_opp_to_performance_state()
    
    of_genpd_opp_to_performance_state() should return 0 for errors, but the
    dummy routine isn't doing that. Fix it.
    
    Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>
    Acked-by: Ulf Hansson <ulf.hansson at linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

commit 49a6ec5b807ea4ad7ebe1f58080ebb8497cb2d2c
Author: Daniel Mack <daniel at zonque.org>
Date:   Sun Jun 17 13:53:09 2018 +0200

    ARM: dts: am437x: make edt-ft5x06 a wakeup source
    
    The touchscreen driver no longer configures the device as wakeup source by
    default. A "wakeup-source" property is needed.
    
    Signed-off-by: Daniel Mack <daniel at zonque.org>
    Signed-off-by: Tony Lindgren <tony at atomide.com>

commit dc0f0a026d33819bb82d5c26ab2fca838e2004be
Author: Haiyue Wang <haiyue.wang at linux.intel.com>
Date:   Sat Jun 23 21:51:13 2018 +0800

    ipmi: kcs_bmc: fix IRQ exception if the channel is not open
    
    When kcs_bmc_handle_event calls kcs_force_abort function to handle the
    not open (no user running) KCS channel transaction, the returned status
    value -ENODEV causes the low level IRQ handler indicating that the irq
    was not for him by returning IRQ_NONE. After some time, this IRQ will
    be treated to be spurious one, and the exception dump happens.
    
       irq 30: nobody cared (try booting with the "irqpoll" option)
       CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.10.15-npcm750 #1
       Hardware name: NPCMX50 Chip family
       [<c010b264>] (unwind_backtrace) from [<c0106930>] (show_stack+0x20/0x24)
       [<c0106930>] (show_stack) from [<c03dad38>] (dump_stack+0x8c/0xa0)
       [<c03dad38>] (dump_stack) from [<c0168810>] (__report_bad_irq+0x3c/0xdc)
       [<c0168810>] (__report_bad_irq) from [<c0168c34>] (note_interrupt+0x29c/0x2ec)
       [<c0168c34>] (note_interrupt) from [<c0165c80>] (handle_irq_event_percpu+0x5c/0x68)
       [<c0165c80>] (handle_irq_event_percpu) from [<c0165cd4>] (handle_irq_event+0x48/0x6c)
       [<c0165cd4>] (handle_irq_event) from [<c0169664>] (handle_fasteoi_irq+0xc8/0x198)
       [<c0169664>] (handle_fasteoi_irq) from [<c016529c>] (__handle_domain_irq+0x90/0xe8)
       [<c016529c>] (__handle_domain_irq) from [<c01014bc>] (gic_handle_irq+0x58/0x9c)
       [<c01014bc>] (gic_handle_irq) from [<c010752c>] (__irq_svc+0x6c/0x90)
       Exception stack(0xc0a01de8 to 0xc0a01e30)
       1de0:                   00002080 c0a6fbc0 00000000 00000000 00000000 c096d294
       1e00: 00000000 00000001 dc406400 f03ff100 00000082 c0a01e94 c0a6fbc0 c0a01e38
       1e20: 00200102 c01015bc 60000113 ffffffff
       [<c010752c>] (__irq_svc) from [<c01015bc>] (__do_softirq+0xbc/0x358)
       [<c01015bc>] (__do_softirq) from [<c011c798>] (irq_exit+0xb8/0xec)
       [<c011c798>] (irq_exit) from [<c01652a0>] (__handle_domain_irq+0x94/0xe8)
       [<c01652a0>] (__handle_domain_irq) from [<c01014bc>] (gic_handle_irq+0x58/0x9c)
       [<c01014bc>] (gic_handle_irq) from [<c010752c>] (__irq_svc+0x6c/0x90)
       Exception stack(0xc0a01ef8 to 0xc0a01f40)
       1ee0:                                                       00000000 000003ae
       1f00: dcc0f338 c0111060 c0a00000 c0a0cc44 c0a0cbe4 c0a1c22b c07bc218 00000001
       1f20: dcffca40 c0a01f54 c0a01f58 c0a01f48 c0103524 c0103528 60000013 ffffffff
       [<c010752c>] (__irq_svc) from [<c0103528>] (arch_cpu_idle+0x48/0x4c)
       [<c0103528>] (arch_cpu_idle) from [<c0681390>] (default_idle_call+0x30/0x3c)
       [<c0681390>] (default_idle_call) from [<c0156f24>] (do_idle+0xc8/0x134)
       [<c0156f24>] (do_idle) from [<c015722c>] (cpu_startup_entry+0x28/0x2c)
       [<c015722c>] (cpu_startup_entry) from [<c067ad74>] (rest_init+0x84/0x88)
       [<c067ad74>] (rest_init) from [<c0900d44>] (start_kernel+0x388/0x394)
       [<c0900d44>] (start_kernel) from [<0000807c>] (0x807c)
       handlers:
       [<c041c5dc>] npcm7xx_kcs_irq
       Disabling IRQ #30
    
    It needs to change the returned status from -ENODEV to 0. The -ENODEV
    was originally used to tell the low level IRQ handler that no user was
    running, but not consider the IRQ handling desgin.
    
    And multiple KCS channels share one IRQ handler, it needs to check the
    IBF flag before doing force abort. If the IBF is set, after handling,
    return 0 to low level IRQ handler to indicate that the IRQ is handled.
    
    Signed-off-by: Haiyue Wang <haiyue.wang at linux.intel.com>
    Signed-off-by: Corey Minyard <cminyard at mvista.com>

commit 2068db53b6337f8c6c7bcd07dea0b5e82b1a1a02
Author: Corey Minyard <cminyard at mvista.com>
Date:   Wed Jun 20 07:19:01 2018 -0500

    ipmi: Cleanup oops on initialization failure
    
    Commit 93c303d2045b3 "ipmi_si: Clean up shutdown a bit" didn't
    copy the behavior of the cleanup in one spot, it needed to
    check for a non-NULL interface before cleaning it up.
    
    Reported-by: Meelis Roos <mroos at linux.ee>
    Signed-off-by: Corey Minyard <cminyard at mvista.com>
    Tested-by: Meelis Roos <mroos at linux.ee>

commit 1dd2058f902eb2d8bd5bedab0b190a21d5245e71
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date:   Thu Jun 21 11:06:41 2018 +0300

    cpufreq: qcom-kryo: Fix error handling in probe()
    
    We should return if get_cpu_device() fails or it leads to a NULL
    dereference.  Also dev_pm_opp_of_get_opp_desc_node() returns NULL on
    error, it never returns error pointers.
    
    Fixes: 46e2856b8e18 (cpufreq: Add Kryo CPU scaling driver)
    Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
    Acked-by: Viresh Kumar <viresh.kumar at linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>

commit d8cb5e42378918e00eda58792f3ab86dd1e7d214
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date:   Thu Jun 21 23:26:56 2018 -0700

    xfs: fix fdblocks accounting w/ RMAPBT per-AG reservation
    
    In __xfs_ag_resv_init we incorrectly calculate the amount by which to
    decrease fdblocks when reserving blocks for the rmapbt.  Because rmapbt
    allocations do not decrease fdblocks, we must decrease fdblocks by the
    entire size of the requested reservation in order to achieve our goal of
    always having enough free blocks to satisfy an rmapbt expansion.
    
    This is in contrast to the refcountbt/finobt, which /do/ subtract from
    fdblocks whenever they allocate a block.  For this allocation type we
    preserve the existing behavior where we decrease fdblocks only by the
    requested reservation minus the size of the existing tree.
    
    This fixes the problem where the available block counts reported by
    statfs change across a remount if there had been an rmapbt size change
    since mount time.
    
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
    Reviewed-by: Allison Henderson <allison.henderson at oracle.com>

commit e53c4b598372001a13901b77649dc1b4afec3e85
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date:   Thu Jun 21 23:26:58 2018 -0700

    xfs: ensure post-EOF zeroing happens after zeroing part of a file
    
    If a user asks us to zero_range part of a file, the end of the range is
    EOF, and not aligned to a page boundary, invoke writeback of the EOF
    page to ensure that the post-EOF part of the page is zeroed.  This
    ensures that we don't expose stale memory contents via mmap, if in a
    clumsy manner.
    
    Found by running generic/127 when it runs zero_range and mapread at EOF
    one after the other.
    
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Allison Henderson <allison.henderson at oracle.com>

commit a3a374bf1889b1b401b25e6aada3ca4151a99d15
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date:   Thu Jun 21 23:26:58 2018 -0700

    xfs: fix off-by-one error in xfs_rtalloc_query_range
    
    In commit 8ad560d2565e6 ("xfs: strengthen rtalloc query range checks")
    we strengthened the input parameter checks in the rtbitmap range query
    function, but introduced an off-by-one error in the process.  The call
    to xfs_rtfind_forw deals with the high key being rextents, but we clamp
    the high key to rextents - 1.  This causes the returned results to stop
    one block short of the end of the rtdev, which is incorrect.
    
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
    Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>

commit 232d0a24b0fc197c50e95fe65f236027b5fa1b74
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date:   Thu Jun 21 23:26:57 2018 -0700

    xfs: fix uninitialized field in rtbitmap fsmap backend
    
    Initialize the extent count field of the high key so that when we use
    the high key to synthesize an 'unknown owner' record (i.e. used space
    record) at the end of the queried range we have a field with which to
    compute rm_blockcount.  This is not strictly necessary because the
    synthesizer never uses the rm_blockcount field, but we can shut up the
    static code analysis anyway.
    
    Coverity-id: 1437358
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
    Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>

commit 5bd88d153998c1b189fdeb8b8bd4cce36b5acf62
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date:   Thu Jun 21 23:26:57 2018 -0700

    xfs: recheck reflink state after grabbing ILOCK_SHARED for a write
    
    The reflink iflag could have changed since the earlier unlocked check,
    so if we got ILOCK_SHARED for a write and but we're now a reflink inode
    we have to switch to ILOCK_EXCL and relock.
    
    This helps us avoid blowing lock assertions in things like generic/166:
    
    XFS: Assertion failed: xfs_isilocked(ip, XFS_ILOCK_EXCL), file: fs/xfs/xfs_reflink.c, line: 383
    WARNING: CPU: 1 PID: 24707 at fs/xfs/xfs_message.c:104 assfail+0x25/0x30 [xfs]
    Modules linked in: deadline_iosched dm_snapshot dm_bufio ext4 mbcache jbd2 dm_flakey xfs libcrc32c dax_pmem device_dax nd_pmem sch_fq_codel af_packet [last unloaded: scsi_debug]
    CPU: 1 PID: 24707 Comm: xfs_io Not tainted 4.18.0-rc1-djw #1
    Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.10.2-1ubuntu1 04/01/2014
    RIP: 0010:assfail+0x25/0x30 [xfs]
    Code: ff 0f 0b c3 90 66 66 66 66 90 48 89 f1 41 89 d0 48 c7 c6 e8 ef 1b a0 48 89 fa 31 ff e8 54 f9 ff ff 80 3d fd ba 0f 00 00 75 03 <0f> 0b c3 0f 0b 66 0f 1f 44 00 00 66 66 66 66 90 48 63 f6 49 89 f9
    RSP: 0018:ffffc90006423ad8 EFLAGS: 00010246
    RAX: 0000000000000000 RBX: ffff880030b65e80 RCX: 0000000000000000
    RDX: 00000000ffffffc0 RSI: 000000000000000a RDI: ffffffffa01b0447
    RBP: ffffc90006423c10 R08: 0000000000000000 R09: 0000000000000000
    R10: ffff88003d43fc30 R11: f000000000000000 R12: ffff880077cda000
    R13: 0000000000000000 R14: ffffc90006423c30 R15: ffffc90006423bf9
    FS:  00007feba8986800(0000) GS:ffff88003ec00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 000000000138ab58 CR3: 000000003d40a000 CR4: 00000000000006a0
    Call Trace:
     xfs_reflink_allocate_cow+0x24c/0x3d0 [xfs]
     xfs_file_iomap_begin+0x6d2/0xeb0 [xfs]
     ? iomap_to_fiemap+0x80/0x80
     iomap_apply+0x5e/0x130
     iomap_dio_rw+0x2e0/0x400
     ? iomap_to_fiemap+0x80/0x80
     ? xfs_file_dio_aio_write+0x133/0x4a0 [xfs]
     xfs_file_dio_aio_write+0x133/0x4a0 [xfs]
     xfs_file_write_iter+0x7b/0xb0 [xfs]
     __vfs_write+0x16f/0x1f0
     vfs_write+0xc8/0x1c0
     ksys_pwrite64+0x74/0x90
     do_syscall_64+0x56/0x180
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>

commit f62cb48e43195f66c7a40bbfcf11531fc1ff8999
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date:   Thu Jun 21 23:26:57 2018 -0700

    xfs: don't allow insert-range to shift extents past the maximum offset
    
    Zorro Lang reports that generic/485 blows an assert on a filesystem with
    512 byte blocks.  The test tries to fallocate a post-eof extent at the
    maximum file size and calls insert range to shift the extents right by
    two blocks.  On a 512b block filesystem this causes startoff to overflow
    the 54-bit startoff field, leading to the assert.
    
    Therefore, always check the rightmost extent to see if it would overflow
    prior to invoking the insert range machinery.
    
    Reported-by: zlang at redhat.com
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200137
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
    Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>

commit aafe12cee0b132824f5187987f8a3fb704b9f685
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date:   Thu Jun 21 23:26:56 2018 -0700

    xfs: don't trip over negative free space in xfs_reserve_blocks
    
    If we somehow end up with a filesystem that has fewer free blocks than
    the blocks set aside to avoid ENOSPC deadlocks, it's possible that the
    free space calculation in xfs_reserve_blocks will spit out a negative
    number (because percpu_counter_sum returns s64).  We fail to notice
    this negative number and set fdblks_delta to it.  Now we increment
    fdblocks(!) and the unsigned type of m_resblks means that we end up
    setting a ridiculously huge m_resblks reservation.
    
    Avoid this comedy of errors by detecting the negative free space and
    returning -ENOSPC.
    
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
    Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>

commit 10ee25268e1f8475905e1deb85bb83627dca561e
Author: Darrick J. Wong <darrick.wong at oracle.com>
Date:   Thu Jun 21 23:26:55 2018 -0700

    xfs: allow empty transactions while frozen
    
    In commit e89c041338ed6ef ("xfs: implement the GETFSMAP ioctl") we
    created the ability to obtain empty transactions.  These transactions
    have no log or block reservations and therefore can't modify anything.
    Since they're also NO_WRITECOUNT they can run while the fs is frozen,
    so we don't need to WARN_ON about that usage.
    
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>
    Reviewed-by: Allison Henderson <allison.henderson at oracle.com>
    Reviewed-by: Christoph Hellwig <hch at lst.de>

commit 662d855c66c0a7400f9117b6ac02047942cd1d22
Author: Paul Burton <paul.burton at mips.com>
Date:   Sun Jun 24 09:33:22 2018 -0700

    MIPS: Add ksig argument to rseq_{signal_deliver,handle_notify_resume}
    
    Commit 784e0300fe9f ("rseq: Avoid infinite recursion when delivering
    SIGSEGV") added a new ksig argument to the rseq_signal_deliver() &
    rseq_handle_notify_resume() functions, and was merged in v4.18-rc2.
    Meanwhile MIPS support for restartable sequences was also merged in
    v4.18-rc2 with commit 9ea141ad5471 ("MIPS: Add support for restartable
    sequences"), and therefore didn't get updated for the API change.
    
    This results in build failures like the following:
    
        CC      arch/mips/kernel/signal.o
      arch/mips/kernel/signal.c: In function 'handle_signal':
      arch/mips/kernel/signal.c:804:22: error: passing argument 1 of
        'rseq_signal_deliver' from incompatible pointer type
        [-Werror=incompatible-pointer-types]
        rseq_signal_deliver(regs);
                            ^~~~
      In file included from ./include/linux/context_tracking.h:5,
                       from arch/mips/kernel/signal.c:12:
      ./include/linux/sched.h:1811:56: note: expected 'struct ksignal *' but
        argument is of type 'struct pt_regs *'
        static inline void rseq_signal_deliver(struct ksignal *ksig,
                                               ~~~~~~~~~~~~~~~~^~~~
      arch/mips/kernel/signal.c:804:2: error: too few arguments to function
        'rseq_signal_deliver'
        rseq_signal_deliver(regs);
        ^~~~~~~~~~~~~~~~~~~
    
    Fix this by adding the ksig argument as was done for other architectures
    in commit 784e0300fe9f ("rseq: Avoid infinite recursion when delivering
    SIGSEGV").
    
    Signed-off-by: Paul Burton <paul.burton at mips.com>
    Acked-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
    Patchwork: https://patchwork.linux-mips.org/patch/19603/
    Cc: James Hogan <jhogan at kernel.org>
    Cc: Ralf Baechle <ralf at linux-mips.org>
    Cc: Peter Zijlstra <peterz at infradead.org>
    Cc: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
    Cc: Boqun Feng <boqun.feng at gmail.com>
    Cc: Will Deacon <will.deacon at arm.com>
    Cc: linux-mips at linux-mips.org
    Cc: linux-kernel at vger.kernel.org

commit 829eb05365ff06e8adc23f2541597d0cc3c18348
Author: Colin Ian King <colin.king at canonical.com>
Date:   Sun Jun 24 11:57:31 2018 +0100

    sfc: make function efx_rps_hash_bucket static
    
    The function efx_rps_hash_bucket is local to the source and
    does not need to be in global scope, so make it static.
    
    Cleans up sparse warning:
    symbol 'efx_rps_hash_bucket' was not declared. Should it be static?
    
    Signed-off-by: Colin Ian King <colin.king at canonical.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2a221c04228bbf683fc8d3cb5d177aebb38b393c
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Mon Jun 18 18:09:36 2018 +0200

    iio: imu: inv_mpu6050: Fix probe() failure on older ACPI based machines
    
    Commit 5ec6486daa98 ("iio:imu: inv_mpu6050: support more interrupt types")
    causes inv_mpu_core_probe() to fail if the IRQ does not have a
    trigger-type setup.
    
    This happens on machines where the mpu6050 is enumerated through ACPI and
    an older Interrupt type ACPI resource is used for the interrupt, rather
    then a GpioInt type type, causing the mpu6050 driver to no longer work
    there. This happens on e.g. the Asus T100TA.
    
    This commits makes the mpu6050 fallback to the old IRQF_TRIGGER_RISING
    default if the irq-type is not setup, fixing this.
    
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>
    Fixes: 5ec6486daa98 ("iio:imu: inv_mpu6050: support more interrupt types")
    Reviewed-by: Martin Kelly <mkelly at xevo.com>
    Reviewed-by: Jean-Baptiste Maneyrol <jmaneyrol at invensense.com>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>

commit 92397a6c38d139d50fabbe9e2dc09b61d53b2377
Author: Phil Reid <preid at electromag.com.au>
Date:   Tue Jun 5 14:15:10 2018 +0800

    iio: buffer: fix the function signature to match implementation
    
    linux/iio/buffer-dma.h was not updated to when length was changed to
    unsigned int.
    
    Fixes: c043ec1ca5ba ("iio:buffer: make length types match kfifo types")
    Signed-off-by: Phil Reid <preid at electromag.com.au>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>

commit b02ec67a8e38875cdc5f9214be885022f11c0017
Author: Leonard Crestez <leonard.crestez at nxp.com>
Date:   Thu Jun 7 21:52:50 2018 +0300

    iio: mma8452: Fix ignoring MMA8452_INT_DRDY
    
    Interrupts are ignored if no event bit is set in the status status
    register and this breaks the buffer interface. No data is shown when
    running "iio_generic_buffer -n mma8451 -a" and interrupt counts go
    crazy.
    
    Fix by not returning IRQ_NONE if DRDY is set.
    
    Fixes: 605f72de137a ("iio: accel: mma8452: improvements to handle
    multiple events")
    
    Signed-off-by: Leonard Crestez <leonard.crestez at nxp.com>
    cc: <Stable at vger.kernel.org>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>

commit 288320f6e9a254bb595b4783c9bdfcc7c0e73153
Author: Colin Ian King <colin.king at canonical.com>
Date:   Wed May 30 19:19:36 2018 +0100

    iio: tsl2x7x/tsl2772: avoid potential division by zero
    
    It may be possible for tsl2772_get_lux to return a zero lux value
    and hence a division by zero can occur when lux_val is zero. Check
    for this case and return -ERANGE to avoid the division by zero.
    
    Detected by CoverityScan, CID#1469484 ("Division or modulo by zero")
    
    Signed-off-by: Colin Ian King <colin.king at canonical.com>
    Acked-by: Brian Masney <masneyb at onstation.org>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>

commit 13399ff25f179811ce9c1df1523eb39f9e4a4772
Author: Tomasz Duszynski <tduszyns at gmail.com>
Date:   Mon May 28 17:38:59 2018 +0200

    iio: pressure: bmp280: fix relative humidity unit
    
    According to IIO ABI relative humidity reading should be
    returned in milli percent.
    
    This patch addresses that by applying proper scaling and
    returning integer instead of fractional format type specifier.
    
    Note that the fixes tag is before the driver was heavily refactored
    to introduce spi support, so the patch won't apply that far back.
    
    Signed-off-by: Tomasz Duszynski <tduszyns at gmail.com>
    Fixes: 14beaa8f5ab1 ("iio: pressure: bmp280: add humidity support")
    Acked-by: Matt Ranostay <matt.ranostay at konsulko.com>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>

commit 3531456aba6c8a8c905730af96dbb83608538b71
Author: Vakul Garg <vakul.garg at nxp.com>
Date:   Sun Jun 24 18:14:01 2018 +0530

    strparser: Corrected typo in documentation.
    
    Replaced strp_pause() with strp_unpause() to correct a seemingly copy
    paste documentation mistake.
    
    Signed-off-by: Vakul Garg <vakul.garg at nxp.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e7e197edd09c25774b4f12cab19f9d5462f240f4
Author: Aleksander Morgado <aleksander at aleksander.es>
Date:   Sat Jun 23 23:22:52 2018 +0200

    qmi_wwan: add support for the Dell Wireless 5821e module
    
    This module exposes two USB configurations: a QMI+AT capable setup on
    USB config #1 and a MBIM capable setup on USB config #2.
    
    By default the kernel will choose the MBIM capable configuration as
    long as the cdc_mbim driver is available. This patch adds support for
    the QMI port in the secondary configuration.
    
    Signed-off-by: Aleksander Morgado <aleksander at aleksander.es>
    Acked-by: Bjørn Mork <bjorn at mork.no>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 5ce36338a30f9814fc4824f9fe6c20cd83d872c7
Author: Ganesh Goudar <ganeshgr at chelsio.com>
Date:   Sat Jun 23 20:28:26 2018 +0530

    cxgb4: when disabling dcb set txq dcb priority to 0
    
    When we are disabling DCB, store "0" in txq->dcb_prio
    since that's used for future TX Work Request "OVLAN_IDX"
    values. Setting non zero priority upon disabling DCB
    would halt the traffic.
    
    Reported-by: AMG Zollner Robert <robert at cloudmedia.eu>
    CC: David Ahern <dsa at cumulusnetworks.com>
    Signed-off-by: Casey Leedom <leedom at chelsio.com>
    Signed-off-by: Ganesh Goudar <ganeshgr at chelsio.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0fff9001840c314fa4473dee256976b1e4535e73
Author: Geert Uytterhoeven <geert+renesas at glider.be>
Date:   Wed Jun 6 11:25:16 2018 +0200

    ARM: Always build secure_cntvoff.S on ARM V7 to fix shmobile !SMP build
    
    If CONFIG_SMP=n, building a kernel for R-Car Gen2 fails with:
    
        arch/arm/mach-shmobile/setup-rcar-gen2.o: In function `rcar_gen2_timer_init':
        setup-rcar-gen2.c:(.init.text+0x30): undefined reference to `secure_cntvoff_init'
    
    Indeed, on R-Car Gen2 SoCs, secure_cntvoff_init() is not only needed for
    secondary CPUs, but also for the boot CPU.  This is most visible on SoCs
    with Cortex A7 cores (e.g. R-Car E2, cfr. commit 9ce3fa6816c2fb59 ("ARM:
    shmobile: rcar-gen2: Add CA7 arch_timer initialization for r8a7794")),
    but Cortex A15 is affected, too.
    
    Fix this by always providing secure_cntvoff_init() when building for ARM
    V7.
    
    Reported-by: Arnd Bergmann <arnd at arndb.de>
    Fixes: 7c607944bc657616 ("ARM: smp: Add initialization of CNTVOFF")
    Fixes: cad160ed0a94927e ("ARM: shmobile: Convert file to use cntvoff")
    Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
    Reviewed-by: Maxime Ripard <maxime.ripard at bootlin.com>
    Reviewed-by: Simon Horman <horms+renesas at verge.net.au>
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit f377ad03697e049791da78d587f7b35f9c591ba2
Merge: fd7d58f0dbc3 3877ef7a1cce
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 15:14:40 2018 -0700

    Merge tag 'socfpga_nand_fix_v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into fixes
    
    ARM: dts: socfpga: fix NAND support
    - NAND should be using nand_x_clk, not nand_clk
    - fix NAND node compatible for Cyclone5 and Arria10
    
    * tag 'socfpga_nand_fix_v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
      ARM: dts: socfpga: Fix NAND controller node compatible for Arria10
      ARM: dts: socfpga: Fix NAND controller node compatible
      ARM: dts: socfpga: Fix NAND controller clock supply
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit fd7d58f0dbc3e3c6d68d4a3dccabfe1e52a23345
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 10:24:23 2018 -0700

    ARM: multi_v7_defconfig: renormalize based on recent additions
    
    The defconfig has drifted over time, as Kconfig entries have changed order
    or default values. Several maintainers ended up running 'savedefconfig'
    themselves which caused a cascade of conflicts. Let's do it once and
    for all in our tree before -rc2 instead.
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit c432c08805963f9b145b86b5f4ac945881e1b9df
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 10:24:23 2018 -0700

    arm64: defconfig: renormalize based on recent additions
    
    The defconfig has drifted over time, as Kconfig entries have changed order
    or default values. Several maintainers ended up running 'savedefconfig'
    themselves which caused a cascade of conflicts. Let's do it once and
    for all in our tree before -rc2 instead.
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit fab9715bb89720c0eaf1a289972d133502d5267d
Merge: 526e43e21296 6b4154a655a2
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 10:22:43 2018 -0700

    Merge tag 'qcom-fixes-for-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into fixes
    
    Qualcomm Fixes for v4.18-rc1
    
    * Fix coresight graph on msm8916
    * Disable uart0 on db820c by default
    
    * tag 'qcom-fixes-for-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
      arm64: dts: msm8916: fix Coresight ETF graph connections
      arm64: dts: apq8096-db820c: disable uart0 by default
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 526e43e21296935b66f969452366c95408f43c0b
Merge: a6623f5f31ee d64324acdb70
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 10:21:45 2018 -0700

    Merge tag 'arm-soc/for-4.18/maintainers-arm64-fixes' of https://github.com/Broadcom/stblinux into fixes
    
    This pull request contains Broadcom ARM64-based SoCs MAINTAINERS file
    fixes for 4.18, please pull the following:
    
    - Florian fixes the entry for the Northstar2 SoCs which was somehow lost
      during a directory move. He also adds an entry for the Stingray SoCs
      which was missing from the day files were added
    
    * tag 'arm-soc/for-4.18/maintainers-arm64-fixes' of https://github.com/Broadcom/stblinux:
      MAINTAINERS: Update Broadcom iProc entry with Stingray
      MAINAINTERS: Corrected Broadcom Northstar2 entry
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit a6623f5f31eec60dccc8d8196452140b5364123d
Merge: 0988e8e2e1fe 75af23c4736c
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 10:20:30 2018 -0700

    Merge tag 'arm-soc/for-4.18/devicetree-arm64-fixes' of https://github.com/Broadcom/stblinux into fixes
    
    This pull request contains Broadcom ARM64-based SoCs Device Tree fixes
    for 4.18, please pull the following:
    
    - Scott fixes both the bcm958742k and bcm958742t reference boards to
      have the correct eMMC voltage specified
    
    - Ray fixes the I2C and PCIe Device Tree nodes interrupt specifiers for
      Northstar 2 and Stingray SoCs.
    
    * tag 'arm-soc/for-4.18/devicetree-arm64-fixes' of https://github.com/Broadcom/stblinux:
      arm64: dts: Stingray: Fix I2C controller interrupt type
      arm64: dts: ns2: Fix PCIe controller interrupt type
      arm64: dts: ns2: Fix I2C controller interrupt type
      arm64: dts: specify 1.8V EMMC capabilities for bcm958742t
      arm64: dts: specify 1.8V EMMC capabilities for bcm958742k
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 0988e8e2e1fe252415bad8800553b20f1dd287df
Merge: 652caf4ab1e6 6cb1628ad350
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 10:18:39 2018 -0700

    Merge tag 'arm-soc/for-4.18/devicetree-fixes' of https://github.com/Broadcom/stblinux into fixes
    
    This pull request contains Broadcom ARM-based SoCs Device Tree fixes for
    4.18, please pull the following:
    
    - Ray fixes the I2C and PCIe interrupt types for the Cygnus SoC
    
    - Florian fixes the I2C and PCIe interrupts for the Northstar
      (BCM5301x), Northstar Plus and Hurricane 2 SoCs
    
    * tag 'arm-soc/for-4.18/devicetree-fixes' of https://github.com/Broadcom/stblinux:
      ARM: dts: Cygnus: Fix PCIe controller interrupt type
      ARM: dts: Cygnus: Fix I2C controller interrupt type
      ARM: dts: BCM5301x: Fix i2c controller interrupt type
      ARM: dts: HR2: Fix interrupt types for i2c and PCIe
      ARM: dts: NSP: Fix PCIe controllers interrupt types
      ARM: dts: NSP: Fix i2c controller interrupt type
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit 652caf4ab1e6ab9106c62a7b3b411cd67b72902f
Merge: cb04a7944505 1bcfe0564044
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 10:17:38 2018 -0700

    Merge tag 'imx-fixes-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes
    
    i.MX fixes for 4.18:
     - Fix i.MX6SX PCIe MSI interrupt number, so that MSI IRQs can be
       properly propagated to the upstream interrupt controller.
     - Fix GPCv2 MIPI/PCIe/USB_HSIC's PGC offset.  The values in Reference
       Manual are incorrect.
     - Correct SDMA setting for i.MX6Q SPI5 device to fix the issue, that
       the SPI controller RX FIFO was not empty after a DMA transfer, and
       the driver gets stuck in the next PIO transfer when reading one word
       more than expected.
    
    * tag 'imx-fixes-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
      ARM: dts: imx6sx: fix irq for pcie bridge
      soc: imx: gpcv2: correct PGC offset
      ARM: dts: imx6q: Use correct SDMA script for SPI5 core
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit cb04a7944505a0d4c8097ca7279555a8ce35000f
Merge: a514338b94e8 977d5ba4507d
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 10:16:55 2018 -0700

    Merge tag 'renesas-fixes-for-v4.18' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
    
    Renesas ARM Based SoC Fixes for v4.18
    
    Make PM domain initialization more robust in Renesas R-Car SYSC driver.
    This resolves a regression due to re-parenting of PM domains by
    086b399965a7ee7e ("soc: renesas: r8a77990-sysc: Add workaround for 3DG-{A,B}").
    
    * tag 'renesas-fixes-for-v4.18' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
      soc: renesas: rcar-sysc: Make PM domain initialization more robust
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit a514338b94e8e9b5db51754ff69d2a7b1c70426e
Merge: ce397d215ccd ac62cc9d9cd6
Author: Olof Johansson <olof at lixom.net>
Date:   Sat Jun 23 10:14:08 2018 -0700

    Merge tag 'mvebu-fixes-4.17-2' of git://git.infradead.org/linux-mvebu into fixes
    
    mvebu fixes for 4.17 (part 2)
    
     - Use correct size for ICU nodes (irq controller) on Armada 7K/8K
     - Fix "#cooling-cells" property's name on Synology DS116 (Armada 385)
    
    * tag 'mvebu-fixes-4.17-2' of git://git.infradead.org/linux-mvebu:
      arm: dts: armada: Fix "#cooling-cells" property's name
      arm64: dts: marvell: fix CP110 ICU node size
    
    Signed-off-by: Olof Johansson <olof at lixom.net>

commit b2f82565f2caa1a5c1a26e68593eaef355fae3f4
Author: Breno Leitao <leitao at debian.org>
Date:   Wed Jun 20 16:35:16 2018 -0300

    powerpc: Wire up io_pgetevents
    
    Wire up io_pgetevents system call on powerpc.
    
    io_pgetevents is a new syscall to read asynchronous I/O events from the
    completion queue.
    
    Tested with libaio branch aio-poll[1] and the io_pgetevents test (#22) passed
    on both ppc64 LE and BE modes.
    
    [1] https://pagure.io/libaio/branch/aio-poll
    
    CC: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Breno Leitao <leitao at debian.org>
    Acked-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

commit 6b4154a655a258c67bcfabbd4c3a06637e74ebcd
Author: Rob Herring <robh at kernel.org>
Date:   Tue May 8 10:09:51 2018 -0500

    arm64: dts: msm8916: fix Coresight ETF graph connections
    
    The ETF input should be connected to the funnel output, and the ETF
    output should be connected to the replicator input. The labels are wrong
    and these got swapped:
    
    Warning (graph_endpoint): /soc/funnel at 821000/ports/port at 8/endpoint: graph connection to node '/soc/etf at 825000/ports/port at 1/endpoint' is not bidirectional
    Warning (graph_endpoint): /soc/replicator at 824000/ports/port at 2/endpoint: graph connection to node '/soc/etf at 825000/ports/port at 0/endpoint' is not bidirectional
    
    Fixes: 7c10da373698 ("arm64: dts: qcom: Add msm8916 CoreSight components")
    Cc: Ivan T. Ivanov <ivan.ivanov at linaro.org>
    Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
    Cc: Andy Gross <andy.gross at linaro.org>
    Cc: David Brown <david.brown at linaro.org>
    Cc: linux-arm-msm at vger.kernel.org
    Signed-off-by: Rob Herring <robh at kernel.org>
    Reviewed-by: Mathieu Poirier <mathieu.poirier at linaro.org>
    Tested-by: Mathieu Poirier <mathieu.poirier at linaro.org>
    Signed-off-by: Andy Gross <andy.gross at linaro.org>

commit 1ebb2709ba39bf291a30dc1fcf937f46c4675f4d
Author: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
Date:   Tue Jun 12 15:48:06 2018 +0100

    arm64: dts: apq8096-db820c: disable uart0 by default
    
    Access to UART0 is disabled by bootloaders. By leaving it enabled by
    default would reboot the board.
    Disable this for now, this would alteast give a board which boots.
    
    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>
    Reviewed-by: Bjorn Andersson <bjorn.andersson at linaro.org>
    Signed-off-by: Andy Gross <andy.gross at linaro.org>

commit 35b42da69e35536da603a50e40aa6c41b2f7b0f8
Author: Cong Wang <xiyou.wangcong at gmail.com>
Date:   Fri Jun 22 14:33:16 2018 -0700

    net_sched: remove a bogus warning in hfsc
    
    In update_vf():
    
      cftree_remove(cl);
      update_cfmin(cl->cl_parent);
    
    the cl_cfmin of cl->cl_parent is intentionally updated to 0
    when that parent only has one child. And if this parent is
    root qdisc, we could end up, in hfsc_schedule_watchdog(),
    that we can't decide the next schedule time for qdisc watchdog.
    But it seems safe that we can just skip it, as this watchdog is
    not always scheduled anyway.
    
    Thanks to Marco for testing all the cases, nothing is broken.
    
    Reported-by: Marco Berizzi <pupilla at libero.it>
    Tested-by: Marco Berizzi <pupilla at libero.it>
    Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 2ca4eb85744b1cd93076418ac8430ba527cc35bb
Merge: e020797b7def 0ce4e70ff006
Author: David S. Miller <davem at davemloft.net>
Date:   Sat Jun 23 10:46:44 2018 +0900

    Merge branch 'dccp-fixes-around-rx_tstamp_last_feedback'
    
    Eric Dumazet says:
    
    ====================
    net: dccp: fixes around rx_tstamp_last_feedback
    
    This patch series fix some issues with rx_tstamp_last_feedback.
    
    - Switch to monotonic clock.
    - Avoid potential overflows on fast hosts/networks.
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 0ce4e70ff00662ad7490e545ba0cd8c1fa179fca
Author: Eric Dumazet <edumazet at google.com>
Date:   Fri Jun 22 06:44:15 2018 -0700

    net: dccp: switch rx_tstamp_last_feedback to monotonic clock
    
    To compute delays, better not use time of the day which can
    be changed by admins or malicious programs.
    
    Also change ccid3_first_li() to use s64 type for delta variable
    to avoid potential overflows.
    
    Signed-off-by: Eric Dumazet <edumazet at google.com>
    Cc: Gerrit Renker <gerrit at erg.abdn.ac.uk>
    Cc: dccp at vger.kernel.org
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 74174fe5634ffbf645a7ca5a261571f700b2f332
Author: Eric Dumazet <edumazet at google.com>
Date:   Fri Jun 22 06:44:14 2018 -0700

    net: dccp: avoid crash in ccid3_hc_rx_send_feedback()
    
    On fast hosts or malicious bots, we trigger a DCCP_BUG() which
    seems excessive.
    
    syzbot reported :
    
    BUG: delta (-6195) <= 0 at net/dccp/ccids/ccid3.c:628/ccid3_hc_rx_send_feedback()
    CPU: 1 PID: 18 Comm: ksoftirqd/1 Not tainted 4.18.0-rc1+ #112
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
     ccid3_hc_rx_send_feedback net/dccp/ccids/ccid3.c:628 [inline]
     ccid3_hc_rx_packet_recv.cold.16+0x38/0x71 net/dccp/ccids/ccid3.c:793
     ccid_hc_rx_packet_recv net/dccp/ccid.h:185 [inline]
     dccp_deliver_input_to_ccids+0xf0/0x280 net/dccp/input.c:180
     dccp_rcv_established+0x87/0xb0 net/dccp/input.c:378
     dccp_v4_do_rcv+0x153/0x180 net/dccp/ipv4.c:654
     sk_backlog_rcv include/net/sock.h:914 [inline]
     __sk_receive_skb+0x3ba/0xd80 net/core/sock.c:517
     dccp_v4_rcv+0x10f9/0x1f58 net/dccp/ipv4.c:875
     ip_local_deliver_finish+0x2eb/0xda0 net/ipv4/ip_input.c:215
     NF_HOOK include/linux/netfilter.h:287 [inline]
     ip_local_deliver+0x1e9/0x750 net/ipv4/ip_input.c:256
     dst_input include/net/dst.h:450 [inline]
     ip_rcv_finish+0x823/0x2220 net/ipv4/ip_input.c:396
     NF_HOOK include/linux/netfilter.h:287 [inline]
     ip_rcv+0xa18/0x1284 net/ipv4/ip_input.c:492
     __netif_receive_skb_core+0x2488/0x3680 net/core/dev.c:4628
     __netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4693
     process_backlog+0x219/0x760 net/core/dev.c:5373
     napi_poll net/core/dev.c:5771 [inline]
     net_rx_action+0x7da/0x1980 net/core/dev.c:5837
     __do_softirq+0x2e8/0xb17 kernel/softirq.c:284
     run_ksoftirqd+0x86/0x100 kernel/softirq.c:645
     smpboot_thread_fn+0x417/0x870 kernel/smpboot.c:164
     kthread+0x345/0x410 kernel/kthread.c:240
     ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412
    
    Signed-off-by: Eric Dumazet <edumazet at google.com>
    Reported-by: syzbot <syzkaller at googlegroups.com>
    Cc: Gerrit Renker <gerrit at erg.abdn.ac.uk>
    Cc: dccp at vger.kernel.org
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 7b4e88434c4e7982fb053c49657e1c8bbb8692d9
Author: Casey Schaufler <casey at schaufler-ca.com>
Date:   Fri Jun 22 10:54:45 2018 -0700

    Smack: Mark inode instant in smack_task_to_inode
    
    Smack: Mark inode instant in smack_task_to_inode
    
    /proc clean-up in commit 1bbc55131e59bd099fdc568d3aa0b42634dbd188
    resulted in smack_task_to_inode() being called before smack_d_instantiate.
    This resulted in the smk_inode value being ignored, even while present
    for files in /proc/self. Marking the inode as instant here fixes that.
    
    Signed-off-by: Casey Schaufler <casey at schaufler-ca.com>
    Signed-off-by: James Morris <james.morris at microsoft.com>

commit e020797b7def11c8feeb3ee5c1f48c12cb959def
Author: Geert Uytterhoeven <geert at linux-m68k.org>
Date:   Fri Jun 22 13:08:43 2018 +0200

    net: Remove depends on HAS_DMA in case of platform dependency
    
    Remove dependencies on HAS_DMA where a Kconfig symbol depends on another
    symbol that implies HAS_DMA, and, optionally, on "|| COMPILE_TEST".
    In most cases this other symbol is an architecture or platform specific
    symbol, or PCI.
    
    Generic symbols and drivers without platform dependencies keep their
    dependencies on HAS_DMA, to prevent compiling subsystems or drivers that
    cannot work anyway.
    
    This simplifies the dependencies, and allows to improve compile-testing.
    
    Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
    Reviewed-by: Mark Brown <broonie at kernel.org>
    Acked-by: Robin Murphy <robin.murphy at arm.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 935c5e3eafe8186dd13e1eda24ad82ecae942852
Author: Geert Uytterhoeven <geert at linux-m68k.org>
Date:   Fri Jun 22 12:08:13 2018 +0200

    MAINTAINERS: Add file patterns for dsa device tree bindings
    
    Submitters of device tree binding documentation may forget to CC
    the subsystem maintainer if this is missing.
    
    Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c2cd650b5b2bd6b57f2f62be65b1a8a576d4de6d
Author: Antoine Tenart <antoine.tenart at bootlin.com>
Date:   Fri Jun 22 11:50:52 2018 +0200

    net: mscc: make sparse happy
    
    This patch fixes a sparse warning about using an incorrect type in
    argument 2 of ocelot_write_rix(), as an u32 was expected but a __be32
    was given. The conversion to u32 is forced, which is safe as the value
    will be written as-is in the hardware without any modification.
    
    Fixes: 08d02364b12f ("net: mscc: fix the injection header")
    Signed-off-by: Antoine Tenart <antoine.tenart at bootlin.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 271f7ff5aa5a73488b7a9d8b84b5205fb5b2f7cc
Author: Antoine Tenart <antoine.tenart at bootlin.com>
Date:   Fri Jun 22 10:15:39 2018 +0200

    net: mvneta: fix the Rx desc DMA address in the Rx path
    
    When using s/w buffer management, buffers are allocated and DMA mapped.
    When doing so on an arm64 platform, an offset correction is applied on
    the DMA address, before storing it in an Rx descriptor. The issue is
    this DMA address is then used later in the Rx path without removing the
    offset correction. Thus the DMA address is wrong, which can led to
    various issues.
    
    This patch fixes this by removing the offset correction from the DMA
    address retrieved from the Rx descriptor before using it in the Rx path.
    
    Fixes: 8d5047cf9ca2 ("net: mvneta: Convert to be 64 bits compatible")
    Signed-off-by: Antoine Tenart <antoine.tenart at bootlin.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 805f16a5f12fd68e10841013ccfaceb2f4d7066a
Author: Tobin C. Harding <me at tobin.cc>
Date:   Fri Jun 22 10:37:08 2018 +1000

    Documentation: e1000: Fix docs build error
    
    Recent patch updated e1000 docs to rst format.  Docs build (`make
    htmldocs`) is currently failing due to this file with error:
    
            (SEVERE/4) Unexpected section title.
    
    This is because a section of the file is indented 2 spaces.  Build error
    can be cleared by aligning the text with column 0.  While we are changing
    these lines we can make sure line length does not exceed 72, that
    newlines following headings are uniform, and that full stops are
    followed by two spaces.
    
    Align text with column 0, limit line length to 72, ensure two spaces
    follow all full stops, ensure uniform use of newlines after heading.
    
    Fixes commit (228046e76189 Documentation: e1000: Update kernel documentation)
    
    CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: Tobin C. Harding <me at tobin.cc>
    Acked-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3b0c3ebe2a42ce18a59828acc4578166367dc7b5
Author: Tobin C. Harding <me at tobin.cc>
Date:   Fri Jun 22 10:37:07 2018 +1000

    Documentation: e100: Fix docs build error
    
    Recent patch updated e100 docs to rst format.  Docs build (`make
    htmldocs`) is currently failing due to this file with error:
    
    	(SEVERE/4) Unexpected section title.
    
    This is because a section of the file is indented 2 spaces.  Build error
    can be cleared by aligning the text with column 0.  While we are changing
    these lines we can make sure line length does not exceed 72, that
    newlines following headings are uniform, and that full stops are
    followed by two spaces.
    
    Align text with column 0, limit line length to 72, ensure two spaces
    follow all full stops, ensure uniform use of newlines after heading.
    
    Fixes commit (85d63445f411 Documentation: e100: Update the Intel 10/100 driver doc)
    
    CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: Tobin C. Harding <me at tobin.cc>
    Acked-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 3be40e54764d3ac9c004dc1646ab2c4cc0f0905e
Author: Tobin C. Harding <me at tobin.cc>
Date:   Fri Jun 22 10:37:06 2018 +1000

    Documentation: e1000: Use correct heading adornment
    
    Recently documentation file was converted to rst.  The document title
    has the incorrect heading adornment.  From kernel docs:
    
    	* Please stick to this order of heading adornments:
    
    	  1. ``=`` with overline for document title::
    
    	       ==============
    	       Document title
    	       ==============
    
    Add  overline heading adornment to document title.
    
    Fixes commit (228046e76189 Documentation: e1000: Update kernel documentation)
    
    CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: Tobin C. Harding <me at tobin.cc>
    Acked-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 32e6996ca697099a4be5cd0dbd4b436699ca81a9
Author: Tobin C. Harding <me at tobin.cc>
Date:   Fri Jun 22 10:37:05 2018 +1000

    Documentation: e100: Use correct heading adornment
    
    Recently documentation file was converted to rst.  The document title
    has the incorrect heading adornment.  From kernel docs:
    
    	* Please stick to this order of heading adornments:
    
    	  1. ``=`` with overline for document title::
    
    	       ==============
    	       Document title
    	       ==============
    
    Add  overline heading adornment to document title.
    
    Fixes commit (85d63445f411 Documentation: e100: Update the Intel 10/100 driver doc)
    
    CC: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: Tobin C. Harding <me at tobin.cc>
    Acked-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 6c6da92808442908287fae8ebb0ca041a52469f4
Author: Hangbin Liu <liuhangbin at gmail.com>
Date:   Thu Jun 21 19:49:36 2018 +0800

    ipv6: mcast: fix unsolicited report interval after receiving querys
    
    After recieving MLD querys, we update idev->mc_maxdelay with max_delay
    from query header. This make the later unsolicited reports have the same
    interval with mc_maxdelay, which means we may send unsolicited reports with
    long interval time instead of default configured interval time.
    
    Also as we will not call ipv6_mc_reset() after device up. This issue will
    be there even after leave the group and join other groups.
    
    Fixes: fc4eba58b4c14 ("ipv6: make unsolicited report intervals configurable for mld")
    Signed-off-by: Hangbin Liu <liuhangbin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit b8f1f65882f07913157c44673af7ec0b308d03eb
Author: Jason Wang <jasowang at redhat.com>
Date:   Thu Jun 21 13:11:31 2018 +0800

    vhost_net: validate sock before trying to put its fd
    
    Sock will be NULL if we pass -1 to vhost_net_set_backend(), but when
    we meet errors during ubuf allocation, the code does not check for
    NULL before calling sockfd_put(), this will lead NULL
    dereferencing. Fixing by checking sock pointer before.
    
    Fixes: bab632d69ee4 ("vhost: vhost TX zero-copy support")
    Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
    Signed-off-by: Jason Wang <jasowang at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit f2ccaa5904666f84d4e6958d6db9d1e65ead5085
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Fri Jun 22 10:01:19 2018 +0200

    dm raid: don't use 'const' in function return
    
    A newly introduced function has 'const int' as the return type,
    but as "make W=1" reports, that has no meaning:
    
    drivers/md/dm-raid.c:510:18: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
    
    This changes the return type to plain 'int'.
    
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Fixes: 33e53f06850f ("dm raid: introduce extended superblock and new raid types to support takeover/reshaping")
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>
    Fixes: 552aa679f2657431 ("dm raid: use rs_is_raid*()")
    Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>

commit 2d0b2d64d325e22939d9db3ba784f1236459ed98
Author: Bart Van Assche <bart.vanassche at wdc.com>
Date:   Fri Jun 22 08:09:11 2018 -0700

    dm zoned: avoid triggering reclaim from inside dmz_map()
    
    This patch avoids that lockdep reports the following:
    
    ======================================================
    WARNING: possible circular locking dependency detected
    4.18.0-rc1 #62 Not tainted
    ------------------------------------------------------
    kswapd0/84 is trying to acquire lock:
    00000000c313516d (&xfs_nondir_ilock_class){++++}, at: xfs_free_eofblocks+0xa2/0x1e0
    
    but task is already holding lock:
    00000000591c83ae (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x5/0x30
    
    which lock already depends on the new lock.
    
    the existing dependency chain (in reverse order) is:
    
    -> #2 (fs_reclaim){+.+.}:
      kmem_cache_alloc+0x2c/0x2b0
      radix_tree_node_alloc.constprop.19+0x3d/0xc0
      __radix_tree_create+0x161/0x1c0
      __radix_tree_insert+0x45/0x210
      dmz_map+0x245/0x2d0 [dm_zoned]
      __map_bio+0x40/0x260
      __split_and_process_non_flush+0x116/0x220
      __split_and_process_bio+0x81/0x180
      __dm_make_request.isra.32+0x5a/0x100
      generic_make_request+0x36e/0x690
      submit_bio+0x6c/0x140
      mpage_readpages+0x19e/0x1f0
      read_pages+0x6d/0x1b0
      __do_page_cache_readahead+0x21b/0x2d0
      force_page_cache_readahead+0xc4/0x100
      generic_file_read_iter+0x7c6/0xd20
      __vfs_read+0x102/0x180
      vfs_read+0x9b/0x140
      ksys_read+0x55/0xc0
      do_syscall_64+0x5a/0x1f0
      entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    -> #1 (&dmz->chunk_lock){+.+.}:
      dmz_map+0x133/0x2d0 [dm_zoned]
      __map_bio+0x40/0x260
      __split_and_process_non_flush+0x116/0x220
      __split_and_process_bio+0x81/0x180
      __dm_make_request.isra.32+0x5a/0x100
      generic_make_request+0x36e/0x690
      submit_bio+0x6c/0x140
      _xfs_buf_ioapply+0x31c/0x590
      xfs_buf_submit_wait+0x73/0x520
      xfs_buf_read_map+0x134/0x2f0
      xfs_trans_read_buf_map+0xc3/0x580
      xfs_read_agf+0xa5/0x1e0
      xfs_alloc_read_agf+0x59/0x2b0
      xfs_alloc_pagf_init+0x27/0x60
      xfs_bmap_longest_free_extent+0x43/0xb0
      xfs_bmap_btalloc_nullfb+0x7f/0xf0
      xfs_bmap_btalloc+0x428/0x7c0
      xfs_bmapi_write+0x598/0xcc0
      xfs_iomap_write_allocate+0x15a/0x330
      xfs_map_blocks+0x1cf/0x3f0
      xfs_do_writepage+0x15f/0x7b0
      write_cache_pages+0x1ca/0x540
      xfs_vm_writepages+0x65/0xa0
      do_writepages+0x48/0xf0
      __writeback_single_inode+0x58/0x730
      writeback_sb_inodes+0x249/0x5c0
      wb_writeback+0x11e/0x550
      wb_workfn+0xa3/0x670
      process_one_work+0x228/0x670
      worker_thread+0x3c/0x390
      kthread+0x11c/0x140
      ret_from_fork+0x3a/0x50
    
    -> #0 (&xfs_nondir_ilock_class){++++}:
      down_read_nested+0x43/0x70
      xfs_free_eofblocks+0xa2/0x1e0
      xfs_fs_destroy_inode+0xac/0x270
      dispose_list+0x51/0x80
      prune_icache_sb+0x52/0x70
      super_cache_scan+0x127/0x1a0
      shrink_slab.part.47+0x1bd/0x590
      shrink_node+0x3b5/0x470
      balance_pgdat+0x158/0x3b0
      kswapd+0x1ba/0x600
      kthread+0x11c/0x140
      ret_from_fork+0x3a/0x50
    
    other info that might help us debug this:
    
    Chain exists of:
      &xfs_nondir_ilock_class --> &dmz->chunk_lock --> fs_reclaim
    
    Possible unsafe locking scenario:
    
         CPU0                    CPU1
         ----                    ----
    lock(fs_reclaim);
                                 lock(&dmz->chunk_lock);
                                 lock(fs_reclaim);
    lock(&xfs_nondir_ilock_class);
    
    *** DEADLOCK ***
    
    3 locks held by kswapd0/84:
     #0: 00000000591c83ae (fs_reclaim){+.+.}, at: __fs_reclaim_acquire+0x5/0x30
     #1: 000000000f8208f5 (shrinker_rwsem){++++}, at: shrink_slab.part.47+0x3f/0x590
     #2: 00000000cacefa54 (&type->s_umount_key#43){.+.+}, at: trylock_super+0x16/0x50
    
    stack backtrace:
    CPU: 7 PID: 84 Comm: kswapd0 Not tainted 4.18.0-rc1 #62
    Hardware name: Supermicro Super Server/X10SRL-F, BIOS 2.0 12/17/2015
    Call Trace:
     dump_stack+0x85/0xcb
     print_circular_bug.isra.36+0x1ce/0x1db
     __lock_acquire+0x124e/0x1310
     lock_acquire+0x9f/0x1f0
     down_read_nested+0x43/0x70
     xfs_free_eofblocks+0xa2/0x1e0
     xfs_fs_destroy_inode+0xac/0x270
     dispose_list+0x51/0x80
     prune_icache_sb+0x52/0x70
     super_cache_scan+0x127/0x1a0
     shrink_slab.part.47+0x1bd/0x590
     shrink_node+0x3b5/0x470
     balance_pgdat+0x158/0x3b0
     kswapd+0x1ba/0x600
     kthread+0x11c/0x140
     ret_from_fork+0x3a/0x50
    
    Reported-by: Masato Suzuki <masato.suzuki at wdc.com>
    Fixes: 4218a9554653 ("dm zoned: use GFP_NOIO in I/O path")
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Bart Van Assche <bart.vanassche at wdc.com>
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>

commit 50a7d3ba7c9ac5e0b7e03fc7f420180989361dbf
Author: Kees Cook <keescook at chromium.org>
Date:   Mon Jun 18 10:50:33 2018 -0700

    dm writecache: use 2-factor allocator arguments
    
    This adjusts the allocator calls to use the 2-factor argument style, as
    already done treewide for better defense against allocator overflows.
    
    Signed-off-by: Kees Cook <keescook at chromium.org>
    [snitzer: tweaked code to leave assignment in a test alone]
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>

commit 7ccdbf85d3b2237cdbdafe6a47673dbdfab4b7a2
Author: Mike Snitzer <snitzer at redhat.com>
Date:   Mon Jun 18 11:57:51 2018 -0400

    dm thin metadata: remove needless work from __commit_transaction
    
    Commit 5a32083d03fb5 ("dm: take care to copy the space map roots before
    locking the superblock") properly removed the calls to dm_sm_root_size()
    from __write_initial_superblock().  But the dm_sm_root_size() calls were
    left dangling in __commit_transaction().
    
    Fixes: 5a32083d03fb5 ("dm: take care to copy the space map roots before locking the superblock")
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>

commit f21c601a2bb319ec19eb4562eadc7797d90fd90e
Author: Mike Snitzer <snitzer at redhat.com>
Date:   Fri Jun 15 09:35:33 2018 -0400

    dm: use bio_split() when splitting out the already processed bio
    
    Use of bio_clone_bioset() is inefficient if there is no need to clone
    the original bio's bio_vec array.  Best to use the bio_clone_fast()
    variant.  Also, just using bio_advance() is only part of what is needed
    to properly setup the clone -- it doesn't account for the various
    bio_integrity() related work that also needs to be performed (see
    bio_split).
    
    Address both of these issues by switching from bio_clone_bioset() to
    bio_split().
    
    Fixes: 18a25da8 ("dm: ensure bio submission follows a depth-first tree walk")
    Cc: stable at vger.kernel.org # 4.15+, requires removal of '&' before md->queue->bio_split
    Reported-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: NeilBrown <neilb at suse.com>
    Signed-off-by: Mike Snitzer <snitzer at redhat.com>

commit 3f6e6986045d47f87bd982910821b7ab9758487e
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date:   Sat Jun 23 01:06:34 2018 +0900

    mtd: rawnand: denali_dt: set clk_x_rate to 200 MHz unconditionally
    
    Since commit 1bb88666775e ("mtd: nand: denali: handle timing parameters
    by setup_data_interface()"), denali_dt.c gets the clock rate from the
    clock driver.  The driver expects the frequency of the bus interface
    clock, whereas the clock driver of SOCFPGA provides the core clock.
    Thus, the setup_data_interface() hook calculates timing parameters
    based on a wrong frequency.
    
    To make it work without relying on the clock driver, hard-code the clock
    frequency, 200MHz.  This is fine for existing DT of UniPhier, and also
    fixes the issue of SOCFPGA because both platforms use 200 MHz for the
    bus interface clock.
    
    Fixes: 1bb88666775e ("mtd: nand: denali: handle timing parameters by setup_data_interface()")
    Cc: linux-stable <stable at vger.kernel.org> #4.14+
    Reported-by: Philipp Rosenberger <p.rosenberger at linutronix.de>
    Suggested-by: Boris Brezillon <boris.brezillon at bootlin.com>
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
    Tested-by: Richard Weinberger <richard at nod.at>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>

commit c5b4a50b74018b3677098151ec5f4fce07d5e6a0
Author: Filipe Manana <fdmanana at suse.com>
Date:   Mon Jun 11 19:24:16 2018 +0100

    Btrfs: fix return value on rename exchange failure
    
    If we failed during a rename exchange operation after starting/joining a
    transaction, we would end up replacing the return value, stored in the
    local 'ret' variable, with the return value from btrfs_end_transaction().
    So this could end up returning 0 (success) to user space despite the
    operation having failed and aborted the transaction, because if there are
    multiple tasks having a reference on the transaction at the time
    btrfs_end_transaction() is called by the rename exchange, that function
    returns 0 (otherwise it returns -EIO and not the original error value).
    So fix this by not overwriting the return value on error after getting
    a transaction handle.
    
    Fixes: cdd1fedf8261 ("btrfs: add support for RENAME_EXCHANGE and RENAME_WHITEOUT")
    CC: stable at vger.kernel.org # 4.9+
    Signed-off-by: Filipe Manana <fdmanana at suse.com>
    Reviewed-by: David Sterba <dsterba at suse.com>
    Signed-off-by: David Sterba <dsterba at suse.com>

commit 275ec0cb946cb75ac8977f662e608fce92f8b8a8
Author: Takashi Iwai <tiwai at suse.de>
Date:   Fri Jun 22 12:17:45 2018 +0200

    ALSA: hda/realtek - Add a quirk for FSC ESPRIMO U9210
    
    Fujitsu Seimens ESPRIMO Mobile U9210 requires the same fixup as H270
    for the correct pin configs.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=200107
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit cbdceb9b3e1928554fffd0d889adf2d0d8edee4d
Author: Geert Uytterhoeven <geert at linux-m68k.org>
Date:   Fri Jun 22 09:04:25 2018 +0200

    mtd: dataflash: Use ULL suffix for 64-bit constants
    
    With gcc 4.1.2 when compiling for 32-bit:
    
        drivers/mtd/devices/mtd_dataflash.c:736: warning: integer constant is too large for ‘long’ type
        drivers/mtd/devices/mtd_dataflash.c:737: warning: integer constant is too large for ‘long’ type
    
    Add the missing "ULL" suffixes to fix this.
    
    Fixes: 67e4145ebf2c161d ("mtd: dataflash: Add flash_info for AT45DB641E")
    Signed-off-by: Geert Uytterhoeven <geert at linux-m68k.org>
    Acked-by: Andrey Smirnov <andrew.smirnov at gmail.com>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>

commit f1ce87f6080b1dda7e7b1eda3da332add19d87b9
Author: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Date:   Wed Jun 6 12:13:30 2018 +0200

    mtd: cfi_cmdset_0002: Avoid walking all chips when unlocking.
    
    cfi_ppb_unlock() walks all flash chips when unlocking sectors,
    avoid walking chips unaffected by the unlock operation.
    
    Fixes: 1648eaaa1575 ("mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking")
    Cc: stable at vger.kernel.org
    Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>

commit e53946dbd31a21f4bef155f8febba556933d62bf
Author: Dave Chinner <dchinner at redhat.com>
Date:   Thu Jun 21 23:26:05 2018 -0700

    xfs: xfs_iflush_abort() can be called twice on cluster writeback failure
    
    When a corrupt inode is detected during xfs_iflush_cluster, we can
    get a shutdown ASSERT failure like this:
    
    XFS (pmem1): Metadata corruption detected at xfs_symlink_shortform_verify+0x5c/0xa0, inode 0x86627 data fork
    XFS (pmem1): Unmount and run xfs_repair
    XFS (pmem1): xfs_do_force_shutdown(0x8) called from line 3372 of file fs/xfs/xfs_inode.c.  Return address = ffffffff814f4116
    XFS (pmem1): Corruption of in-memory data detected.  Shutting down filesystem
    XFS (pmem1): xfs_do_force_shutdown(0x1) called from line 222 of file fs/xfs/libxfs/xfs_defer.c.  Return address = ffffffff814a8a88
    XFS (pmem1): xfs_do_force_shutdown(0x1) called from line 222 of file fs/xfs/libxfs/xfs_defer.c.  Return address = ffffffff814a8ef9
    XFS (pmem1): Please umount the filesystem and rectify the problem(s)
    XFS: Assertion failed: xfs_isiflocked(ip), file: fs/xfs/xfs_inode.h, line: 258
    .....
    Call Trace:
     xfs_iflush_abort+0x10a/0x110
     xfs_iflush+0xf3/0x390
     xfs_inode_item_push+0x126/0x1e0
     xfsaild+0x2c5/0x890
     kthread+0x11c/0x140
     ret_from_fork+0x24/0x30
    
    Essentially, xfs_iflush_abort() has been called twice on the
    original inode that that was flushed. This happens because the
    inode has been flushed to teh buffer successfully via
    xfs_iflush_int(), and so when another inode is detected as corrupt
    in xfs_iflush_cluster, the buffer is marked stale and EIO, and
    iodone callbacks are run on it.
    
    Running the iodone callbacks walks across the original inode and
    calls xfs_iflush_abort() on it. When xfs_iflush_cluster() returns
    to xfs_iflush(), it runs the error path for that function, and that
    calls xfs_iflush_abort() on the inode a second time, leading to the
    above assert failure as the inode is not flush locked anymore.
    
    This bug has been there a long time.
    
    The simple fix would be to just avoid calling xfs_iflush_abort() in
    xfs_iflush() if we've got a failure from xfs_iflush_cluster().
    However, xfs_iflush_cluster() has magic delwri buffer handling that
    means it may or may not have run IO completion on the buffer, and
    hence sometimes we have to call xfs_iflush_abort() from
    xfs_iflush(), and sometimes we shouldn't.
    
    After reading through all the error paths and the delwri buffer
    code, it's clear that the error handling in xfs_iflush_cluster() is
    unnecessary. If the buffer is delwri, it leaves it on the delwri
    list so that when the delwri list is submitted it sees a shutdown
    fliesystem in xfs_buf_submit() and that marks the buffer stale, EIO
    and runs IO completion. i.e. exactly what xfs+iflush_cluster() does
    when it's not a delwri buffer. Further, marking a buffer stale
    clears the _XBF_DELWRI_Q flag on the buffer, which means when
    submission of the buffer occurs, it just skips over it and releases
    it.
    
    IOWs, the error handling in xfs_iflush_cluster doesn't need to care
    if the buffer is already on a the delwri queue or not - it just
    needs to mark the buffer stale, EIO and run completions. That means
    we can just use the easy fix for xfs_iflush() to avoid the double
    abort.
    
    Signed-off-by: Dave Chinner <dchinner at redhat.com>
    Reviewed-by: Brian Foster <bfoster at redhat.com>
    Reviewed-by: Darrick J. Wong <darrick.wong at oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>

commit 23fcb3340d033d9f081e21e6c12c2db7eaa541d3
Author: Dave Chinner <dchinner at redhat.com>
Date:   Thu Jun 21 23:25:57 2018 -0700

    xfs: More robust inode extent count validation
    
    When the inode is in extent format, it can't have more extents that
    fit in the inode fork. We don't currenty check this, and so this
    corruption goes unnoticed by the inode verifiers. This can lead to
    crashes operating on invalid in-memory structures.
    
    Attempts to access such a inode will now error out in the verifier
    rather than allowing modification operations to proceed.
    
    Reported-by: Wen Xu <wen.xu at gatech.edu>
    Signed-off-by: Dave Chinner <dchinner at redhat.com>
    Reviewed-by: Darrick J. Wong <darrick.wong at oracle.com>
    [darrick: fix a typedef, add some braces and breaks to shut up compiler warnings]
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>

commit e2ac836307e346969737c60075fdb01bed1af503
Author: Christoph Hellwig <hch at lst.de>
Date:   Thu Jun 21 23:24:38 2018 -0700

    xfs: simplify xfs_bmap_punch_delalloc_range
    
    Instead of using xfs_bmapi_read to find delalloc extents and then punch
    them out using xfs_bunmapi, opencode the loop to iterate over the extents
    and call xfs_bmap_del_extent_delay directly.  This both simplifies the
    code and reduces the number of extent tree lookups required.
    
    Signed-off-by: Christoph Hellwig <hch at lst.de>
    Reviewed-by: Brian Foster <bfoster at redhat.com>
    Reviewed-by: Darrick J. Wong <darrick.wong at oracle.com>
    Signed-off-by: Darrick J. Wong <darrick.wong at oracle.com>

commit e5ab564c9ebee77794842ca7d7476147b83d6a27
Author: Claudio Imbrenda <imbrenda at linux.vnet.ibm.com>
Date:   Wed Jun 20 15:51:51 2018 +0200

    VSOCK: fix loopback on big-endian systems
    
    The dst_cid and src_cid are 64 bits, therefore 64 bit accessors should be
    used, and in fact in virtio_transport_common.c only 64 bit accessors are
    used. Using 32 bit accessors for 64 bit values breaks big endian systems.
    
    This patch fixes a wrong use of le32_to_cpu in virtio_transport_send_pkt.
    
    Fixes: b9116823189e85ccf384 ("VSOCK: add loopback to virtio_transport")
    
    Signed-off-by: Claudio Imbrenda <imbrenda at linux.vnet.ibm.com>
    Reviewed-by: Stefan Hajnoczi <stefanha at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 40141bb480a2c7805e8f4faec14ade90121ecb06
Author: Colin Ian King <colin.king at canonical.com>
Date:   Thu Jun 21 18:16:45 2018 +0100

    net: ethernet: ti: davinci_cpdma: make function cpdma_desc_pool_create static
    
    The function cpdma_desc_pool_create is local to the source and does not
    need to be in global scope, so make it static.
    
    Cleans up sparse warning:
    warning: symbol 'cpdma_desc_pool_create' was not declared. Should it
    be static?
    
    Signed-off-by: Colin Ian King <colin.king at canonical.com>
    Reviewed-by: Grygorii Strashko <grygorii.strashko at ti.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit dd6bee81c942c0ea01030da9356026afb88f9d18
Author: Enno Boland <gottox at voidlinux.eu>
Date:   Tue Jun 19 11:55:33 2018 -0700

    Input: xpad - fix GPD Win 2 controller name
    
    This fixes using the controller with SDL2.
    
    SDL2 has a naive algorithm to apply the correct settings to a controller.
    For X-Box compatible controllers it expects that the controller name
    contains a variation of a 'XBOX'-string.
    
    This patch changes the identifier to contain "X-Box" as substring.  Tested
    with Steam and C-Dogs-SDL which both detect the controller properly after
    adding this patch.
    
    Fixes: c1ba08390a8b ("Input: xpad - add GPD Win 2 Controller USB IDs")
    Cc: stable at vger.kernel.org
    Signed-off-by: Enno Boland <gottox at voidlinux.eu>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit 50fc7b61959af4b95fafce7fe5dd565199e0b61a
Author: Ben Hutchings <ben.hutchings at codethink.co.uk>
Date:   Tue Jun 19 11:17:32 2018 -0700

    Input: elan_i2c_smbus - fix more potential stack buffer overflows
    
    Commit 40f7090bb1b4 ("Input: elan_i2c_smbus - fix corrupted stack")
    fixed most of the functions using i2c_smbus_read_block_data() to
    allocate a buffer with the maximum block size.  However three
    functions were left unchanged:
    
    * In elan_smbus_initialize(), increase the buffer size in the same
      way.
    * In elan_smbus_calibrate_result(), the buffer is provided by the
      caller (calibrate_store()), so introduce a bounce buffer.  Also
      name the result buffer size.
    * In elan_smbus_get_report(), the buffer is provided by the caller
      but happens to be the right length.  Add a compile-time assertion
      to ensure this remains the case.
    
    Cc: <stable at vger.kernel.org> # 3.19+
    Signed-off-by: Ben Hutchings <ben.hutchings at codethink.co.uk>
    Reviewed-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit 8938fc7b8fe9ccfa11751ead502a8d385b607967
Author: Alexandr Savca <alexandr.savca at saltedge.com>
Date:   Thu Jun 21 17:12:54 2018 -0700

    Input: elan_i2c - add ELAN0618 (Lenovo v330 15IKB) ACPI ID
    
    Add ELAN0618 to the list of supported touchpads; this ID is used in
    Lenovo v330 15IKB devices.
    
    Signed-off-by: Alexandr Savca <alexandr.savca at saltedge.com>
    Cc: stable at vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit e0ae2519ca004a628fa55aeef969c37edce522d3
Author: ??? <kt.liao at emc.com.tw>
Date:   Thu Jun 21 17:15:32 2018 -0700

    Input: elantech - fix V4 report decoding for module with middle key
    
    Some touchpad has middle key and it will be indicated in bit 2 of packet[0].
    We need to fix V4 formation's byte mask to prevent error decoding.
    
    Signed-off-by: KT Liao <kt.liao at emc.com.tw>
    Cc: stable at vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit 24bb555e6e46d96e2a954aa0295029a81cc9bbaa
Author: Aaron Ma <aaron.ma at canonical.com>
Date:   Thu Jun 21 17:14:01 2018 -0700

    Input: elantech - enable middle button of touchpads on ThinkPad P52
    
    PNPID is better way to identify the type of touchpads.
    Enable middle button support on 2 types of touchpads on Lenovo P52.
    
    Cc: stable at vger.kernel.org
    Signed-off-by: Aaron Ma <aaron.ma at canonical.com>
    Reviewed-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit 0cd8116f172eed018907303dbff5c112690eeb91
Author: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Date:   Wed Jun 6 12:13:29 2018 +0200

    mtd: cfi_cmdset_0002: Fix unlocking requests crossing a chip boudary
    
    The "sector is in requested range" test used to determine whether
    sectors should be re-locked or not is done on a variable that is reset
    everytime we cross a chip boundary, which can lead to some blocks being
    re-locked while the caller expect them to be unlocked.
    Fix the check to make sure this cannot happen.
    
    Fixes: 1648eaaa1575 ("mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking")
    Cc: stable at vger.kernel.org
    Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>

commit 962c661f14ad08d524f4870eeaa2d0856b830840
Merge: 44a5cd436ec0 45c8184c1bed
Author: David S. Miller <davem at davemloft.net>
Date:   Fri Jun 22 07:54:54 2018 +0900

    Merge branch 'xen-netfront-fixes'
    
    Ross Lagerwall says:
    
    ====================
    xen-netfront: Fix issues with commit f599c64fdf7d
    
    Fix a couple of issues with commit f599c64fdf7d ("xen-netfront: Fix race
    between device setup and open").
    ====================
    
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 45c8184c1bed1ca8a7f02918552063a00b909bf5
Author: Ross Lagerwall <ross.lagerwall at citrix.com>
Date:   Thu Jun 21 14:00:21 2018 +0100

    xen-netfront: Update features after registering netdev
    
    Update the features after calling register_netdev() otherwise the
    device features are not set up correctly and it not possible to change
    the MTU of the device. After this change, the features reported by
    ethtool match the device's features before the commit which introduced
    the issue and it is possible to change the device's MTU.
    
    Fixes: f599c64fdf7d ("xen-netfront: Fix race between device setup and open")
    Reported-by: Liam Shepherd <liam at dancer.es>
    Signed-off-by: Ross Lagerwall <ross.lagerwall at citrix.com>
    Reviewed-by: Juergen Gross <jgross at suse.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit cb257783c2927b73614b20f915a91ff78aa6f3e8
Author: Ross Lagerwall <ross.lagerwall at citrix.com>
Date:   Thu Jun 21 14:00:20 2018 +0100

    xen-netfront: Fix mismatched rtnl_unlock
    
    Fixes: f599c64fdf7d ("xen-netfront: Fix race between device setup and open")
    Reported-by: Ben Hutchings <ben.hutchings at codethink.co.uk>
    Signed-off-by: Ross Lagerwall <ross.lagerwall at citrix.com>
    Reviewed-by: Juergen Gross <jgross at suse.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 5fdfc3dbad099281bf027a353d5786c09408a8e5
Author: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Date:   Wed Jun 6 12:13:28 2018 +0200

    mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips
    
    cfi_ppb_unlock() tries to relock all sectors that were locked before
    unlocking the whole chip.
    This locking used the chip start address + the FULL offset from the
    first flash chip, thereby forming an illegal address. Fix that by using
    the chip offset(adr).
    
    Fixes: 1648eaaa1575 ("mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking")
    Cc: stable at vger.kernel.org
    Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>

commit f93aa8c4de307069c270b2d81741961162bead6c
Author: Joakim Tjernlund <joakim.tjernlund at infinera.com>
Date:   Wed Jun 6 12:13:27 2018 +0200

    mtd: cfi_cmdset_0002: Use right chip in do_ppb_xxlock()
    
    do_ppb_xxlock() fails to add chip->start when querying for lock status
    (and chip_ready test), which caused false status reports.
    Fix that by adding adr += chip->start and adjust call sites
    accordingly.
    
    Fixes: 1648eaaa1575 ("mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking")
    Cc: stable at vger.kernel.org
    Signed-off-by: Joakim Tjernlund <joakim.tjernlund at infinera.com>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>

commit 3e1a61b30c6a3a31314570c0c418a6bf84b056b1
Author: Yonghong Song <yhs at fb.com>
Date:   Thu Jun 21 10:02:20 2018 -0700

    tools/bpf: fix test_sockmap failure
    
    On one of our production test machine, when running
    bpf selftest test_sockmap, I got the following error:
      # sudo ./test_sockmap
      libbpf: failed to create map (name: 'sock_map'): Operation not permitted
      libbpf: failed to load object 'test_sockmap_kern.o'
      libbpf: Can't get the 0th fd from program sk_skb1: only -1 instances
      ......
      load_bpf_file: (-1) Operation not permitted
      ERROR: (-1) load bpf failed
    
    The error is due to not-big-enough rlimit
      struct rlimit r = {10 * 1024 * 1024, RLIM_INFINITY};
    
    The test already includes "bpf_rlimit.h", which sets current
    and max rlimit to RLIM_INFINITY. Let us just use it.
    
    Signed-off-by: Yonghong Song <yhs at fb.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit fe3dd97dd66bb7fb23b8077a3803d2f951e60b00
Author: Mason Yang <masonccyang at mxic.com.tw>
Date:   Wed Jun 20 11:46:30 2018 +0200

    mtd: rawnand: All AC chips have a broken GET_FEATURES(TIMINGS).
    
    Make sure we flag all broken chips as not supporting this feature.
    Also move this logic to a new function to keep things readable.
    
    Fixes: 34c5c01e0c8c ("mtd: rawnand: macronix: nack the support of changing timings for one chip")
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Mason Yang <masonccyang at mxic.com.tw>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>
    Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>

commit 81e167c2a216e7b54e6add9d2badcda267fe33b1
Author: Jeffrin Jose T <ahiliation at gmail.com>
Date:   Thu Jun 21 22:30:20 2018 +0530

    selftests: bpf: notification about privilege required to run test_kmod.sh testing script
    
    The test_kmod.sh script require root privilege for the successful
    execution of the test.
    
    This patch is to notify the user about the privilege the script
    demands for the successful execution of the test.
    
    Signed-off-by: Jeffrin Jose T (Rajagiri SET) <ahiliation at gmail.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit 44a5cd436ec067c9a62988aca3331ac6eee5268d
Author: Paolo Abeni <pabeni at redhat.com>
Date:   Thu Jun 21 20:02:16 2018 +0200

    cls_flower: fix use after free in flower S/W path
    
    If flower filter is created without the skip_sw flag, fl_mask_put()
    can race with fl_classify() and we can destroy the mask rhashtable
    while a lookup operation is accessing it.
    
     BUG: unable to handle kernel paging request at 00000000000911d1
     PGD 0 P4D 0
     SMP PTI
     CPU: 3 PID: 5582 Comm: vhost-5541 Not tainted 4.18.0-rc1.vanilla+ #1950
     Hardware name: Dell Inc. PowerEdge R730/072T6D, BIOS 2.1.7 06/16/2016
     RIP: 0010:rht_bucket_nested+0x20/0x60
     Code: 31 c8 c1 c1 18 29 c8 c3 66 90 8b 4f 04 ba 01 00 00 00 8b 07 48 8b bf 80 00 00 0
     RSP: 0018:ffffafc5cfbb7a48 EFLAGS: 00010206
     RAX: 0000000000001978 RBX: ffff9f12dff88a00 RCX: 00000000ffff9f12
     RDX: 00000000000911d1 RSI: 0000000000000148 RDI: 0000000000000001
     RBP: ffff9f12dff88a00 R08: 000000005f1cc119 R09: 00000000a715fae2
     R10: ffffafc5cfbb7aa8 R11: ffff9f1cb4be804e R12: ffff9f1265e13000
     R13: 0000000000000000 R14: ffffafc5cfbb7b48 R15: ffff9f12dff88b68
     FS:  0000000000000000(0000) GS:ffff9f1d3f0c0000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 00000000000911d1 CR3: 0000001575a94006 CR4: 00000000001626e0
     Call Trace:
      fl_lookup+0x134/0x140 [cls_flower]
      fl_classify+0xf3/0x180 [cls_flower]
      tcf_classify+0x78/0x150
      __netif_receive_skb_core+0x69e/0xa50
      netif_receive_skb_internal+0x42/0xf0
      tun_get_user+0xdd5/0xfd0 [tun]
      tun_sendmsg+0x52/0x70 [tun]
      handle_tx+0x2b3/0x5f0 [vhost_net]
      vhost_worker+0xab/0x100 [vhost]
      kthread+0xf8/0x130
      ret_from_fork+0x35/0x40
     Modules linked in: act_mirred act_gact cls_flower vhost_net vhost tap sch_ingress
     CR2: 00000000000911d1
    
    Fix the above waiting for a RCU grace period before destroying the
    rhashtable: we need to use tcf_queue_work(), as rhashtable_destroy()
    must run in process context, as pointed out by Cong Wang.
    
    v1 -> v2: use tcf_queue_work to run rhashtable_destroy().
    
    Fixes: 05cd271fd61a ("cls_flower: Support multiple masks per priority")
    Signed-off-by: Paolo Abeni <pabeni at redhat.com>
    Acked-by: Jiri Pirko <jiri at mellanox.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 945d015ee0c3095d2290e845565a23dedfd8027c
Author: Eric Dumazet <edumazet at google.com>
Date:   Thu Jun 21 14:16:02 2018 -0700

    net/packet: fix use-after-free
    
    We should put copy_skb in receive_queue only after
    a successful call to virtio_net_hdr_from_skb().
    
    syzbot report :
    
    BUG: KASAN: use-after-free in __skb_unlink include/linux/skbuff.h:1843 [inline]
    BUG: KASAN: use-after-free in __skb_dequeue include/linux/skbuff.h:1863 [inline]
    BUG: KASAN: use-after-free in skb_dequeue+0x16a/0x180 net/core/skbuff.c:2815
    Read of size 8 at addr ffff8801b044ecc0 by task syz-executor217/4553
    
    CPU: 0 PID: 4553 Comm: syz-executor217 Not tainted 4.18.0-rc1+ #111
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
     print_address_description+0x6c/0x20b mm/kasan/report.c:256
     kasan_report_error mm/kasan/report.c:354 [inline]
     kasan_report.cold.7+0x242/0x2fe mm/kasan/report.c:412
     __asan_report_load8_noabort+0x14/0x20 mm/kasan/report.c:433
     __skb_unlink include/linux/skbuff.h:1843 [inline]
     __skb_dequeue include/linux/skbuff.h:1863 [inline]
     skb_dequeue+0x16a/0x180 net/core/skbuff.c:2815
     skb_queue_purge+0x26/0x40 net/core/skbuff.c:2852
     packet_set_ring+0x675/0x1da0 net/packet/af_packet.c:4331
     packet_release+0x630/0xd90 net/packet/af_packet.c:2991
     __sock_release+0xd7/0x260 net/socket.c:603
     sock_close+0x19/0x20 net/socket.c:1186
     __fput+0x35b/0x8b0 fs/file_table.c:209
     ____fput+0x15/0x20 fs/file_table.c:243
     task_work_run+0x1ec/0x2a0 kernel/task_work.c:113
     exit_task_work include/linux/task_work.h:22 [inline]
     do_exit+0x1b08/0x2750 kernel/exit.c:865
     do_group_exit+0x177/0x440 kernel/exit.c:968
     __do_sys_exit_group kernel/exit.c:979 [inline]
     __se_sys_exit_group kernel/exit.c:977 [inline]
     __x64_sys_exit_group+0x3e/0x50 kernel/exit.c:977
     do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    RIP: 0033:0x4448e9
    Code: Bad RIP value.
    RSP: 002b:00007ffd5f777ca8 EFLAGS: 00000202 ORIG_RAX: 00000000000000e7
    RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00000000004448e9
    RDX: 00000000004448e9 RSI: 000000000000fcfb RDI: 0000000000000001
    RBP: 00000000006cf018 R08: 00007ffd0000a45b R09: 0000000000000000
    R10: 00007ffd5f777e48 R11: 0000000000000202 R12: 00000000004021f0
    R13: 0000000000402280 R14: 0000000000000000 R15: 0000000000000000
    
    Allocated by task 4553:
     save_stack+0x43/0xd0 mm/kasan/kasan.c:448
     set_track mm/kasan/kasan.c:460 [inline]
     kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:553
     kasan_slab_alloc+0x12/0x20 mm/kasan/kasan.c:490
     kmem_cache_alloc+0x12e/0x760 mm/slab.c:3554
     skb_clone+0x1f5/0x500 net/core/skbuff.c:1282
     tpacket_rcv+0x28f7/0x3200 net/packet/af_packet.c:2221
     deliver_skb net/core/dev.c:1925 [inline]
     deliver_ptype_list_skb net/core/dev.c:1940 [inline]
     __netif_receive_skb_core+0x1bfb/0x3680 net/core/dev.c:4611
     __netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4693
     netif_receive_skb_internal+0x12e/0x7d0 net/core/dev.c:4767
     netif_receive_skb+0xbf/0x420 net/core/dev.c:4791
     tun_rx_batched.isra.55+0x4ba/0x8c0 drivers/net/tun.c:1571
     tun_get_user+0x2af1/0x42f0 drivers/net/tun.c:1981
     tun_chr_write_iter+0xb9/0x154 drivers/net/tun.c:2009
     call_write_iter include/linux/fs.h:1795 [inline]
     new_sync_write fs/read_write.c:474 [inline]
     __vfs_write+0x6c6/0x9f0 fs/read_write.c:487
     vfs_write+0x1f8/0x560 fs/read_write.c:549
     ksys_write+0x101/0x260 fs/read_write.c:598
     __do_sys_write fs/read_write.c:610 [inline]
     __se_sys_write fs/read_write.c:607 [inline]
     __x64_sys_write+0x73/0xb0 fs/read_write.c:607
     do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    Freed by task 4553:
     save_stack+0x43/0xd0 mm/kasan/kasan.c:448
     set_track mm/kasan/kasan.c:460 [inline]
     __kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:521
     kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528
     __cache_free mm/slab.c:3498 [inline]
     kmem_cache_free+0x86/0x2d0 mm/slab.c:3756
     kfree_skbmem+0x154/0x230 net/core/skbuff.c:582
     __kfree_skb net/core/skbuff.c:642 [inline]
     kfree_skb+0x1a5/0x580 net/core/skbuff.c:659
     tpacket_rcv+0x189e/0x3200 net/packet/af_packet.c:2385
     deliver_skb net/core/dev.c:1925 [inline]
     deliver_ptype_list_skb net/core/dev.c:1940 [inline]
     __netif_receive_skb_core+0x1bfb/0x3680 net/core/dev.c:4611
     __netif_receive_skb+0x2c/0x1e0 net/core/dev.c:4693
     netif_receive_skb_internal+0x12e/0x7d0 net/core/dev.c:4767
     netif_receive_skb+0xbf/0x420 net/core/dev.c:4791
     tun_rx_batched.isra.55+0x4ba/0x8c0 drivers/net/tun.c:1571
     tun_get_user+0x2af1/0x42f0 drivers/net/tun.c:1981
     tun_chr_write_iter+0xb9/0x154 drivers/net/tun.c:2009
     call_write_iter include/linux/fs.h:1795 [inline]
     new_sync_write fs/read_write.c:474 [inline]
     __vfs_write+0x6c6/0x9f0 fs/read_write.c:487
     vfs_write+0x1f8/0x560 fs/read_write.c:549
     ksys_write+0x101/0x260 fs/read_write.c:598
     __do_sys_write fs/read_write.c:610 [inline]
     __se_sys_write fs/read_write.c:607 [inline]
     __x64_sys_write+0x73/0xb0 fs/read_write.c:607
     do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    The buggy address belongs to the object at ffff8801b044ecc0
     which belongs to the cache skbuff_head_cache of size 232
    The buggy address is located 0 bytes inside of
     232-byte region [ffff8801b044ecc0, ffff8801b044eda8)
    The buggy address belongs to the page:
    page:ffffea0006c11380 count:1 mapcount:0 mapping:ffff8801d9be96c0 index:0x0
    flags: 0x2fffc0000000100(slab)
    raw: 02fffc0000000100 ffffea0006c17988 ffff8801d9bec248 ffff8801d9be96c0
    raw: 0000000000000000 ffff8801b044e040 000000010000000c 0000000000000000
    page dumped because: kasan: bad access detected
    
    Memory state around the buggy address:
     ffff8801b044eb80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
     ffff8801b044ec00: 00 00 00 00 00 00 00 00 00 00 00 00 00 fc fc fc
    >ffff8801b044ec80: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb
                                               ^
     ffff8801b044ed00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
     ffff8801b044ed80: fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc
    
    Fixes: 58d19b19cd99 ("packet: vnet_hdr support for tpacket_rcv")
    Signed-off-by: Eric Dumazet <edumazet at google.com>
    Reported-by: syzbot <syzkaller at googlegroups.com>
    Cc: Willem de Bruijn <willemb at google.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit e9893e6fa932f42c90c4ac5849fa9aa0f0f00a34
Author: Abhishek Sahu <absahu at codeaurora.org>
Date:   Wed Jun 13 14:32:36 2018 +0530

    mtd: rawnand: fix return value check for bad block status
    
    Positive return value from read_oob() is making false BAD
    blocks. For some of the NAND controllers, OOB bytes will be
    protected with ECC and read_oob() will return number of bitflips.
    If there is any bitflip in ECC protected OOB bytes for BAD block
    status page, then that block is getting treated as BAD.
    
    Fixes: c120e75e0e7d ("mtd: nand: use read_oob() instead of cmdfunc() for bad block check")
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Abhishek Sahu <absahu at codeaurora.org>
    Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>

commit f2e72a0b79a03c4046f08515d1479f613f2eb139
Merge: 3739a21e0ef6 bfee71fb7376
Author: Daniel Borkmann <daniel at iogearbox.net>
Date:   Thu Jun 21 23:07:13 2018 +0200

    Merge branch 'bpf-bpftool-fixes'
    
    Jakub Kicinski says:
    
    ====================
    Two small fixes for error handling in bpftool prog load, first patch
    removes a duplicated message, second one frees resources correctly.
    Multiple error messages break JSON:
    
    {
        "error": "can't pin the object (/sys/fs/bpf/a): File exists"
    },{
        "error": "failed to pin program"
    }
    ====================
    
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit bfee71fb7376081349117fdc89f685a9e14a58c2
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date:   Wed Jun 20 11:42:46 2018 -0700

    tools: bpftool: remember to close the libbpf object after prog load
    
    Remembering to close all descriptors and free memory may not seem
    important in a user space tool like bpftool, but if we were to run
    in batch mode the consumed resources start to add up quickly.  Make
    sure program load closes the libbpf object (which unloads and frees
    it).
    
    Fixes: 49a086c201a9 ("bpftool: implement prog load command")
    Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
    Reviewed-by: Quentin Monnet <quentin.monnet at netronome.com>
    Acked-by: Song Liu <songliubraving at fb.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit 957f9a13df6c70aac31a1dade5e417c286d6d258
Author: Jakub Kicinski <jakub.kicinski at netronome.com>
Date:   Wed Jun 20 11:42:45 2018 -0700

    tools: bpftool: remove duplicated error message on prog load
    
    do_pin_fd() will already print out an error message if something
    goes wrong.  Printing another error is unnecessary and will break
    JSON output, since error messages are full objects:
    
    $ bpftool -jp prog load tracex1_kern.o /sys/fs/bpf/a
    {
        "error": "can't pin the object (/sys/fs/bpf/a): File exists"
    },{
        "error": "failed to pin program"
    }
    
    Fixes: 49a086c201a9 ("bpftool: implement prog load command")
    Signed-off-by: Jakub Kicinski <jakub.kicinski at netronome.com>
    Reviewed-by: Quentin Monnet <quentin.monnet at netronome.com>
    Acked-by: Song Liu <songliubraving at fb.com>
    Signed-off-by: Daniel Borkmann <daniel at iogearbox.net>

commit 9c4a665ed83462039461dd34282e22160fb447ca
Author: Colin Ian King <colin.king at canonical.com>
Date:   Thu Jun 21 19:34:57 2018 +0100

    ALSA: hda/ca0132: make array ca0132_alt_chmaps static
    
    The array ca0132_alt_chmaps is local to the source and does not
    need to be in global scope, so make it static.
    
    Cleans up sparse warning:
    warning: symbol 'ca0132_alt_chmaps' was not declared. Should it be
    static?
    
    Signed-off-by: Colin Ian King <colin.king at canonical.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 22883ddc66df402f2fbc37fe1f4d2779238e4b2d
Author: Lu Fengqi <lufq.fnst at cn.fujitsu.com>
Date:   Tue Jun 19 14:54:38 2018 +0800

    btrfs: fix invalid-free in btrfs_extent_same
    
    If this condition ((BTRFS_I(src)->flags & BTRFS_INODE_NODATASUM) !=
    		   (BTRFS_I(dst)->flags & BTRFS_INODE_NODATASUM))
    is hit, we will go to free the uninitialized cmp.src_pages and
    cmp.dst_pages.
    
    Fixes: 67b07bd4bec5 ("Btrfs: reuse cmp workspace in EXTENT_SAME ioctl")
    Signed-off-by: Lu Fengqi <lufq.fnst at cn.fujitsu.com>
    Reviewed-by: David Sterba <dsterba at suse.com>
    Signed-off-by: David Sterba <dsterba at suse.com>

commit f098631848cd9f4142b6dec7ea95baad846e1670
Author: Filipe Manana <fdmanana at suse.com>
Date:   Wed Jun 20 10:02:30 2018 +0100

    Btrfs: fix physical offset reported by fiemap for inline extents
    
    Commit 9d311e11fc1f ("Btrfs: fiemap: pass correct bytenr when
    fm_extent_count is zero") introduced a regression where we no longer
    report 0 as the physical offset for inline extents (and other extents
    with a special block_start value). This is because it always sets the
    variable used to report the physical offset ("disko") as em->block_start
    plus some offset, and em->block_start has the value 18446744073709551614
    ((u64) -2) for inline extents.
    
    This made the btrfs test 004 (from fstests) often fail, for example, for
    a file with an inline extent we have the following items in the subvolume
    tree:
    
        item 101 key (418 INODE_ITEM 0) itemoff 11029 itemsize 160
               generation 25 transid 38 size 1525 nbytes 1525
               block group 0 mode 100666 links 1 uid 0 gid 0 rdev 0
               sequence 0 flags 0x2(none)
               atime 1529342058.461891730 (2018-06-18 18:14:18)
               ctime 1529342058.461891730 (2018-06-18 18:14:18)
               mtime 1529342058.461891730 (2018-06-18 18:14:18)
               otime 1529342055.869892885 (2018-06-18 18:14:15)
        item 102 key (418 INODE_REF 264) itemoff 11016 itemsize 13
               index 25 namelen 3 name: fc7
        item 103 key (418 EXTENT_DATA 0) itemoff 9470 itemsize 1546
               generation 38 type 0 (inline)
               inline extent data size 1525 ram_bytes 1525 compression 0 (none)
    
    Then when test 004 invoked fiemap against the file it got a non-zero
    physical offset:
    
     $ filefrag -v /mnt/p0/d4/d7/fc7
     Filesystem type is: 9123683e
     File size of /mnt/p0/d4/d7/fc7 is 1525 (1 block of 4096 bytes)
      ext:     logical_offset:        physical_offset: length:   expected: flags:
        0:        0..    4095: 18446744073709551614..      4093:   4096:             last,not_aligned,inline,eof
     /mnt/p0/d4/d7/fc7: 1 extent found
    
    This resulted in the test failing like this:
    
    btrfs/004 49s ... [failed, exit status 1]- output mismatch (see /home/fdmanana/git/hub/xfstests/results//btrfs/004.out.bad)
        --- tests/btrfs/004.out	2016-08-23 10:17:35.027012095 +0100
        +++ /home/fdmanana/git/hub/xfstests/results//btrfs/004.out.bad	2018-06-18 18:15:02.385872155 +0100
        @@ -1,3 +1,10 @@
         QA output created by 004
         *** test backref walking
        -*** done
        +./tests/btrfs/004: line 227: [: 7.55578637259143e+22: integer expression expected
        +ERROR: 7.55578637259143e+22 is not a valid numeric value.
        +unexpected output from
        +	/home/fdmanana/git/hub/btrfs-progs/btrfs inspect-internal logical-resolve -s 65536 -P 7.55578637259143e+22 /home/fdmanana/btrfs-tests/scratch_1
        ...
        (Run 'diff -u tests/btrfs/004.out /home/fdmanana/git/hub/xfstests/results//btrfs/004.out.bad'  to see the entire diff)
    Ran: btrfs/004
    
    The large number in scientific notation reported as an invalid numeric
    value is the result from the filter passed to perl which multiplies the
    physical offset by the block size reported by fiemap.
    
    So fix this by ensuring the physical offset is always set to 0 when we
    are processing an extent with a special block_start value.
    
    Fixes: 9d311e11fc1f ("Btrfs: fiemap: pass correct bytenr when fm_extent_count is zero")
    Signed-off-by: Filipe Manana <fdmanana at suse.com>
    Signed-off-by: David Sterba <dsterba at suse.com>

commit 12f8c553a503d98b519cca650b188bf51ebdbdbf
Author: Masahiro Yamada <yamada.masahiro at socionext.com>
Date:   Wed Apr 18 20:52:31 2018 +0900

    clk: sunxi-ng: replace lib-y with obj-y
    
    We had commit 06e226c7fb23 ("clk: sunxi-ng: Move all clock types to a
    library") and commit 799c43415442 ("kbuild: thin archives make default
    for all archs") in the same development cycle, from different trees.
    
    With migration to the thin archive, the entire drivers/clk/sunxi-ng/lib.a
    is linked to the vmlinux.  This does not break build, but we do not get
    any size saving.
    
    However, we do not need to go back to the individual Kconfig options.
    The default configuration pulls in all (or most) of the CCU parts anyway.
    Also, once we enable CONFIG_LD_DEAD_CODE_DATA_ELIMINATION, we can simply
    list all files with obj-y, and the linker will drop all unused functions
    by itself.
    
    After the long discussion [1], people there agreed to fix this, but
    nobody sent a patch after all.  I am doing it now.
    
    I lifted up CONFIG_SUNXI_CCU to drivers/clk/Makefile because everything
    in drivers/clk/sunxi-ng/ depends on SUNXI_CCU.
    
    [1] https://patchwork.kernel.org/patch/9796521/
    
    Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
    Acked-by: Stephen Boyd <sboyd at kernel.org>
    Signed-off-by: Maxime Ripard <maxime.ripard at bootlin.com>
    Acked-by: Chen-Yu Tsai <wens at csie.org>
    Signed-off-by: Stephen Boyd <sboyd at kernel.org>

commit 45df561a7ae2ca5080708cc2cf84a236f4d930ef
Author: Rob Herring <robh at kernel.org>
Date:   Tue Jun 19 15:36:20 2018 -0600

    microblaze: consolidate GPIO reset handling
    
    Now that platform.c only has the GPIO reset handling left, move the
    initcall to reset.c and remove platform.c.
    
    Cc: Michal Simek <monstr at monstr.eu>
    Signed-off-by: Rob Herring <robh at kernel.org>
    Signed-off-by: Michal Simek <michal.simek at xilinx.com>

commit 2dbeb7040a21846facbeea876e85cbde41fa81e9
Author: Rob Herring <robh at kernel.org>
Date:   Tue Jun 19 15:36:19 2018 -0600

    microblaze: remove unecessary of_platform_bus_probe call
    
    The call to of_platform_bus_probe has no effect because the DT core
    already probes default buses like "simple-bus" before this call.
    Michal Simek said 'xlnx,compound' hasn't been used in a long time, so
    that match entry isn't needed.
    
    Cc: Michal Simek <monstr at monstr.eu>
    Signed-off-by: Rob Herring <robh at kernel.org>
    Signed-off-by: Michal Simek <michal.simek at xilinx.com>

commit 54b0a2011dfcd2e3fe2c28062694fbbe3eb377a3
Author: Michal Simek <michal.simek at xilinx.com>
Date:   Thu Jun 14 08:24:39 2018 +0200

    microblaze: Add new syscalls io_pgetevents and rseq
    
    Wire up new syscalls io_pgetevents and rseq.
    
    Signed-off-by: Michal Simek <michal.simek at xilinx.com>

commit 57cb54e53bddb59f5f542ddd4b0bfe005d31a8d5
Author: Takashi Iwai <tiwai at suse.de>
Date:   Thu Jun 21 13:33:53 2018 +0200

    ALSA: hda - Force to link down at runtime suspend on ATI/AMD HDMI
    
    Henning Kühn reported that the discrete AMD GPU on his hybrid graphics
    laptop no longer runtime-suspends due to the recent commit
    07f4f97d7b4b ("vga_switcheroo: Use device link for HDA controller").
    
    The root cause is that the HDMI codec on AMD GPU doesn't support
    CLKSTOP and EPSS, which are currently mandatory for powering down the
    HD-audio link at runtime suspend.  Because the HD-audio link is still
    up, HD-audio controller driver blocks the transition to D3.
    
    For addressing the regression, this patch adds a new flag to indicate
    the forced link-down, and sets it for AMD HDMI codecs appropriately
    in the codec driver.
    
    Fixes: 07f4f97d7b4b ("vga_switcheroo: Use device link for HDA controller")
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106957
    Reported-by: Lukas Wunner <lukas at wunner.de>
    Reported-and-tested-by: Henning Kühn <prg at cooco.de>
    Cc: <stable at vger.kernel.org> # v4.17+
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit f04684b4d85d6371126f476d3268ebf6a0bd57cf
Author: Dan Carpenter <dan.carpenter at oracle.com>
Date:   Thu Jun 21 11:07:21 2018 +0300

    ALSA: lx6464es: Missing error code in snd_lx6464es_create()
    
    We forgot to set the error code on this error path.
    
    Fixes: 4a23fc8cc068 ("ALSA: lx6464es: add error handling for pci_ioremap_bar")
    Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 3739a21e0ef6ac06f46bd38e81daa95e8cb462bc
Author: Anders Roxell <anders.roxell at linaro.org>
Date:   Thu Jun 21 00:43:44 2018 +0200

    selftests: net: add tcp_inq to gitignore
    
    sha: 702353b538f5 ("selftest: add test for TCP_INQ") forgot to add
    tcp_inq to .gitignore.
    
    Signed-off-by: Anders Roxell <anders.roxell at linaro.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 64d7839af8c8f67daaf9bf387135052c55d85f90
Author: Harini Katakam <harini.katakam at xilinx.com>
Date:   Wed Jun 20 17:04:20 2018 +0530

    net: macb: Fix ptp time adjustment for large negative delta
    
    When delta passed to gem_ptp_adjtime is negative, the sign is
    maintained in the ns_to_timespec64 conversion. Hence timespec_add
    should be used directly. timespec_sub will just subtract the negative
    value thus increasing the time difference.
    
    Signed-off-by: Harini Katakam <harini.katakam at xilinx.com>
    Acked-by: Nicolas Ferre <nicolas.ferre at microchip.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 30877961b1cdd6fdca783c2e8c4f0f47e95dc58c
Author: Xin Long <lucien.xin at gmail.com>
Date:   Thu Jun 21 12:56:04 2018 +0800

    ipvlan: fix IFLA_MTU ignored on NEWLINK
    
    Commit 296d48568042 ("ipvlan: inherit MTU from master device") adjusted
    the mtu from the master device when creating a ipvlan device, but it
    would also override the mtu value set in rtnl_create_link. It causes
    IFLA_MTU param not to take effect.
    
    So this patch is to not adjust the mtu if IFLA_MTU param is set when
    creating a ipvlan device.
    
    Fixes: 296d48568042 ("ipvlan: inherit MTU from master device")
    Reported-by: Jianlin Shi <jishi at redhat.com>
    Signed-off-by: Xin Long <lucien.xin at gmail.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit fedb1bd3d274b33c432cb83c80c6b3cf54d509c8
Author: Marcelo Ricardo Leitner <marcelo.leitner at gmail.com>
Date:   Wed Jun 20 12:47:52 2018 -0300

    sctp: fix erroneous inc of snmp SctpFragUsrMsgs
    
    Currently it is incrementing SctpFragUsrMsgs when the user message size
    is of the exactly same size as the maximum fragment size, which is wrong.
    
    The fix is to increment it only when user message is bigger than the
    maximum fragment size.
    
    Fixes: bfd2e4b8734d ("sctp: refactor sctp_datamsg_from_user")
    Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner at gmail.com>
    Acked-by: Neil Horman <nhorman at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 9262478220eac908ae6e168c3df2c453c87e2da3
Author: Eric Dumazet <edumazet at google.com>
Date:   Wed Jun 20 17:24:09 2018 -0700

    bpf: enforce correct alignment for instructions
    
    After commit 9facc336876f ("bpf: reject any prog that failed read-only lock")
    offsetof(struct bpf_binary_header, image) became 3 instead of 4,
    breaking powerpc BPF badly, since instructions need to be word aligned.
    
    Fixes: 9facc336876f ("bpf: reject any prog that failed read-only lock")
    Signed-off-by: Eric Dumazet <edumazet at google.com>
    Cc: Daniel Borkmann <daniel at iogearbox.net>
    Cc: Martin KaFai Lau <kafai at fb.com>
    Cc: Alexei Starovoitov <ast at kernel.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 08d02364b12faa54d76dbfea2090321fd27996f2
Author: Antoine Tenart <antoine.tenart at bootlin.com>
Date:   Wed Jun 20 10:50:46 2018 +0200

    net: mscc: fix the injection header
    
    When injecting frames in the Ocelot switch driver an injection header
    (IFH) should be used to configure various parameters related to a given
    frame, such as the port onto which the frame should be departed or its
    vlan id. Other parameters in the switch configuration can led to an
    injected frame being sent without an IFH but this led to various issues
    as the per-frame parameters are then not used. This is especially true
    when using multiple ports for injection.
    
    The IFH was injected with the wrong endianness which led to the switch
    not taking it into account as the IFH_INJ_BYPASS bit was then unset.
    (The bit tells the switch to use the IFH over its internal
    configuration). This patch fixes it.
    
    In addition to the endianness fix, the IFH is also fixed. As it was
    (unwillingly) unused, some of its fields were not configured the right
    way.
    
    Fixes: a556c76adc05 ("net: mscc: Add initial Ocelot switch support")
    Signed-off-by: Antoine Tenart <antoine.tenart at bootlin.com>
    Reviewed-by: Alexandre Belloni <alexandre.belloni at bootlin.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit ea0820bb771175c7d4192fc6f5b5c56b3c6d5239
Author: Bartosz Golaszewski <bgolaszewski at baylibre.com>
Date:   Wed Jun 20 10:03:56 2018 +0200

    net: davinci_emac: match the mdio device against its compatible if possible
    
    Device tree based systems without of_dev_auxdata will have the mdio
    device named differently than "davinci_mdio(.0)". In this case use the
    device's parent's compatible string for matching
    
    Signed-off-by: Bartosz Golaszewski <bgolaszewski at baylibre.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 6d8b834989f56066499cb25fd7d60169ed5e188b
Author: Ville Syrjälä <ville.syrjala at linux.intel.com>
Date:   Wed Jun 20 15:01:53 2018 +0300

    r8169: Fix netpoll oops
    
    Pass the correct thing to rtl8169_interrupt() from netpoll.
    
    Cc: Realtek linux nic maintainers <nic_swsd at realtek.com>
    Cc: netdev at vger.kernel.org
    Cc: Heiner Kallweit <hkallweit1 at gmail.com>
    Cc: David S. Miller <davem at davemloft.net>
    Fixes: ebcd5daa7ffd ("r8169: change interrupt handler argument type")
    Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 456488cd952c23d451b0bdc5b5226b0707db80f7
Author: Vakul Garg <vakul.garg at nxp.com>
Date:   Thu Jun 21 03:29:49 2018 +0530

    strparser: Don't schedule in workqueue in paused state
    
    In function strp_data_ready(), it is useless to call queue_work if
    the state of strparser is already paused. The state checking should
    be done before calling queue_work. The change reduces the context
    switches and improves the ktls-rx throughput by approx 20% (measured
    on cortex-a53 based platform).
    
    Signed-off-by: Vakul Garg <vakul.garg at nxp.com>
    Acked-by: Dave Watson <davejwatson at fb.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 73f9c33beb9e85850a11a1597b35a13650352509
Author: Anders Roxell <anders.roxell at linaro.org>
Date:   Tue Jun 19 18:41:11 2018 +0200

    selftests: net: add config fragments
    
    Add fragments to pass bridge and vlan tests.
    
    Fixes: 33b01b7b4f19 ("selftests: add rtnetlink test script")
    Signed-off-by: Anders Roxell <anders.roxell at linaro.org>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit c24fb5e68ebfd485ecaa8b5d40cb4721a1d137ee
Author: Matteo Croce <mcroce at redhat.com>
Date:   Wed Jun 20 16:04:34 2018 +0200

    bpfilter: fix user mode helper cross compilation
    
    Use $(OBJDUMP) instead of literal 'objdump' to avoid
    using host toolchain when cross compiling.
    
    Fixes: 421780fd4983 ("bpfilter: fix build error")
    Signed-off-by: Matteo Croce <mcroce at redhat.com>
    Reported-by: Stefano Brivio <sbrivio at redhat.com>
    Signed-off-by: David S. Miller <davem at davemloft.net>

commit 63ce3c384db26494615e3c8972bcd419ed71f4c4
Author: David Disseldorp <ddiss at suse.de>
Date:   Tue Jun 19 17:58:24 2018 +0200

    scsi: target: Fix truncated PR-in ReadKeys response
    
    SPC5r17 states that the contents of the ADDITIONAL LENGTH field are not
    altered based on the allocation length, so always calculate and pack the
    full key list length even if the list itself is truncated.
    
    According to Maged:
    
      Yes it fixes the "Storage Spaces Persistent Reservation" test in the
      Windows 2016 Server Failover Cluster validation suites when having
      many connections that result in more than 8 registrations. I tested
      your patch on 4.17 with iblock.
    
    This behaviour can be tested using the libiscsi PrinReadKeys.Truncate test.
    
    Cc: stable at vger.kernel.org
    Signed-off-by: David Disseldorp <ddiss at suse.de>
    Reviewed-by: Mike Christie <mchristi at redhat.com>
    Tested-by: Maged Mokhtar <mmokhtar at petasan.org>
    Reviewed-by: Christoph Hellwig <hch at lst.de>
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>

commit 3f77f244d8ec28e3a0a81240ffac7d626390060c
Author: Martin Kaiser <martin at kaiser.cx>
Date:   Mon Jun 18 22:41:03 2018 +0200

    mtd: rawnand: mxc: set spare area size register explicitly
    
    The v21 version of the NAND flash controller contains a Spare Area Size
    Register (SPAS) at offset 0x10. Its setting defaults to the maximum
    spare area size of 218 bytes. The size that is set in this register is
    used by the controller when it calculates the ECC bytes internally in
    hardware.
    
    Usually, this register is updated from settings in the IIM fuses when
    the system is booting from NAND flash. For other boot media, however,
    the SPAS register remains at the default setting, which may not work for
    the particular flash chip on the board. The same goes for flash chips
    whose configuration cannot be set in the IIM fuses (e.g. chips with 2k
    sector size and 128 bytes spare area size can't be configured in the IIM
    fuses on imx25 systems).
    
    Set the SPAS register explicitly during the preset operation. Derive the
    register value from mtd->oobsize that was detected during probe by
    decoding the flash chip's ID bytes.
    
    While at it, rename the define for the spare area register's offset to
    NFC_V21_RSLTSPARE_AREA. The register at offset 0x10 on v1 controllers is
    different from the register on v21 controllers.
    
    Fixes: d484018 ("mtd: mxc_nand: set NFC registers after reset")
    Cc: stable at vger.kernel.org
    Signed-off-by: Martin Kaiser <martin at kaiser.cx>
    Reviewed-by: Sascha Hauer <s.hauer at pengutronix.de>
    Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>

commit 1d8e5c00275825fc42aaa5597dab1d0b5b26bb64
Author: Minas Harutyunyan <Minas.Harutyunyan at synopsys.com>
Date:   Wed May 23 16:24:44 2018 +0400

    dwc2: gadget: Fix ISOC IN DDMA PID bitfield value calculation
    
    PID bitfield in descriptor should be set based on particular request
    length, not based on EP's mc value. PID value can't be set to 0 even
    request length is 0.
    
    Signed-off-by: Minas Harutyunyan <hminas at synopsys.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 9bb073a053f0464ea74a4d4c331fdb7da58568d6
Author: Grigor Tovmasyan <Grigor.Tovmasyan at synopsys.com>
Date:   Thu May 24 18:22:30 2018 +0400

    usb: gadget: dwc2: fix memory leak in gadget_init()
    
    Freed allocated request for ep0 to prevent memory leak in case when
    dwc2_driver_probe() failed.
    
    Cc: Stefan Wahren <stefan.wahren at i2se.com>
    Cc: Marek Szyprowski <m.szyprowski at samsung.com>
    Tested-by: Stefan Wahren <stefan.wahren at i2se.com>
    Tested-by: Marek Szyprowski <m.szyprowski at samsung.com>
    Acked-by: Minas Harutyunyan <hminas at synopsys.com>
    Signed-off-by: Grigor Tovmasyan <tovmasya at synopsys.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 980900d6318066b9f8314bfb87329a20fd0d1ca4
Author: Chunfeng Yun <chunfeng.yun at mediatek.com>
Date:   Fri May 25 17:24:57 2018 +0800

    usb: gadget: composite: fix delayed_status race condition when set_interface
    
    It happens when enable debug log, if set_alt() returns
    USB_GADGET_DELAYED_STATUS and usb_composite_setup_continue()
    is called before increasing count of @delayed_status,
    so fix it by using spinlock of @cdev->lock.
    
    Signed-off-by: Chunfeng Yun <chunfeng.yun at mediatek.com>
    Tested-by: Jay Hsu <shih-chieh.hsu at mediatek.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 70c3c8cb83856758025c2a211dd022bc0478922a
Author: William Wu <william.wu at rock-chips.com>
Date:   Fri May 11 17:46:32 2018 +0800

    usb: dwc2: fix isoc split in transfer with no data
    
    If isoc split in transfer with no data (the length of DATA0
    packet is zero), we can't simply return immediately. Because
    the DATA0 can be the first transaction or the second transaction
    for the isoc split in transaction. If the DATA0 packet with no
    data is in the first transaction, we can return immediately.
    But if the DATA0 packet with no data is in the second transaction
    of isoc split in transaction sequence, we need to increase the
    qtd->isoc_frame_index and giveback urb to device driver if needed,
    otherwise, the MDATA packet will be lost.
    
    A typical test case is that connect the dwc2 controller with an
    usb hs Hub (GL852G-12), and plug an usb fs audio device (Plantronics
    headset) into the downstream port of Hub. Then use the usb mic
    to record, we can find noise when playback.
    
    In the case, the isoc split in transaction sequence like this:
    
    - SSPLIT IN transaction
    - CSPLIT IN transaction
      - MDATA packet (176 bytes)
    - CSPLIT IN transaction
      - DATA0 packet (0 byte)
    
    This patch use both the length of DATA0 and qtd->isoc_split_offset
    to check if the DATA0 is in the second transaction.
    
    Tested-by: Gevorg Sahakyan <sahakyan at synopsys.com>
    Tested-by: Heiko Stuebner <heiko at sntech.de>
    Acked-by: Minas Harutyunyan hminas at synopsys.com>
    Signed-off-by: William Wu <william.wu at rock-chips.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit af424a410749ed7e0c2bffd3cedbc7c274d0ff6f
Author: William Wu <william.wu at rock-chips.com>
Date:   Fri May 11 17:46:31 2018 +0800

    usb: dwc2: alloc dma aligned buffer for isoc split in
    
    The commit 3bc04e28a030 ("usb: dwc2: host: Get aligned DMA in
    a more supported way") rips out a lot of code to simply the
    allocation of aligned DMA. However, it also introduces a new
    issue when use isoc split in transfer.
    
    In my test case, I connect the dwc2 controller with an usb hs
    Hub (GL852G-12), and plug an usb fs audio device (Plantronics
    headset) into the downstream port of Hub. Then use the usb mic
    to record, we can find noise when playback.
    
    It's because that the usb Hub uses an MDATA for the first
    transaction and a DATA0 for the second transaction for the isoc
    split in transaction. An typical isoc split in transaction sequence
    like this:
    
    - SSPLIT IN transaction
    - CSPLIT IN transaction
      - MDATA packet
    - CSPLIT IN transaction
      - DATA0 packet
    
    The DMA address of MDATA (urb->dma) is always DWORD-aligned, but
    the DMA address of DATA0 (urb->dma + qtd->isoc_split_offset) may
    not be DWORD-aligned, it depends on the qtd->isoc_split_offset (the
    length of MDATA). In my test case, the length of MDATA is usually
    unaligned, this cause DATA0 packet transmission error.
    
    This patch use kmem_cache to allocate aligned DMA buf for isoc
    split in transaction. Note that according to usb 2.0 spec, the
    maximum data payload size is 1023 bytes for each fs isoc ep,
    and the maximum allowable interrupt data payload size is 64 bytes
    or less for fs interrupt ep. So we set the size of object to be
    1024 bytes in the kmem cache.
    
    Tested-by: Gevorg Sahakyan <sahakyan at synopsys.com>
    Tested-by: Heiko Stuebner <heiko at sntech.de>
    Acked-by: Minas Harutyunyan hminas at synopsys.com>
    Signed-off-by: William Wu <william.wu at rock-chips.com>
    Reviewed-by: Douglas Anderson <dianders at chromium.org>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 8760675932ddb614e83702117d36ea644050c609
Author: William Wu <william.wu at rock-chips.com>
Date:   Mon May 21 18:12:00 2018 +0800

    usb: dwc2: fix the incorrect bitmaps for the ports of multi_tt hub
    
    The dwc2_get_ls_map() use ttport to reference into the
    bitmap if we're on a multi_tt hub. But the bitmaps index
    from 0 to (hub->maxchild - 1), while the ttport index from
    1 to hub->maxchild. This will cause invalid memory access
    when the number of ttport is hub->maxchild.
    
    Without this patch, I can easily meet a Kernel panic issue
    if connect a low-speed USB mouse with the max port of FE2.1
    multi-tt hub (1a40:0201) on rk3288 platform.
    
    Fixes: 9f9f09b048f5 ("usb: dwc2: host: Totally redo the microframe scheduler")
    Cc: <stable at vger.kernel.org>
    Reviewed-by: Douglas Anderson <dianders at chromium.org>
    Acked-by: Minas Harutyunyan hminas at synopsys.com>
    Signed-off-by: William Wu <william.wu at rock-chips.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 22bb5cfdf13ae70c6a34508a16cfeee48f162443
Author: Artur Petrosyan <Arthur.Petrosyan at synopsys.com>
Date:   Wed May 23 09:26:08 2018 -0400

    usb: dwc2: Fix host exit from hibernation flow.
    
    In case when a hub is connected to DWC2 host
    auto suspend occurs and host goes to
    hibernation. When any device connected to hub
    host hibernation exiting incorrectly.
    
    - Added dwc2_hcd_rem_wakeup() function call to
      exit from suspend state by remote wakeup.
    
    - Increase timeout value for port suspend bit to be set.
    
    Acked-by: Minas Harutyunyan <hminas at synopsys.com>
    Signed-off-by: Artur Petrosyan <arturp at synopsys.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 9925e6ebe5c2da9601037cca73462782900b9190
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Fri May 25 18:06:20 2018 +0200

    usb: dwc3: qcom: mark PM functions as __maybe_unused
    
    The #ifdef guards around these are wrong, resulting in warnings
    in certain configurations:
    
    drivers/usb/dwc3/dwc3-qcom.c:244:12: error: 'dwc3_qcom_resume' defined but not used [-Werror=unused-function]
     static int dwc3_qcom_resume(struct dwc3_qcom *qcom)
                ^~~~~~~~~~~~~~~~
    drivers/usb/dwc3/dwc3-qcom.c:223:12: error: 'dwc3_qcom_suspend' defined but not used [-Werror=unused-function]
     static int dwc3_qcom_suspend(struct dwc3_qcom *qcom)
    
    This replaces the guards with __maybe_unused annotations to shut up
    the warnings and give better compile time coverage.
    
    Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
    Reviewed-by: Douglas Anderson <dianders at chromium.org>
    Acked-by: Geert Uytterhoeven <geert at linux-m68k.org>
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 93ef2dc0c4f7acf4253882a03c11f2ca8e41f387
Author: Wei Yongjun <weiyongjun1 at huawei.com>
Date:   Wed Jun 6 14:22:24 2018 +0000

    usb: dwc3: Fix error return code in dwc3_qcom_probe()
    
    Fix to return error code -ENODEV from the get device failed error
    handling case instead of 0, as done elsewhere in this function.
    
    Fixes: a4333c3a6ba9 ("usb: dwc3: Add Qualcomm DWC3 glue driver")
    Signed-off-by: Wei Yongjun <weiyongjun1 at huawei.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 12baf7721143c83150fa973484b7b5fcd86b23f0
Author: Chris Packham <chris.packham at alliedtelesis.co.nz>
Date:   Tue Jun 19 17:31:24 2018 +1200

    mtd: rawnand: micron: add ONFI_FEATURE_ON_DIE_ECC to supported features
    
    Add ONFI_FEATURE_ON_DIE_ECC to the set/get features list for Micron
    NAND flash.
    
    Fixes: 789157e41a06 ("mtd: rawnand: allow vendors to declare (un)supported features")
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Chris Packham <chris.packham at alliedtelesis.co.nz>
    Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>
    Signed-off-by: Boris Brezillon <boris.brezillon at bootlin.com>

commit 1bcfe0564044be578841744faea1c2f46adc8178
Author: Oleksij Rempel <o.rempel at pengutronix.de>
Date:   Fri Jun 15 09:41:29 2018 +0200

    ARM: dts: imx6sx: fix irq for pcie bridge
    
    Use the correct IRQ line for the MSI controller in the PCIe host
    controller. Apparently a different IRQ line is used compared to other
    i.MX6 variants. Without this change MSI IRQs aren't properly propagated
    to the upstream interrupt controller.
    
    Signed-off-by: Oleksij Rempel <o.rempel at pengutronix.de>
    Reviewed-by: Lucas Stach <l.stach at pengutronix.de>
    Fixes: b1d17f68e5c5 ("ARM: dts: imx: add initial imx6sx device tree source")
    Signed-off-by: Shawn Guo <shawnguo at kernel.org>

commit 356073bcf6dbcc15cd8fb22d10cf8f35f4525271
Author: Sinan Kaya <okaya at codeaurora.org>
Date:   Thu Jun 14 09:37:46 2018 -0400

    MAINTAINERS: Update email-id of Sinan Kaya
    
    I'm no longer with QCOM. I am still interested in maintaining or reviewing
    PCI/DMA engine patches. Update email-id to an active one.
    
    Signed-off-by: Sinan Kaya <okaya at codeaurora.org>
    Signed-off-by: Vinod Koul <vkoul at kernel.org>

commit c9bd0946da243a8eb86b44ff613e2c813f9b683b
Author: Janusz Krzysztofik <jmkrzyszt at gmail.com>
Date:   Tue Jun 5 18:59:57 2018 +0200

    dmaengine: ti: omap-dma: Fix OMAP1510 incorrect residue_granularity
    
    Commit 0198d7bb8a0c ("ASoC: omap-mcbsp: Convert to use the sdma-pcm
    instead of omap-pcm") resulted in broken audio playback on OMAP1510
    (discovered on Amstrad Delta).
    
    When running on OMAP1510, omap-pcm used to obtain DMA offset from
    snd_dmaengine_pcm_pointer_no_residue() based on DMA interrupt triggered
    software calculations instead of snd_dmaengine_pcm_pointer() which
    depended on residue value calculated from omap_dma_get_src_pos().
    Similar code path is still available in now used
    sound/soc/soc-generic-dmaengine-pcm.c but it is not triggered.
    
    It was verified already before that omap_get_dma_src_pos() from
    arch/arm/plat-omap/dma.c didn't work correctly for OMAP1510 - see
    commit 1bdd7419910c ("ASoC: OMAP: fix OMAP1510 broken PCM pointer
    callback") for details.  Apparently the same applies to its successor,
    omap_dma_get_src_pos() from drivers/dma/ti/omap-dma.c.
    
    On the other hand, snd_dmaengine_pcm_pointer_no_residue() is described
    as depreciated and discouraged for use in new drivers because of its
    unreliable accuracy.  However, it seems the only working option for
    OPAM1510 now, as long as a software calculated residue is not
    implemented as OMAP1510 fallback in omap-dma.
    
    Using snd_dmaengine_pcm_pointer_no_residue() code path instead of
    snd_dmaengine_pcm_pointer() in sound/soc/soc-generic-dmaengine-pcm.c
    can be triggered in two ways:
    - by passing pcm->flags |= SND_DMAENGINE_PCM_FLAG_NO_RESIDUE from
      sound/soc/omap/sdma-pcm.c,
    - by passing dma_caps.residue_granularity =
      DMA_RESIDUE_GRANULARITY_DESCRIPTOR from DMA engine.
    
    Let's do the latter.
    
    Signed-off-by: Janusz Krzysztofik <jmkrzyszt at gmail.com>
    Acked-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
    Signed-off-by: Vinod Koul <vkoul at kernel.org>

commit 52ab9768f723823a71dc659f0fad803a90f80236
Author: Luis Henriques <lhenriques at suse.com>
Date:   Mon Jun 18 17:08:03 2018 +0100

    scsi: scsi_debug: Fix memory leak on module unload
    
    Since commit 80c49563e250 ("scsi: scsi_debug: implement IMMED bit") there
    are long delays in F_SYNC_DELAY and F_SSU_DELAY.  This can cause a memory
    leak in schedule_resp(), which can be invoked while unloading the
    scsi_debug module: free_all_queued() had already freed all sd_dp and
    schedule_resp will alloc a new one, which will never get freed.  Here's the
    kmemleak report while running xfstests generic/350:
    
    unreferenced object 0xffff88007d752b00 (size 128):
      comm "rmmod", pid 26940, jiffies 4295816945 (age 7.588s)
      hex dump (first 32 bytes):
        00 2b 75 7d 00 88 ff ff 00 00 00 00 00 00 00 00  .+u}............
        00 00 00 00 00 00 00 00 8e 31 a2 34 5f 03 00 00  .........1.4_...
      backtrace:
        [<000000002abd83d0>] 0xffffffffa000705e
        [<000000004c063fda>] scsi_dispatch_cmd+0xc7/0x1a0
        [<000000000c119a00>] scsi_request_fn+0x251/0x550
        [<000000009de0c736>] __blk_run_queue+0x3f/0x60
        [<000000001c4453c8>] blk_execute_rq_nowait+0x98/0xd0
        [<00000000d17ec79f>] blk_execute_rq+0x3a/0x50
        [<00000000a7654b6e>] scsi_execute+0x113/0x250
        [<00000000fd78f7cd>] sd_sync_cache+0x95/0x160
        [<0000000024dacb14>] sd_shutdown+0x9b/0xd0
        [<00000000e9101710>] sd_remove+0x5f/0xb0
        [<00000000c43f0d63>] device_release_driver_internal+0x13c/0x1f0
        [<00000000e8ad57b6>] bus_remove_device+0xe9/0x160
        [<00000000713a7b8a>] device_del+0x120/0x320
        [<00000000e5db670c>] __scsi_remove_device+0x115/0x150
        [<00000000eccbef30>] scsi_forget_host+0x20/0x60
        [<00000000cd5a0738>] scsi_remove_host+0x6d/0x120
    
    Cc: stable at vger.kernel.org # v4.17+
    Signed-off-by: Luis Henriques <lhenriques at suse.com>
    Acked-by: Douglas Gilbert <dgilbert at interlog.com>
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>

commit 49d7bd36813ea8e6b4c97b640d24e7fbd44c84f0
Author: Mikhail Malygin <m.malygin at yadro.com>
Date:   Wed Jun 13 13:05:57 2018 +0000

    scsi: qla2xxx: Spinlock recursion in qla_target
    
    The patch reverts changes done in qlt_schedule_sess_for_deletion() to
    avoid spinlock recursion sess->vha->work_lock should be used instead
    of ha->tgt.sess_lock, that can be locked in callers: qlt_reset() or
    qlt_handle_login()
    
    [mkp: roll in build warning reported by sfr]
    
    Fixes: 1c6cacf4ea6c04 ("scsi: qla2xxx: Fixup locking for session deletion")
    Cc: <stable at vger.kernel.org> #v4.17
    Signed-off-by: Mikhail Malygin <m.malygin at yadro.com>
    Reported-by: Mikhail Malygin <m.malygin at yadro.com>
    Tested-by: Mikhail Malygin <m.malygin at yadro.com>
    Acked-by: Himanshu Madhani <himanshu.madhani at cavium.com>
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>

commit f2233a33dc1fef4aa30dc11e4c676637bf358c3d
Author: Arnd Bergmann <arnd at arndb.de>
Date:   Mon Mar 19 22:50:05 2018 -0400

    scsi: ipr: Eliminate duplicate barriers
    
    Driver does both wmb() and writel(). The latter already has a barrier
    on some architectures like arm64. This ends up with CPU observing two
    barriers back to back before executing the register write.
    
    Drivers should generally assume that the barrier implied by writel() is
    sufficient for ordering DMA. Remove the extraneous wmb() before it.
    
    [mkp: Squashed Arnd's and Sinan's patches]
    
    Signed-off-by: Arnd Bergmann <arnd at arndb.de>
    Reported-by: Sinan Kaya <okaya at codeaurora.org>
    Acked-by: Brian King <brking at linux.vnet.ibm.com>
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>

commit 6c3796d130ed2860489885a934dcb7bb334d5eb0
Author: bstroesser at ts.fujitsu.com <bstroesser at ts.fujitsu.com>
Date:   Thu May 24 18:49:41 2018 +0200

    scsi: target: tcmu: add read length support
    
    Generally target core and TCMUser seem to work fine for tape devices and
    media changers.  But there is at least one situation where TCMUser is not
    able to support sequential access device emulation correctly.
    
    The situation is when an initiator sends a SCSI READ CDB with a length that
    is greater than the length of the tape block to read. We can distinguish
    two subcases:
    
    A) The initiator sent the READ CDB with the SILI bit being set.
    
       In this case the sequential access device has to transfer the data from
       the tape block (only the length of the tape block) and transmit a good
       status.  The current interface between TCMUser and the userspace does
       not support reduction of the read data size by the userspace program.
    
       The patch below fixes this subcase by allowing the userspace program to
       specify a reduced data size in read direction.
    
    B) The initiator sent the READ CDB with the SILI bit not being set.
    
       In this case the sequential access device has to transfer the data from
       the tape block as in A), but additionally has to transmit CHECK
       CONDITION with the ILI bit set and NO SENSE in the sensebytes. The
       information field in the sensebytes must contain the residual count.
    
       With the below patch a user space program can specify the real read data
       length and appropriate sensebytes.  TCMUser then uses the se_cmd flag
       SCF_TREAT_READ_AS_NORMAL, to force target core to transmit the real data
       size and the sensebytes.  Note: the flag SCF_TREAT_READ_AS_NORMAL is
       introduced by Lee Duncan's patch "[PATCH v4] target: transport should
       handle st FM/EOM/ILI reads" from Tue, 15 May 2018 18:25:24 -0700.
    
    Signed-off-by: Bodo Stroesser <bstroesser at ts.fujitsu.com>
    Acked-by: Mike Christie <mchristi at redhat.com>
    Reviewed-by: Lee Duncan <lduncan at suse.com>
    Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>

commit 08ca1b52f69b4dfa8703d54e26e2c6e11aa453eb
Author: Alex Williamson <alex.williamson at redhat.com>
Date:   Mon Jun 18 16:39:50 2018 -0600

    vfio/pci: Make IGD support a configurable option
    
    Allow the code which provides extensions to support direct assignment
    of Intel IGD (GVT-d) to be compiled out of the kernel if desired.  The
    config option for this was previously automatically enabled on X86,
    therefore the default remains Y.  This simply provides the option to
    disable it even for X86.
    
    Signed-off-by: Alex Williamson <alex.williamson at redhat.com>

commit a45fc268db20ecd859bb61e25045912b3194b5e6
Author: Hoan Tran <hoan.tran at amperecomputing.com>
Date:   Thu Jun 7 14:35:01 2018 +0100

    drivers/perf: xgene_pmu: Fix IOB SLOW PMU parser error
    
    This patch fixes the below parser error of the IOB SLOW PMU.
    
            # perf stat -a -e iob-slow0/cycle-count/ sleep 1
            evenf syntax error: 'iob-slow0/cycle-count/'
                                     \___ parser error
    
    It replaces the "-" character by "_" character inside the PMU name.
    
    Signed-off-by: Hoan Tran <hoan.tran at amperecomputing.com>
    Signed-off-by: Will Deacon <will.deacon at arm.com>

commit 75af23c4736c5633894ea0baf9bca1cf6b248ca4
Author: Ray Jui <ray.jui at broadcom.com>
Date:   Tue Jun 12 13:21:31 2018 -0700

    arm64: dts: Stingray: Fix I2C controller interrupt type
    
    Fix I2C controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom
    Stingray SoC.
    
    Fixes: 1256ea18875d ("arm64: dts: Add I2C DT nodes for Stingray SoC")
    Signed-off-by: Ray Jui <ray.jui at broadcom.com>
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit bfc9dfdcb6e9493de5d4fe0d3ed3ce57672f8d07
Author: Shaohua Li <shli at fb.com>
Date:   Wed Jun 13 08:39:49 2018 -0700

    MD: cleanup resources in failure
    
    We need destroy the memory pool in failure
    
    Signed-off-by: Shaohua Li <shli at fb.com>

commit d0b8aed9e80ab526dbb04020bfc94ecea7bddb44
Author: Ray Jui <ray.jui at broadcom.com>
Date:   Tue Jun 12 13:21:30 2018 -0700

    arm64: dts: ns2: Fix PCIe controller interrupt type
    
    Fix PCIe controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom
    NS2 SoC.
    
    Fixes: fd5e5dd56a2f ("arm64: dts: Add PCIe0 and PCIe4 DT nodes for NS2")
    Signed-off-by: Ray Jui <ray.jui at broadcom.com>
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit e605c287deed45624e8d35a15e3f0b4faab1a62d
Author: Ray Jui <ray.jui at broadcom.com>
Date:   Tue Jun 12 13:21:29 2018 -0700

    arm64: dts: ns2: Fix I2C controller interrupt type
    
    Fix I2C controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom NS2
    SoC.
    
    Fixes: 7ac674e8df7a ("arm64: dts: Add I2C nodes for NS2")
    Signed-off-by: Ray Jui <ray.jui at broadcom.com>
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit 37c2bd81a86ebb1cc934bf52a29c33d6f9abff7f
Author: Scott Branden <scott.branden at broadcom.com>
Date:   Tue May 22 10:01:39 2018 -0700

    arm64: dts: specify 1.8V EMMC capabilities for bcm958742t
    
    Specify 1.8V EMMC capabilities for bcm958742t board to indicate support
    for UHS mode.
    
    Fixes: d4b4aba6be8a ("arm64: dts: Initial DTS files for Broadcom Stingray SOC")
    Signed-off-by: Scott Branden <scott.branden at broadcom.com>
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit eba92503e980c08ac353d0d669d0bb143979abcd
Author: Scott Branden <scott.branden at broadcom.com>
Date:   Fri May 18 08:21:20 2018 -0700

    arm64: dts: specify 1.8V EMMC capabilities for bcm958742k
    
    Specify 1.8V EMMC capabilities for bcm958742k board to indicate support
    for UHS mode.
    
    Fixes: d4b4aba6be8a ("arm64: dts: Initial DTS files for Broadcom Stingray SOC")
    Signed-off-by: Scott Branden <scott.branden at broadcom.com>
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit 6cb1628ad3506b315cdddd7676db0ff2af378d28
Author: Ray Jui <ray.jui at broadcom.com>
Date:   Tue Jun 12 13:21:28 2018 -0700

    ARM: dts: Cygnus: Fix PCIe controller interrupt type
    
    Fix PCIe controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom
    Cygnus SoC
    
    Fixes: cd590b50a936 ("ARM: dts: enable PCIe support for Cygnus")
    Fixes: f6b889358a82 ("ARM: dts: Enable MSI support for Broadcom Cygnus")
    Signed-off-by: Ray Jui <ray.jui at broadcom.com>
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit 71ca3409703b62b6a092d0d9d13f366c121bc5d3
Author: Ray Jui <ray.jui at broadcom.com>
Date:   Tue Jun 12 13:21:27 2018 -0700

    ARM: dts: Cygnus: Fix I2C controller interrupt type
    
    Fix I2C controller interrupt to use IRQ_TYPE_LEVEL_HIGH for Broadcom
    Cygnus SoC.
    
    Fixes: b51c05a331ff ("ARM: dts: add I2C device nodes for Broadcom Cygnus")
    Signed-off-by: Ray Jui <ray.jui at broadcom.com>
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit a0a8338e905734518ab9b10b06e7fd0201228f8b
Author: Florian Fainelli <f.fainelli at gmail.com>
Date:   Mon Jun 11 15:53:40 2018 -0700

    ARM: dts: BCM5301x: Fix i2c controller interrupt type
    
    The i2c controller should be using IRQ_TYPE_LEVEL_HIGH, fix that.
    
    Fixes: bb097e3e0045 ("ARM: dts: BCM5301X: Add I2C support to the DT")
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit dbe4a39331b7aa8bcac8ef2da780724e1af1619a
Author: Florian Fainelli <f.fainelli at gmail.com>
Date:   Mon Jun 11 15:47:14 2018 -0700

    ARM: dts: HR2: Fix interrupt types for i2c and PCIe
    
    The i2c and PCIe controllers had an incorrect type which should have
    been set to IRQ_TYPE_LEVEL_HIGH, fix that.
    
    Fixes: b9099ec754b5 ("ARM: dts: Add Broadcom Hurricane 2 DTS include file")
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit 403fde644855bc71318c8db65646383e22653b13
Author: Florian Fainelli <f.fainelli at gmail.com>
Date:   Mon Jun 11 15:47:13 2018 -0700

    ARM: dts: NSP: Fix PCIe controllers interrupt types
    
    The interrupts for the PCIe controllers should all be of type
    IRQ_TYPE_LEVEL_HIGH instead of IRQ_TYPE_NONE.
    
    Fixes: d71eb9412088 ("ARM: dts: NSP: Add MSI support on PCI")
    Fixes: 522199029fdc ("ARM: dts: NSP: Fix PCIE DT issue")
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit a3e32e78a40017756c71ef6dad429ffe3301126a
Author: Florian Fainelli <f.fainelli at gmail.com>
Date:   Mon Jun 11 15:47:12 2018 -0700

    ARM: dts: NSP: Fix i2c controller interrupt type
    
    The i2c controller should use IRQ_TYPE_LEVEL_HIGH instead of
    IRQ_TYPE_NONE.
    
    Fixes: 0f9f27a36d09 ("ARM: dts: NSP: Add I2C support to the DT")
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit d64324acdb7052b08b13ffc8c12af232c6a29afd
Author: Florian Fainelli <f.fainelli at gmail.com>
Date:   Tue Jun 5 09:24:55 2018 -0700

    MAINTAINERS: Update Broadcom iProc entry with Stingray
    
    Update the MAINTAINERS file to cover the "stingray" pattern and a few
    files under arch/arm64/boot/dts/broadcom/* as well as the clock driver
    and binding.
    
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit 9f3cb9b71bc3166f27ceffe0b7295c464c638151
Author: Florian Fainelli <f.fainelli at gmail.com>
Date:   Tue Jun 5 09:22:37 2018 -0700

    MAINAINTERS: Corrected Broadcom Northstar2 entry
    
    While moving the Northstar 2 DTS into a dedicated directory, the
    corresponding MAINTAINERS file entry was not updated accordingly, fix
    that.
    
    Fixes: 63a913c157f5 ("arm64: dts: move ns2 into northstar2 directory")
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>

commit ad9852af97587b8abe8102f9ddcb05c9769656f6
Author: Gao Feng <gfree.wind at vip.163.com>
Date:   Wed Jun 13 12:26:13 2018 +0800

    netfilter: nf_ct_helper: Fix possible panic after nf_conntrack_helper_unregister
    
    The helper module would be unloaded after nf_conntrack_helper_unregister,
    so it may cause a possible panic caused by race.
    
    nf_ct_iterate_destroy(unhelp, me) reset the helper of conntrack as NULL,
    but maybe someone has gotten the helper pointer during this period. Then
    it would panic, when it accesses the helper and the module was unloaded.
    
    Take an example as following:
    CPU0                                                   CPU1
    ctnetlink_dump_helpinfo
    helper = rcu_dereference(help->helper);
                                                           unhelp
                                                           set helper as NULL
                                                           unload helper module
    helper->to_nlattr(skb, ct);
    
    As above, the cpu0 tries to access the helper and its module is unloaded,
    then the panic happens.
    
    Signed-off-by: Gao Feng <gfree.wind at vip.163.com>
    Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>

commit 9ce7bc036ae4cfe3393232c86e9e1fea2153c237
Author: Eric Dumazet <edumazet at google.com>
Date:   Wed Jun 13 10:11:56 2018 -0700

    netfilter: ipv6: nf_defrag: reduce struct net memory waste
    
    It is a waste of memory to use a full "struct netns_sysctl_ipv6"
    while only one pointer is really used, considering netns_sysctl_ipv6
    keeps growing.
    
    Also, since "struct netns_frags" has cache line alignment,
    it is better to move the frags_hdr pointer outside, otherwise
    we spend a full cache line for this pointer.
    
    This saves 192 bytes of memory per netns.
    
    Fixes: c038a767cd69 ("ipv6: add a new namespace for nf_conntrack_reasm")
    Signed-off-by: Eric Dumazet <edumazet at google.com>
    Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>

commit ba062ebb2cd561d404e0fba8ee4b3f5ebce7cbfc
Author: Eric Dumazet <edumazet at google.com>
Date:   Wed Jun 13 09:13:39 2018 -0700

    netfilter: nf_queue: augment nfqa_cfg_policy
    
    Three attributes are currently not verified, thus can trigger KMSAN
    warnings such as :
    
    BUG: KMSAN: uninit-value in __arch_swab32 arch/x86/include/uapi/asm/swab.h:10 [inline]
    BUG: KMSAN: uninit-value in __fswab32 include/uapi/linux/swab.h:59 [inline]
    BUG: KMSAN: uninit-value in nfqnl_recv_config+0x939/0x17d0 net/netfilter/nfnetlink_queue.c:1268
    CPU: 1 PID: 4521 Comm: syz-executor120 Not tainted 4.17.0+ #5
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0x185/0x1d0 lib/dump_stack.c:113
     kmsan_report+0x188/0x2a0 mm/kmsan/kmsan.c:1117
     __msan_warning_32+0x70/0xc0 mm/kmsan/kmsan_instr.c:620
     __arch_swab32 arch/x86/include/uapi/asm/swab.h:10 [inline]
     __fswab32 include/uapi/linux/swab.h:59 [inline]
     nfqnl_recv_config+0x939/0x17d0 net/netfilter/nfnetlink_queue.c:1268
     nfnetlink_rcv_msg+0xb2e/0xc80 net/netfilter/nfnetlink.c:212
     netlink_rcv_skb+0x37e/0x600 net/netlink/af_netlink.c:2448
     nfnetlink_rcv+0x2fe/0x680 net/netfilter/nfnetlink.c:513
     netlink_unicast_kernel net/netlink/af_netlink.c:1310 [inline]
     netlink_unicast+0x1680/0x1750 net/netlink/af_netlink.c:1336
     netlink_sendmsg+0x104f/0x1350 net/netlink/af_netlink.c:1901
     sock_sendmsg_nosec net/socket.c:629 [inline]
     sock_sendmsg net/socket.c:639 [inline]
     ___sys_sendmsg+0xec8/0x1320 net/socket.c:2117
     __sys_sendmsg net/socket.c:2155 [inline]
     __do_sys_sendmsg net/socket.c:2164 [inline]
     __se_sys_sendmsg net/socket.c:2162 [inline]
     __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
     do_syscall_64+0x15b/0x230 arch/x86/entry/common.c:287
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    RIP: 0033:0x43fd59
    RSP: 002b:00007ffde0e30d28 EFLAGS: 00000213 ORIG_RAX: 000000000000002e
    RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 000000000043fd59
    RDX: 0000000000000000 RSI: 0000000020000080 RDI: 0000000000000003
    RBP: 00000000006ca018 R08: 00000000004002c8 R09: 00000000004002c8
    R10: 00000000004002c8 R11: 0000000000000213 R12: 0000000000401680
    R13: 0000000000401710 R14: 0000000000000000 R15: 0000000000000000
    
    Uninit was created at:
     kmsan_save_stack_with_flags mm/kmsan/kmsan.c:279 [inline]
     kmsan_internal_poison_shadow+0xb8/0x1b0 mm/kmsan/kmsan.c:189
     kmsan_kmalloc+0x94/0x100 mm/kmsan/kmsan.c:315
     kmsan_slab_alloc+0x10/0x20 mm/kmsan/kmsan.c:322
     slab_post_alloc_hook mm/slab.h:446 [inline]
     slab_alloc_node mm/slub.c:2753 [inline]
     __kmalloc_node_track_caller+0xb35/0x11b0 mm/slub.c:4395
     __kmalloc_reserve net/core/skbuff.c:138 [inline]
     __alloc_skb+0x2cb/0x9e0 net/core/skbuff.c:206
     alloc_skb include/linux/skbuff.h:988 [inline]
     netlink_alloc_large_skb net/netlink/af_netlink.c:1182 [inline]
     netlink_sendmsg+0x76e/0x1350 net/netlink/af_netlink.c:1876
     sock_sendmsg_nosec net/socket.c:629 [inline]
     sock_sendmsg net/socket.c:639 [inline]
     ___sys_sendmsg+0xec8/0x1320 net/socket.c:2117
     __sys_sendmsg net/socket.c:2155 [inline]
     __do_sys_sendmsg net/socket.c:2164 [inline]
     __se_sys_sendmsg net/socket.c:2162 [inline]
     __x64_sys_sendmsg+0x331/0x460 net/socket.c:2162
     do_syscall_64+0x15b/0x230 arch/x86/entry/common.c:287
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    Fixes: fdb694a01f1f ("netfilter: Add fail-open support")
    Fixes: 829e17a1a602 ("[NETFILTER]: nfnetlink_queue: allow changing queue length through netlink")
    Signed-off-by: Eric Dumazet <edumazet at google.com>
    Reported-by: syzbot <syzkaller at googlegroups.com>
    Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>

commit 21cbbc6bb7b4ba6aee303a3b4aef1578253724d8
Author: Minas Harutyunyan <Minas.Harutyunyan at synopsys.com>
Date:   Tue Jun 12 12:27:36 2018 +0400

    usb: dwc2: gadget: fix packet drop issue for ISOC OUT transfers
    
    In ISOC OUT transfer, when the OUT token received while EP disabled,
    we shouldn't complete a usb request. The current flow completed one
    usb request, this will lead to a packet drop to function driver.
    
    Signed-off-by: Minas Harutyunyan <hminas at synopsys.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 615277779f41a753e68f531613e344c54fdc95bf
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Tue Jun 12 10:24:48 2018 +0200

    usb: dwc3: Only call clk_bulk_get() on devicetree instantiated devices
    
    Commit fe8abf332b8f ("usb: dwc3: support clocks and resets for DWC3 core")
    adds support for handling clocks and resets in the DWC3 core, so that for
    platforms following the standard devicetree bindings this does not need
    to be duplicated in all the different glue layers.
    
    These changes intended for devicetree based platforms introduce an
    uncoditional clk_bulk_get() in the core probe path. This leads to the
    following error being logged on x86/ACPI systems:
    
    [   26.276783] dwc3 dwc3.3.auto: Failed to get clk 'ref': -2
    
    This commits wraps the clk_bulk_get() in an if (dev->of_node) check so
    that it only is done on devicetree instantiated devices, fixing this
    error.
    
    Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
    Reviewed-by: Masahiro Yamada <yamada.masahiro at socionext.com>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 6e967d7e2c4822eba4847ec09037119a0418aaef
Author: Zeng Tao <prime.zeng at hisilicon.com>
Date:   Tue Jun 12 22:49:06 2018 +0800

    usb: dwc2: gadget: fix packet drop issue in dwc2_gadget_handle_nak
    
    In ISOC transfer, when the NAK interrupt happens, we shouldn't complete
    a usb request, the current flow will complete one usb request with no
    hardware transfer, this will lead to a packet drop on the usb bus.
    
    Acked-by: Minas Harutyunyan <hminas at synopsys.com>
    Signed-off-by: Zeng Tao <prime.zeng at hisilicon.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 896e518883f18e601335908192e33426c1f599a4
Author: Johan Hovold <johan at kernel.org>
Date:   Thu May 31 16:45:52 2018 +0200

    usb: dwc3: of-simple: fix use-after-free on remove
    
    The clocks have already been explicitly disabled and put as part of
    remove() so the runtime suspend callback must not be run when balancing
    the runtime PM usage count before returning.
    
    Fixes: 16adc674d0d6 ("usb: dwc3: add generic OF glue layer")
    Signed-off-by: Johan Hovold <johan at kernel.org>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 1ffba9058737af2ddeebc813faa8ea9b16bc892a
Author: Minas Harutyunyan <Minas.Harutyunyan at synopsys.com>
Date:   Tue Jun 12 12:37:29 2018 +0400

    usb: dwc2: gadget: Fix issue in dwc2_gadget_start_isoc()
    
    In case of requests queue is empty reset EP target_frame to
    initial value.
    
    This allow restarting ISOC traffic in case when function
    driver queued requests with interruptions.
    
    Tested-by: Zeng Tao <prime.zeng at hisilicon.com>
    Signed-off-by: Minas Harutyunyan <hminas at synopsys.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 3ec148ebe3112b40c9a2c0c543bcb0cd1a3abd43
Author: Jaejoong Kim <climbbb.kim at gmail.com>
Date:   Thu Jun 14 18:56:31 2018 +0900

    doc: usb: Fix typo in gadget_configfs documentation
    
    Fix the directory name from 'configfs' to 'configs'.
    
    Signed-off-by: Jaejoong Kim <climbbb.kim at gmail.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit d52e4d0c0c428bf2ba35074a7495cdb28e2efbae
Author: Vincent Pelletier <plr.vincent at gmail.com>
Date:   Wed Jun 13 11:05:06 2018 +0000

    usb: gadget: ffs: Fix BUG when userland exits with submitted AIO transfers
    
    This bug happens only when the UDC needs to sleep during usb_ep_dequeue,
    as is the case for (at least) dwc3.
    
    [  382.200896] BUG: scheduling while atomic: screen/1808/0x00000100
    [  382.207124] 4 locks held by screen/1808:
    [  382.211266]  #0:  (rcu_callback){....}, at: [<c10b4ff0>] rcu_process_callbacks+0x260/0x440
    [  382.219949]  #1:  (rcu_read_lock_sched){....}, at: [<c1358ba0>] percpu_ref_switch_to_atomic_rcu+0xb0/0x130
    [  382.230034]  #2:  (&(&ctx->ctx_lock)->rlock){....}, at: [<c11f0c73>] free_ioctx_users+0x23/0xd0
    [  382.230096]  #3:  (&(&ffs->eps_lock)->rlock){....}, at: [<f81e7710>] ffs_aio_cancel+0x20/0x60 [usb_f_fs]
    [  382.230160] Modules linked in: usb_f_fs libcomposite configfs bnep btsdio bluetooth ecdh_generic brcmfmac brcmutil intel_powerclamp coretemp dwc3 kvm_intel ulpi udc_core kvm irqbypass crc32_pclmul crc32c_intel pcbc dwc3_pci aesni_intel aes_i586 crypto_simd cryptd ehci_pci ehci_hcd gpio_keys usbcore basincove_gpadc industrialio usb_common
    [  382.230407] CPU: 1 PID: 1808 Comm: screen Not tainted 4.14.0-edison+ #117
    [  382.230416] Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542 2015.01.21:18.19.48
    [  382.230425] Call Trace:
    [  382.230438]  <SOFTIRQ>
    [  382.230466]  dump_stack+0x47/0x62
    [  382.230498]  __schedule_bug+0x61/0x80
    [  382.230522]  __schedule+0x43/0x7a0
    [  382.230587]  schedule+0x5f/0x70
    [  382.230625]  dwc3_gadget_ep_dequeue+0x14c/0x270 [dwc3]
    [  382.230669]  ? do_wait_intr_irq+0x70/0x70
    [  382.230724]  usb_ep_dequeue+0x19/0x90 [udc_core]
    [  382.230770]  ffs_aio_cancel+0x37/0x60 [usb_f_fs]
    [  382.230798]  kiocb_cancel+0x31/0x40
    [  382.230822]  free_ioctx_users+0x4d/0xd0
    [  382.230858]  percpu_ref_switch_to_atomic_rcu+0x10a/0x130
    [  382.230881]  ? percpu_ref_exit+0x40/0x40
    [  382.230904]  rcu_process_callbacks+0x2b3/0x440
    [  382.230965]  __do_softirq+0xf8/0x26b
    [  382.231011]  ? __softirqentry_text_start+0x8/0x8
    [  382.231033]  do_softirq_own_stack+0x22/0x30
    [  382.231042]  </SOFTIRQ>
    [  382.231071]  irq_exit+0x45/0xc0
    [  382.231089]  smp_apic_timer_interrupt+0x13c/0x150
    [  382.231118]  apic_timer_interrupt+0x35/0x3c
    [  382.231132] EIP: __copy_user_ll+0xe2/0xf0
    [  382.231142] EFLAGS: 00210293 CPU: 1
    [  382.231154] EAX: bfd4508c EBX: 00000004 ECX: 00000003 EDX: f3d8fe50
    [  382.231165] ESI: f3d8fe51 EDI: bfd4508d EBP: f3d8fe14 ESP: f3d8fe08
    [  382.231176]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    [  382.231265]  core_sys_select+0x25f/0x320
    [  382.231346]  ? __wake_up_common_lock+0x62/0x80
    [  382.231399]  ? tty_ldisc_deref+0x13/0x20
    [  382.231438]  ? ldsem_up_read+0x1b/0x40
    [  382.231459]  ? tty_ldisc_deref+0x13/0x20
    [  382.231479]  ? tty_write+0x29f/0x2e0
    [  382.231514]  ? n_tty_ioctl+0xe0/0xe0
    [  382.231541]  ? tty_write_unlock+0x30/0x30
    [  382.231566]  ? __vfs_write+0x22/0x110
    [  382.231604]  ? security_file_permission+0x2f/0xd0
    [  382.231635]  ? rw_verify_area+0xac/0x120
    [  382.231677]  ? vfs_write+0x103/0x180
    [  382.231711]  SyS_select+0x87/0xc0
    [  382.231739]  ? SyS_write+0x42/0x90
    [  382.231781]  do_fast_syscall_32+0xd6/0x1a0
    [  382.231836]  entry_SYSENTER_32+0x47/0x71
    [  382.231848] EIP: 0xb7f75b05
    [  382.231857] EFLAGS: 00000246 CPU: 1
    [  382.231868] EAX: ffffffda EBX: 00000400 ECX: bfd4508c EDX: bfd4510c
    [  382.231878] ESI: 00000000 EDI: 00000000 EBP: 00000000 ESP: bfd45020
    [  382.231889]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b
    [  382.232281] softirq: huh, entered softirq 9 RCU c10b4d90 with preempt_count 00000100, exited with 00000000?
    
    Tested-by: Sam Protsenko <semen.protsenko at linaro.org>
    Signed-off-by: Vincent Pelletier <plr.vincent at gmail.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 00908693c481f7298adf8cf4d2ff3dfbea8c375f
Author: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Date:   Thu Jun 15 12:57:30 2017 +0300

    usb: dwc3: pci: add support for Intel IceLake
    
    PCI IDs for Intel IceLake.
    
    Signed-off-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
    Signed-off-by: Felipe Balbi <felipe.balbi at linux.intel.com>

commit 24160628a34af962ac99f2f58e547ac3c4cbd26f
Author: Johan Hovold <johan at kernel.org>
Date:   Mon Jun 18 10:24:03 2018 +0200

    USB: serial: cp210x: add CESINEL device ids
    
    Add device ids for CESINEL products.
    
    Reported-by: Carlos Barcala Lara <cabl at cesinel.com>
    Cc: stable <stable at vger.kernel.org>
    Signed-off-by: Johan Hovold <johan at kernel.org>

commit 2f839823382748664b643daa73f41ee0cc01ced6
Author: Karoly Pados <pados at pados.hu>
Date:   Sat Jun 9 13:26:08 2018 +0200

    USB: serial: cp210x: add Silicon Labs IDs for Windows Update
    
    Silicon Labs defines alternative VID/PID pairs for some chips that when
    used will automatically install drivers for Windows users without manual
    intervention. Unfortunately, these IDs are not recognized by the Linux
    module, so using these IDs improves user experience on one platform but
    degrades it on Linux. This patch addresses this problem.
    
    Signed-off-by: Karoly Pados <pados at pados.hu>
    Cc: stable <stable at vger.kernel.org>
    Signed-off-by: Johan Hovold <johan at kernel.org>

commit bfe0a5f47ada40d7984de67e59a7d3390b9b9ecc
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Sun Jun 17 18:11:20 2018 -0400

    ext4: add more mount time checks of the superblock
    
    The kernel's ext4 mount-time checks were more permissive than
    e2fsprogs's libext2fs checks when opening a file system.  The
    superblock is considered too insane for debugfs or e2fsck to operate
    on it, the kernel has no business trying to mount it.
    
    This will make file system fuzzing tools work harder, but the failure
    cases that they find will be more useful and be easier to evaluate.
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit 3637f12faf507b0a4b8ac1e7115fc99583ab1db3
Author: Anson Huang <Anson.Huang at nxp.com>
Date:   Wed May 30 09:30:42 2018 +0800

    soc: imx: gpcv2: correct PGC offset
    
    Correct MIPI/PCIe/USB_HSIC's PGC offset based on
    design RTL, the values in the Reference Manual
    (Rev. 1, 01/2018 and the older ones) are incorrect.
    
    The correct offset values should be as below:
    
    0x800 ~ 0x83F: PGC for core0 of A7 platform;
    0x840 ~ 0x87F: PGC for core1 of A7 platform;
    0x880 ~ 0x8BF: PGC for SCU of A7 platform;
    0xA00 ~ 0xA3F: PGC for fastmix/megamix;
    0xC00 ~ 0xC3F: PGC for MIPI PHY;
    0xC40 ~ 0xC7F: PGC for PCIe_PHY;
    0xC80 ~ 0xCBF: PGC for USB OTG1 PHY;
    0xCC0 ~ 0xCFF: PGC for USB OTG2 PHY;
    0xD00 ~ 0xD3F: PGC for USB HSIC PHY;
    
    Signed-off-by: Anson Huang <Anson.Huang at nxp.com>
    Fixes: 03aa12629fc4 ("soc: imx: Add GPCv2 power gating driver")
    Acked-by: Andrey Smirnov <andrew.smirnov at gmail.com>
    Reviewed-by: Fabio Estevam <fabio.estevam at nxp.com>
    Signed-off-by: Shawn Guo <shawnguo at kernel.org>

commit a57a46b93244a0a916b894d8b2ca2a6cfe1904d3
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date:   Fri Jun 15 21:56:20 2018 -0400

    ALSA: hda/ca0132: Fix DMic data rate for Alienware M17x R4
    
    The commentary says to use various parameters, and lays out what
    the mapping is...  The code used a 32KHz rate when the comment
    says that it needs to use a 48KHz rate.  And this has been the
    case since day one.
    
    On the Alienware M17x R4, the DMic used to have exceptionally quiet
    pickup and a lot of noise.  Changing the data rate fixes both of
    these issues.
    
    Searching the kernel bug tracker for ca0132-related issues shows no
    mention of this being an issue for other hardware, and I have no
    other hardware to test with, so a quirk is used to limit the effect
    to just the M17x R4.
    
    Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 5f8ddc6ee63a9057522923a6b2eb8c51993e1db0
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date:   Fri Jun 15 21:56:19 2018 -0400

    ALSA: hda/ca0132: Restore PCM Analog Mic-In2
    
    Commit 009b8f979bf8cb5f7ec6d3dd7683585122ed10f8 conditionalized
    adding the "CA0132 Analog Mic-In2" PCM with a comment to the
    effect that, "desktops don't use this ADC", but the test was set
    up such that the ADC was only created for desktops.  Invert the
    test.
    
    Fixes: 009b8f979bf8 ("ALSA: hda/ca0132: update core functions for sbz + r3di")
    Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 126b75e03894f3053b723130cb9b824e6f15d8e6
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date:   Fri Jun 15 21:56:18 2018 -0400

    ALSA: hda/ca0132: Don't test for QUIRK_NONE
    
    QUIRK_NONE is, quite explicitly, the default case.  The entire
    point of a quirks system is to allow "programming by difference"
    from a given base case, which requires that merely defining a new
    quirk for some piece of hardware should not change the behavior of
    the driver for that hardware.  In turn, this means that testing
    for QUIRK_NONE explicitly is a violation of that implicit contract.
    
    Change a test for QUIRK_NONE and QUIRK_ALIENWARE to default, and
    add a test for QUIRK_SBZ to disable the default behavior in that
    instance.
    
    Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 365c7f25cd0a72b16979ba948e6c389a9a89818b
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date:   Fri Jun 15 21:56:17 2018 -0400

    ALSA: hda/ca0132: Restore behavior of QUIRK_ALIENWARE
    
    Commit e93ac30a32a6ba7ac3b4b2a4379af1dadb91e505 (ALSA: HDA/ca0132:
    add extra init functions for r3di + sbz) introduced an extra
    initialization function that was improperly guarded, taking effect
    on systems with QUIRK_ALIENWARE, even though such systems were
    supposedly not affected.
    
    It may be that this piece of initialization should be done for all
    systems, but that's not a call that I can make.
    
    Fixes: e93ac30a32a6 ("ALSA: HDA/ca0132: add extra init functions for r3di + sbz")
    Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit a3d90d6775e2066a100b9124e40880bd317d2e02
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date:   Fri Jun 15 21:56:16 2018 -0400

    ALSA: hda/ca0132: Delete redundant UNSOL event requests
    
    During ca0132_init(), ca0132_init_unsol() is run before the
    spec->spec_init_verbs are written.  ca0132_init_unsol() calls
    snd_hda_jack_detect_enable_callback(), which requests UNSOL events
    for three or four nodes, two of which were also (redundantly)
    requested by spec_init_verbs.
    
    Kill the redundant AC_VERB_SET_UNSOLICITED_ENABLE verbs.
    
    Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit 7919cd82b9f9be97111be386cbaac59958800ef9
Author: Alastair Bridgewater <alastair.bridgewater at gmail.com>
Date:   Fri Jun 15 21:56:15 2018 -0400

    ALSA: hda/ca0132: Delete pointless assignments to struct auto_pin_cfg fields
    
    ca0132_config() was setting some values in the auto_pin_cfg for
    the codec... but it is called prior to snd_hda_parse_pin_defcfg(),
    which does a memset() to clear the entire structure as one of its
    first actions, making the entire exercise pointless.
    
    Kill all use of struct auto_pin_cfg from ca0132_config().
    
    Signed-off-by: Alastair Bridgewater <alastair.bridgewater at gmail.com>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit d5a6cabf02210b896a60eee7c04c670ee9ba6dca
Author: Takashi Iwai <tiwai at suse.de>
Date:   Wed Jun 13 12:43:10 2018 +0200

    ALSA: hda/realtek - Fix pop noise on Lenovo P50 & co
    
    Some Lenovo laptops, e.g. Lenovo P50, showed the pop noise at resume
    or runtime resume.  It turned out to be reduced by applying
    alc_no_shutup() just like TPT440 quirk does.
    
    Since there are many Lenovo models showing the same behavior, put this
    workaround in ALC269_FIXUP_THINKPAD_ACPI entry so that it's applied
    commonly to all such Lenovo machines.
    
    Reported-by: Hans de Goede <hdegoede at redhat.com>
    Tested-by: Benjamin Berg <bberg at redhat.com>
    Cc: <stable at vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai at suse.de>

commit df07101e1c4a29e820df02f9989a066988b160e6
Author: Sean Nyekjaer <sean.nyekjaer at prevas.dk>
Date:   Tue May 22 19:45:09 2018 +0200

    ARM: dts: imx6q: Use correct SDMA script for SPI5 core
    
    According to the reference manual the shp_2_mcu / mcu_2_shp
    scripts must be used for devices connected through the SPBA.
    
    This fixes an issue we saw with DMA transfers.
    Sometimes the SPI controller RX FIFO was not empty after a DMA
    transfer and the driver got stuck in the next PIO transfer when
    it read one word more than expected.
    
    commit dd4b487b32a35 ("ARM: dts: imx6: Use correct SDMA script
    for SPI cores") is fixing the same issue but only for SPI1 - 4.
    
    Fixes: 677940258dd8e ("ARM: dts: imx6q: enable dma for ecspi5")
    Signed-off-by: Sean Nyekjaer <sean.nyekjaer at prevas.dk>
    Reviewed-by: Fabio Estevam <fabio.estevam at nxp.com>
    Signed-off-by: Shawn Guo <shawnguo at kernel.org>

commit c37e9e013469521d9adb932d17a1795c139b36db
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Sun Jun 17 00:41:14 2018 -0400

    ext4: add more inode number paranoia checks
    
    If there is a directory entry pointing to a system inode (such as a
    journal inode), complain and declare the file system to be corrupted.
    
    Also, if the superblock's first inode number field is too small,
    refuse to mount the file system.
    
    This addresses CVE-2018-10882.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=200069
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit 8bc1379b82b8e809eef77a9fedbb75c6c297be19
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Sat Jun 16 23:41:59 2018 -0400

    ext4: avoid running out of journal credits when appending to an inline file
    
    Use a separate journal transaction if it turns out that we need to
    convert an inline file to use an data block.  Otherwise we could end
    up failing due to not having journal credits.
    
    This addresses CVE-2018-10883.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=200071
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit e09463f220ca9a1a1ecfda84fcda658f99a1f12a
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Sat Jun 16 20:21:45 2018 -0400

    jbd2: don't mark block as modified if the handle is out of credits
    
    Do not set the b_modified flag in block's journal head should not
    until after we're sure that jbd2_journal_dirty_metadat() will not
    abort with an error due to there not being enough space reserved in
    the jbd2 handle.
    
    Otherwise, future attempts to modify the buffer may lead a large
    number of spurious errors and warnings.
    
    This addresses CVE-2018-10883.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=200071
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit 8cdb5240ec5928b20490a2bb34cb87e9a5f40226
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Sat Jun 16 15:40:48 2018 -0400

    ext4: never move the system.data xattr out of the inode body
    
    When expanding the extra isize space, we must never move the
    system.data xattr out of the inode body.  For performance reasons, it
    doesn't make any sense, and the inline data implementation assumes
    that system.data xattr is never in the external xattr block.
    
    This addresses CVE-2018-10880
    
    https://bugzilla.kernel.org/show_bug.cgi?id=200005
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit 6e8ab72a812396996035a37e5ca4b3b99b5d214b
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Fri Jun 15 12:28:16 2018 -0400

    ext4: clear i_data in ext4_inode_info when removing inline data
    
    When converting from an inode from storing the data in-line to a data
    block, ext4_destroy_inline_data_nolock() was only clearing the on-disk
    copy of the i_blocks[] array.  It was not clearing copy of the
    i_blocks[] in ext4_inode_info, in i_data[], which is the copy actually
    used by ext4_map_blocks().
    
    This didn't matter much if we are using extents, since the extents
    header would be invalid and thus the extents could would re-initialize
    the extents tree.  But if we are using indirect blocks, the previous
    contents of the i_blocks array will be treated as block numbers, with
    potentially catastrophic results to the file system integrity and/or
    user data.
    
    This gets worse if the file system is using a 1k block size and
    s_first_data is zero, but even without this, the file system can get
    quite badly corrupted.
    
    This addresses CVE-2018-10881.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=200015
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit bdbd6ce01a70f02e9373a584d0ae9538dcf0a121
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Fri Jun 15 12:27:16 2018 -0400

    ext4: include the illegal physical block in the bad map ext4_error msg
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit bc890a60247171294acc0bd67d211fa4b88d40ba
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Thu Jun 14 12:55:10 2018 -0400

    ext4: verify the depth of extent tree in ext4_find_extent()
    
    If there is a corupted file system where the claimed depth of the
    extent tree is -1, this can cause a massive buffer overrun leading to
    sadness.
    
    This addresses CVE-2018-10877.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=199417
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit 8844618d8aa7a9973e7b527d038a2a589665002c
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Thu Jun 14 00:58:00 2018 -0400

    ext4: only look at the bg_flags field if it is valid
    
    The bg_flags field in the block group descripts is only valid if the
    uninit_bg or metadata_csum feature is enabled.  We were not
    consistently looking at this field; fix this.
    
    Also block group #0 must never have uninitialized allocation bitmaps,
    or need to be zeroed, since that's where the root inode, and other
    special inodes are set up.  Check for these conditions and mark the
    file system as corrupted if they are detected.
    
    This addresses CVE-2018-10876.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=199403
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit 77260807d1170a8cf35dbb06e07461a655f67eee
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Wed Jun 13 23:08:26 2018 -0400

    ext4: make sure bitmaps and the inode table don't overlap with bg descriptors
    
    It's really bad when the allocation bitmaps and the inode table
    overlap with the block group descriptors, since it causes random
    corruption of the bg descriptors.  So we really want to head those off
    at the pass.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=199865
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit 819b23f1c501b17b9694325471789e6b5cc2d0d2
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Wed Jun 13 23:00:48 2018 -0400

    ext4: always check block group bounds in ext4_init_block_bitmap()
    
    Regardless of whether the flex_bg feature is set, we should always
    check to make sure the bits we are setting in the block bitmap are
    within the block group bounds.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=199865
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Cc: stable at kernel.org

commit 513f86d73855ce556ea9522b6bfd79f87356dc3a
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Wed Jun 13 00:51:28 2018 -0400

    ext4: always verify the magic number in xattr blocks
    
    If there an inode points to a block which is also some other type of
    metadata block (such as a block allocation bitmap), the
    buffer_verified flag can be set when it was validated as that other
    metadata block type; however, it would make a really terrible external
    attribute block.  The reason why we use the verified flag is to avoid
    constantly reverifying the block.  However, it doesn't take much
    overhead to make sure the magic number of the xattr block is correct,
    and this will avoid potential crashes.
    
    This addresses CVE-2018-10879.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=200001
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Reviewed-by: Andreas Dilger <adilger at dilger.ca>
    Cc: stable at kernel.org

commit 5369a762c882c0b6e9599e4ebbb3a9ba9eee7e2d
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Wed Jun 13 00:23:11 2018 -0400

    ext4: add corruption check in ext4_xattr_set_entry()
    
    In theory this should have been caught earlier when the xattr list was
    verified, but in case it got missed, it's simple enough to add check
    to make sure we don't overrun the xattr buffer.
    
    This addresses CVE-2018-10879.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=200001
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>
    Reviewed-by: Andreas Dilger <adilger at dilger.ca>
    Cc: stable at kernel.org

commit 327eaf738ff97d19491362e30497954105d60414
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Tue Jun 12 23:34:57 2018 -0400

    ext4: add warn_on_error mount option
    
    This is very handy when debugging bugs handling maliciously corrupted
    file systems.
    
    Signed-off-by: Theodore Ts'o <tytso at mit.edu>

commit 01f7e67a053f7f5696fbdefe2b066303469b6db5
Merge: fc573af632b4 c258e84b180d
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date:   Tue Jun 12 16:24:36 2018 -0700

    Merge branch 'next' into for-linus
    
    Prepare second round of input updates for 4.18 merge window.

commit 5cf8da7bc03570bc15ef1b59e584dfb9e0f47e51
Author: Michal Simek <michal.simek at xilinx.com>
Date:   Tue Jun 12 12:46:17 2018 +0200

    microblaze: Remove architecture heart beat code
    
    There is no reason to keep this gpio based code in architecture. Use
    ledtrig-heartbeat.c instead which is much more flexible then this
    ancient code.
    
    Signed-off-by: Michal Simek <michal.simek at xilinx.com>
    Reviewed-by: Linus Walleij <linus.walleij at linaro.org>

commit 71ab91157e9d849a5a0c5fcd1ce68d236c3ca703
Author: Rob Herring <robh at kernel.org>
Date:   Mon Jun 11 08:58:36 2018 -0600

    microblaze: heartbeat: fix missing prom.h include
    
    Since commit 96f0e6fcc9ad ("microblaze: remove redundant early_printk
    support") prom.h was removed and one instance in heartbeat.c remained.
    Include of.h as it is the actual header needed.
    
    Fixes: 96f0e6fcc9ad ("microblaze: remove redundant early_printk support")
    Reported-by: kbuild test robot <lkp at intel.com>
    Cc: Michal Simek <monstr at monstr.eu>
    Signed-off-by: Rob Herring <robh at kernel.org>
    Signed-off-by: Michal Simek <michal.simek at xilinx.com>

commit c258e84b180d38f76ab9962cf5bfc10720af1360
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date:   Tue Aug 15 16:00:42 2017 -0700

    Input: do not assign new tracking ID when changing tool type
    
    We allow changing tool type (from MT_TOOL_FINGER to MT_TOOL_PALM) so we
    should not be forcing new tracking ID for the slot.
    
    Acked-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>
    Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit bf6247a70f2b7569180304041b63b59ab14217bc
Author: Dmitry Torokhov <dmitry.torokhov at gmail.com>
Date:   Tue Jun 5 10:08:44 2018 -0700

    Input: make input_report_slot_state() return boolean
    
    Let's make input_report_slot_state() return boolean representing whether
    the contact is active or not. This will allow writing code like:
    
    	if (input_mt_report_slot_state(input, obj->mt_tool,
    					obj->type != RMI_2D_OBJECT_NONE) {
    
    		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
    		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
    		...
    	}
    
    instead of:
    
    	input_mt_report_slot_state(input, obj->mt_tool,
    				   obj->type != RMI_2D_OBJECT_NONE);
    	if (obj->type != RMI_2D_OBJECT_NONE) {
    		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_X, obj->x);
    		input_event(sensor->input, EV_ABS, ABS_MT_POSITION_Y, obj->y);
    		...
    	}
    
    Reviewed-by: Henrik Rydberg <rydberg at bitmath.org>
    Acked-by: Benjamin Tissoires <benjamin.tissoires at redaht.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit 645a397d325db6e1bb36588095ae637738b37693
Author: Lucas Stach <l.stach at pengutronix.de>
Date:   Tue Jun 5 10:34:54 2018 -0700

    Input: synaptics-rmi4 - fix axis-swap behavior
    
    The documentation for the touchscreen-swapped-x-y property states that
    swapping is done after inverting if both are used. RMI4 did it the other
    way around, leading to inconsistent behavior with regard to other
    touchscreens.
    
    Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
    Tested-by: Nick Dyer <nick at shmanahar.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit fd629294759b1e6e5dfc0c9bf892e63553dcc6fa
Author: Wei Yongjun <weiyongjun1 at huawei.com>
Date:   Mon Jun 11 10:09:15 2018 -0700

    Input: synaptics-rmi4 - fix the error return code in rmi_probe_interrupts()
    
    The error return code PTR_ERR(data->irqdomain) is always 0 since
    data->irqdomain is equal to NULL in this error handling case.
    
    Fixes: 24d28e4f1271 ("Input: synaptics-rmi4 - convert irq distribution to irq_domain")
    Signed-off-by: Wei Yongjun <weiyongjun1 at huawei.com>
    Reviewed-by: Lyude Paul <lyude at redhat.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers at google.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit 977d5ba4507dfe5b1346597ee57750262d8d2b19
Author: Geert Uytterhoeven <geert+renesas at glider.be>
Date:   Tue Jun 5 17:05:15 2018 +0200

    soc: renesas: rcar-sysc: Make PM domain initialization more robust
    
    The quirk for R-Car E3 ES1.0 added in commit 086b399965a7ee7e ("soc:
    renesas: r8a77990-sysc: Add workaround for 3DG-{A,B}") makes the 3DG-A
    PM domain a subdomain of the 3DG-B PM domain.  However, registering
    3DG-A with its parent fails silently, as the 3DG-B PM domain hasn't been
    registered yet, and such failures are never reported.
    
    Fix this by:
      1. Splitting PM Domain initialization in two steps, so all PM domains
         are registered before any child-parent links are established,
      2. Reporting any failures in establishing child-parent relations.
    
    Check for and report pm_genpd_init() failures, too, as that function
    gained a return value in commit 7eb231c337e00735 ("PM / Domains: Convert
    pm_genpd_init() to return an error code").
    
    Fixes: 086b399965a7ee7e ("soc: renesas: r8a77990-sysc: Add workaround for 3DG-{A,B}")
    Signed-off-by: Geert Uytterhoeven <geert+renesas at glider.be>
    Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh at renesas.com>
    Reviewed-by: Ulf Hansson <ulf.hansson at linaro.org>
    Signed-off-by: Simon Horman <horms+renesas at verge.net.au>

commit 24d28e4f1271cb2f91613dada8f2acccd00eff56
Author: Nick Dyer <nick at shmanahar.org>
Date:   Tue Jun 5 10:17:51 2018 -0700

    Input: synaptics-rmi4 - convert irq distribution to irq_domain
    
    Convert the RMI driver to use the standard mechanism for
    distributing IRQs to the various functions.
    
    Tested on:
    * S7300 (F11, F34, F54)
    * S7817 (F12, F34, F54)
    
    Signed-off-by: Nick Dyer <nick at shmanahar.org>
    Acked-by: Christopher Heiny <cheiny at synaptics.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit fc573af632b44f355f8fa15ab505f5593368078d
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Tue Jun 5 09:34:22 2018 -0700

    Input: silead - add MSSL0002 ACPI HID
    
    The Silead touchscreen on the Chuwi Vi8 tablet uses MSSL0002 as ACPI HID,
    rather then the usual MSSL1680 id.
    
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>
    Cc: stable at vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit 8f6a652a8c1379023775709e3db6c6f7c1bdb2ab
Author: Roman Kiryanov <rkir at google.com>
Date:   Thu May 31 17:03:33 2018 -0700

    Input: goldfish_events - fix checkpatch warnings
    
    Address issues pointed by checkpatch.pl
    
    Signed-off-by: Roman Kiryanov <rkir at google.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit 45615a9baf4661f953887988eeb4de69fd6cd96e
Author: Xiaotong Lu <xiaotong.lu at spreadtrum.com>
Date:   Fri Jun 1 11:36:22 2018 -0700

    Input: add Spreadtrum vibrator driver
    
    This patch adds the Spreadtrum vibrator driver, which embedded in the
    Spreadtrum SC27xx series PMICs.
    
    Signed-off-by: Xiaotong Lu <xiaotong.lu at spreadtrum.com>
    Signed-off-by: Baolin Wang <baolin.wang at linaro.org>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov at gmail.com>

commit ac62cc9d9cd6fa4c79e171c13dc8d58c3862b678
Author: Viresh Kumar <viresh.kumar at linaro.org>
Date:   Fri May 25 16:01:47 2018 +0530

    arm: dts: armada: Fix "#cooling-cells" property's name
    
    It should be "#cooling-cells" instead of "cooling-cells". Fix it.
    
    Signed-off-by: Viresh Kumar <viresh.kumar at linaro.org>
    Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com>

commit 2f872ddcdb1e8e2186162616cea4581b8403849d
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date:   Tue May 22 11:40:28 2018 +0200

    arm64: dts: marvell: fix CP110 ICU node size
    
    ICU size in CP110 is not 0x10 but at least 0x440 bytes long (from the
    specification).
    
    Fixes: 6ef84a827c37 ("arm64: dts: marvell: enable GICP and ICU on Armada 7K/8K")
    Cc: stable at vger.kernel.org
    Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
    Reviewed-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
    Signed-off-by: Gregory CLEMENT <gregory.clement at bootlin.com>

commit 3877ef7a1ccecaae378c497e1dcddbc2dccb664c
Author: Dinh Nguyen <dinguyen at kernel.org>
Date:   Mon May 14 10:15:19 2018 -0500

    ARM: dts: socfpga: Fix NAND controller node compatible for Arria10
    
    The NAND compatible "denali,denal-nand-dt" property has never been used and
    is obsolete. Remove it.
    
    Cc: stable at vger.kernel.org
    Fixes: f549af06e9b6("ARM: dts: socfpga: Add NAND device tree for Arria10")
    Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>

commit d9a695f3c8098ac9684689774a151cff30d8aa25
Author: Marek Vasut <marex at denx.de>
Date:   Thu May 10 14:52:23 2018 +0200

    ARM: dts: socfpga: Fix NAND controller node compatible
    
    The compatible string for the Denali NAND controller is incorrect,
    fix it by replacing it with one matching the DT bindings and the
    driver.
    
    Cc: stable at vger.kernel.org
    Signed-off-by: Marek Vasut <marex at denx.de>
    Fixes: d837a80d19 ("ARM: dts: socfpga: add nand controller nodes")
    Cc: Steffen Trumtrar <s.trumtrar at pengutronix.de>
    Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>

commit 4eda9b766b042ea38d84df91581b03f6145a2ab0
Author: Marek Vasut <marex at denx.de>
Date:   Thu May 10 16:37:26 2018 +0200

    ARM: dts: socfpga: Fix NAND controller clock supply
    
    The Denali NAND x-clock should be supplied by nand_x_clk, not by
    nand_clk. Fix this, otherwise the Denali driver gets incorrect
    clock frequency information and incorrectly configures the NAND
    timing.
    
    Cc: stable at vger.kernel.org
    Signed-off-by: Marek Vasut <marex at denx.de>
    Fixes: d837a80d19 ("ARM: dts: socfpga: add nand controller nodes")
    Cc: Steffen Trumtrar <s.trumtrar at pengutronix.de>
    Signed-off-by: Dinh Nguyen <dinguyen at kernel.org>



More information about the openchrome-devel mailing list