commit 3bd837bfe431839a378e9d421af05b2e22a6d329
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sun Jul 14 08:11:23 2019 +0200

    Linux 4.19.59

commit 70bae382b3dc54bfec309d09c5ac86ee62f47260
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Jun 28 14:37:48 2019 +0200

    staging: rtl8712: reduce stack usage, again
    
    commit fbd6b25009ac76b2034168cd21d5e01f8c2d83d1 upstream.
    
    An earlier patch I sent reduced the stack usage enough to get
    below the warning limit, and I could show this was safe, but with
    GCC_PLUGIN_STRUCTLEAK_BYREF_ALL, it gets worse again because large stack
    variables in the same function no longer overlap:
    
    drivers/staging/rtl8712/rtl871x_ioctl_linux.c: In function 'translate_scan.isra.2':
    drivers/staging/rtl8712/rtl871x_ioctl_linux.c:322:1: error: the frame size of 1200 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
    
    Split out the largest two blocks in the affected function into two
    separate functions and mark those noinline_for_stack.
    
    Fixes: 8c5af16f7953 ("staging: rtl8712: reduce stack usage")
    Fixes: 81a56f6dcd20 ("gcc-plugins: structleak: Generalize to all variable types")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b46475ecd9304aef278bd12c0731b4955789b698
Author: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date:   Sat Jun 29 14:48:23 2019 +0200

    staging: bcm2835-camera: Handle empty EOS buffers whilst streaming
    
    commit a26be06d6d96c10a9ab005e99d93fbb5d3babd98 upstream.
    
    The change to mapping V4L2 to MMAL buffers 1:1 didn't handle
    the condition we get with raw pixel buffers (eg YUV and RGB)
    direct from the camera's stills port. That sends the pixel buffer
    and then an empty buffer with the EOS flag set. The EOS buffer
    wasn't handled and returned an error up the stack.
    
    Handle the condition correctly by returning it to the component
    if streaming, or returning with an error if stopping streaming.
    
    Fixes: 938416707071 ("staging: bcm2835-camera: Remove V4L2/MMAL buffer remapping")
    Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
    Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
    Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Acked-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0ee144effcc34e36f3d6235090560f630703409d
Author: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date:   Sat Jun 29 14:13:30 2019 +0200

    staging: bcm2835-camera: Remove check of the number of buffers supplied
    
    commit bb8e97006d701ae725a177f8f322e5a75fa761b7 upstream.
    
    Before commit "staging: bcm2835-camera: Remove V4L2/MMAL buffer remapping"
    there was a need to ensure that there were sufficient buffers supplied from
    the user to cover those being sent to the VPU (always 1).
    
    Now the buffers are linked 1:1 between MMAL and V4L2,
    therefore there is no need for that check, and indeed it is wrong
    as there is no need to submit all the buffers before starting streaming.
    
    Fixes: 938416707071 ("staging: bcm2835-camera: Remove V4L2/MMAL buffer remapping")
    Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
    Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
    Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Acked-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit fcbc6ddcd624a08c99ba9f1ca09ee1947d665ea4
Author: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date:   Sat Jun 29 14:13:29 2019 +0200

    staging: bcm2835-camera: Ensure all buffers are returned on disable
    
    commit 70ec64ccdaac5d8f634338e33b016c1c99831499 upstream.
    
    With the recent change to match MMAL and V4L2 buffers there
    is a need to wait for all MMAL buffers to be returned during
    stop_streaming.
    
    Fixes: 938416707071 ("staging: bcm2835-camera: Remove V4L2/MMAL buffer remapping")
    Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
    Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
    Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Acked-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4502c43d7f3b3b849dd7230010ad26898b0588e8
Author: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date:   Sat Jun 29 14:13:17 2019 +0200

    staging: bcm2835-camera: Replace spinlock protecting context_map with mutex
    
    commit 8dedab2903f152aa3cee9ae3d57c828dea0d356e upstream.
    
    The commit "staging: bcm2835-camera: Replace open-coded idr with a struct idr."
    replaced an internal implementation of an idr with the standard functions
    and a spinlock. idr_alloc(GFP_KERNEL) can sleep whilst calling kmem_cache_alloc
    to allocate the new node, but this is not valid whilst in an atomic context
    due to the spinlock.
    
    There is no need for this to be a spinlock as a standard mutex is
    sufficient.
    
    Fixes: 950fd867c635 ("staging: bcm2835-camera: Replace open-coded idr with a struct idr.")
    Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
    Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
    Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Acked-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 22a20b9f6d9f6adb73e3334f861669bf2c55879c
Author: Colin Ian King <colin.king@canonical.com>
Date:   Sat Jun 8 12:50:31 2019 +0100

    staging: fsl-dpaa2/ethsw: fix memory leak of switchdev_work
    
    commit 5555ebbbac822b4fa28db2be15aaf98b3c21af26 upstream.
    
    In the default event case switchdev_work is being leaked because
    nothing is queued for work. Fix this by kfree'ing switchdev_work
    before returning NOTIFY_DONE.
    
    Addresses-Coverity: ("Resource leak")
    Fixes: 44baaa43d7cc ("staging: fsl-dpaa2/ethsw: Add Freescale DPAA2 Ethernet Switch driver")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cc396afa1959f8224a8289d57d8dd3dc9a3a745d
Author: Sean Young <sean@mess.org>
Date:   Fri Nov 16 16:09:39 2018 +0000

    MIPS: Remove superfluous check for __linux__
    
    commit 1287533d3d95d5ad8b02773733044500b1be06bc upstream.
    
    When building BPF code using "clang -target bpf -c", clang does not
    define __linux__.
    
    To build BPF IR decoders the include linux/lirc.h is needed which
    includes linux/types.h. Currently this workaround is needed:
    
    https://git.linuxtv.org/v4l-utils.git/commit/?id=dd3ff81f58c4e1e6f33765dc61ad33c48ae6bb07
    
    This check might otherwise be useful to stop users from using a non-linux
    compiler, but if you're doing that you are going to have a lot more
    trouble anyway.
    
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Paul Burton <paul.burton@mips.com>
    Patchwork: https://patchwork.linux-mips.org/patch/21149/
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: James Hogan <jhogan@kernel.org>
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Hauke Mehrtens <hauke@hauke-m.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d202b5adccfb093c4859d67ec74d5f3fb9fcfc54
Author: Vishnu DASA <vdasa@vmware.com>
Date:   Fri May 24 15:13:10 2019 +0000

    VMCI: Fix integer overflow in VMCI handle arrays
    
    commit 1c2eb5b2853c9f513690ba6b71072d8eb65da16a upstream.
    
    The VMCI handle array has an integer overflow in
    vmci_handle_arr_append_entry when it tries to expand the array. This can be
    triggered from a guest, since the doorbell link hypercall doesn't impose a
    limit on the number of doorbell handles that a VM can create in the
    hypervisor, and these handles are stored in a handle array.
    
    In this change, we introduce a mandatory max capacity for handle
    arrays/lists to avoid excessive memory usage.
    
    Signed-off-by: Vishnu Dasa <vdasa@vmware.com>
    Reviewed-by: Adit Ranadive <aditr@vmware.com>
    Reviewed-by: Jorgen Hansen <jhansen@vmware.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 486c32325caac9ebd5ab6da9bf27413e88592ee9
Author: Christian Lamparter <chunkeey@gmail.com>
Date:   Sat Jun 8 16:49:47 2019 +0200

    carl9170: fix misuse of device driver API
    
    commit feb09b2933275a70917a869989ea2823e7356be8 upstream.
    
    This patch follows Alan Stern's recent patch:
    "p54: Fix race between disconnect and firmware loading"
    
    that overhauled carl9170 buggy firmware loading and driver
    unbinding procedures.
    
    Since the carl9170 code was adapted from p54 it uses the
    same functions and is likely to have the same problem, but
    it's just that the syzbot hasn't reproduce them (yet).
    
    a summary from the changes (copied from the p54 patch):
     * Call usb_driver_release_interface() rather than
       device_release_driver().
    
     * Lock udev (the interface's parent) before unbinding the
       driver instead of locking udev->parent.
    
     * During the firmware loading process, take a reference
       to the USB interface instead of the USB device.
    
     * Don't take an unnecessary reference to the device during
       probe (and then don't drop it during disconnect).
    
    and
    
     * Make sure to prevent use-after-free bugs by explicitly
       setting the driver context to NULL after signaling the
       completion.
    
    Cc: <stable@vger.kernel.org>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 524ad00e80b7b1138e933a3dc62e67cb25baadc6
Author: Todd Kjos <tkjos@android.com>
Date:   Fri Jun 21 10:54:15 2019 -0700

    binder: fix memory leak in error path
    
    commit 1909a671dbc3606685b1daf8b22a16f65ea7edda upstream.
    
    syzkallar found a 32-byte memory leak in a rarely executed error
    case. The transaction complete work item was not freed if put_user()
    failed when writing the BR_TRANSACTION_COMPLETE to the user command
    buffer. Fixed by freeing it before put_user() is called.
    
    Reported-by: syzbot+182ce46596c3f2e1eb24@syzkaller.appspotmail.com
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 294b893a41cd031394d734524bc1eebbef0707cd
Author: Nick Desaulniers <ndesaulniers@google.com>
Date:   Wed May 15 11:24:41 2019 -0700

    lkdtm: support llvm-objcopy
    
    commit e9e08a07385e08f1a7f85c5d1e345c21c9564963 upstream.
    
    With CONFIG_LKDTM=y and make OBJCOPY=llvm-objcopy, llvm-objcopy errors:
    llvm-objcopy: error: --set-section-flags=.text conflicts with
    --rename-section=.text=.rodata
    
    Rather than support setting flags then renaming sections vs renaming
    then setting flags, it's simpler to just change both at the same time
    via --rename-section. Adding the load flag is required for GNU objcopy
    to mark .rodata Type as PROGBITS after the rename.
    
    This can be verified with:
    $ readelf -S drivers/misc/lkdtm/rodata_objcopy.o
    ...
    Section Headers:
      [Nr] Name              Type             Address           Offset
           Size              EntSize          Flags  Link  Info  Align
    ...
      [ 1] .rodata           PROGBITS         0000000000000000  00000040
           0000000000000004  0000000000000000   A       0     0     4
    ...
    
    Which shows that .text is now renamed .rodata, the alloc flag A is set,
    the type is PROGBITS, and the section is not flagged as writeable W.
    
    Cc: stable@vger.kernel.org
    Link: https://sourceware.org/bugzilla/show_bug.cgi?id=24554
    Link: https://github.com/ClangBuiltLinux/linux/issues/448
    Reported-by: Nathan Chancellor <natechancellor@gmail.com>
    Suggested-by: Alan Modra <amodra@gmail.com>
    Suggested-by: Jordan Rupprect <rupprecht@google.com>
    Suggested-by: Kees Cook <keescook@chromium.org>
    Acked-by: Kees Cook <keescook@chromium.org>
    Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5c90a2ecd08a53bcfd45dc219876573821b33265
Author: Sebastian Parschauer <s.parschauer@gmx.de>
Date:   Mon Jul 1 07:48:17 2019 +0200

    HID: Add another Primax PIXART OEM mouse quirk
    
    commit 4c12954965fdf33d8ae3883c1931fc29ca023cfb upstream.
    
    The PixArt OEM mice are known for disconnecting every minute in
    runlevel 1 or 3 if they are not always polled. So add quirk
    ALWAYS_POLL for this Alienware branded Primax mouse as well.
    
    Daniel Schepler (@dschepler) reported and tested the quirk.
    Reference: https://github.com/sriemer/fix-linux-mouse/issues/15
    
    Signed-off-by: Sebastian Parschauer <s.parschauer@gmx.de>
    CC: stable@vger.kernel.org
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c04c751bef8784347ccafeab01e109354240164b
Author: Ian Abbott <abbotti@mev.co.uk>
Date:   Wed Jun 26 14:17:39 2019 +0100

    staging: comedi: amplc_pci230: fix null pointer deref on interrupt
    
    commit 7379e6baeddf580d01feca650ec1ad508b6ea8ee upstream.
    
    The interrupt handler `pci230_interrupt()` causes a null pointer
    dereference for a PCI260 card.  There is no analog output subdevice for
    a PCI260.  The `dev->write_subdev` subdevice pointer and therefore the
    `s_ao` subdevice pointer variable will be `NULL` for a PCI260.  The
    following call near the end of the interrupt handler results in the null
    pointer dereference for a PCI260:
    
            comedi_handle_events(dev, s_ao);
    
    Fix it by only calling the above function if `s_ao` is valid.
    
    Note that the other uses of `s_ao` in the calls
    `pci230_handle_ao_nofifo(dev, s_ao);` and `pci230_handle_ao_fifo(dev,
    s_ao);` will never be reached for a PCI260, so they are safe.
    
    Fixes: 39064f23284c ("staging: comedi: amplc_pci230: use comedi_handle_events()")
    Cc: <stable@vger.kernel.org> # v3.19+
    Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4e49c6c91c18330409bd5181ccf73c6382e72c0b
Author: Ian Abbott <abbotti@mev.co.uk>
Date:   Wed Jun 26 14:18:04 2019 +0100

    staging: comedi: dt282x: fix a null pointer deref on interrupt
    
    commit b8336be66dec06bef518030a0df9847122053ec5 upstream.
    
    The interrupt handler `dt282x_interrupt()` causes a null pointer
    dereference for those supported boards that have no analog output
    support.  For these boards, `dev->write_subdev` will be `NULL` and
    therefore the `s_ao` subdevice pointer variable will be `NULL`.  In that
    case, the following call near the end of the interrupt handler results
    in a null pointer dereference:
    
            comedi_handle_events(dev, s_ao);
    
    Fix it by only calling the above function if `s_ao` is valid.
    
    (There are other uses of `s_ao` by the interrupt handler that may or may
    not be reached depending on values of hardware registers.  Trust that
    they are reliable for now.)
    
    Note:
    commit 4f6f009b204f ("staging: comedi: dt282x: use comedi_handle_events()")
    propagates an earlier error from
    commit f21c74fa4cfe ("staging: comedi: dt282x: use cfc_handle_events()").
    
    Fixes: 4f6f009b204f ("staging: comedi: dt282x: use comedi_handle_events()")
    Cc: <stable@vger.kernel.org> # v3.19+
    Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8419fd562a091a1d6a69caa63cfff34510b4f474
Author: Nikolaus Voss <nikolaus.voss@loewensteinmedical.de>
Date:   Fri Jun 28 11:01:09 2019 +0200

    drivers/usb/typec/tps6598x.c: fix 4CC cmd write
    
    commit 2681795b5e7a5bf336537661010072f4c22cea31 upstream.
    
    Writing 4CC commands with tps6598x_write_4cc() already has
    a pointer arg, don't reference it when using as arg to
    tps6598x_block_write(). Correcting this enforces the constness
    of the pointer to propagate to tps6598x_block_write(), so add
    the const qualifier there to avoid the warning.
    
    Fixes: 0a4c005bd171 ("usb: typec: driver for TI TPS6598x USB Power Delivery controllers")
    Signed-off-by: Nikolaus Voss <nikolaus.voss@loewensteinmedical.de>
    Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 63b3028cd590d86f0e4c3309875939d2b8c3054d
Author: Nikolaus Voss <nikolaus.voss@loewensteinmedical.de>
Date:   Fri Jun 28 11:01:08 2019 +0200

    drivers/usb/typec/tps6598x.c: fix portinfo width
    
    commit 05da75fc651138e51ff74ace97174349910463f5 upstream.
    
    Portinfo bit field is 3 bits wide, not 2 bits. This led to
    a wrong driver configuration for some tps6598x configurations.
    
    Fixes: 0a4c005bd171 ("usb: typec: driver for TI TPS6598x USB Power Delivery controllers")
    Signed-off-by: Nikolaus Voss <nikolaus.voss@loewensteinmedical.de>
    Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 57e16e0d8c6861ae0e24bf9943666ce5cac9900e
Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Date:   Wed Jun 26 22:06:33 2019 +0900

    usb: renesas_usbhs: add a workaround for a race condition of workqueue
    
    commit b2357839c56ab7d06bcd4e866ebc2d0e2b7997f3 upstream.
    
    The old commit 6e4b74e4690d ("usb: renesas: fix scheduling in atomic
    context bug") fixed an atomic issue by using workqueue for the shdmac
    dmaengine driver. However, this has a potential race condition issue
    between the work pending and usbhsg_ep_free_request() in gadget mode.
    When usbhsg_ep_free_request() is called while pending the queue,
    since the work_struct will be freed and then the work handler is
    called, kernel panic happens on process_one_work().
    
    To fix the issue, if we could call cancel_work_sync() at somewhere
    before the free request, it could be easy. However,
    the usbhsg_ep_free_request() is called on atomic (e.g. f_ncm driver
    calls free request via gether_disconnect()).
    
    For now, almost all users are having "USB-DMAC" and the DMAengine
    driver can be used on atomic. So, this patch adds a workaround for
    a race condition to call the DMAengine APIs without the workqueue.
    
    This means we still have TODO on shdmac environment (SH7724), but
    since it doesn't have SMP, the race condition might not happen.
    
    Fixes: ab330cf3888d ("usb: renesas_usbhs: add support for USB-DMAC")
    Cc: <stable@vger.kernel.org> # v4.1+
    Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit aa9a8038ea8b02ccf821f6eeed6b2808716cf41e
Author: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Date:   Thu Jun 20 19:50:22 2019 +0200

    usb: dwc2: use a longer AHB idle timeout in dwc2_core_reset()
    
    commit dfc4fdebc5d62ac4e2fe5428e59b273675515fb2 upstream.
    
    Use a 10000us AHB idle timeout in dwc2_core_reset() and make it
    consistent with the other "wait for AHB master IDLE state" ocurrences.
    
    This fixes a problem for me where dwc2 would not want to initialize when
    updating to 4.19 on a MIPS Lantiq VRX200 SoC. dwc2 worked fine with
    4.14.
    Testing on my board shows that it takes 180us until AHB master IDLE
    state is signalled. The very old vendor driver for this SoC (ifxhcd)
    used a 1 second timeout.
    Use the same timeout that is used everywhere when polling for
    GRSTCTL_AHBIDLE instead of using a timeout that "works for one board"
    (180us in my case) to have consistent behavior across the dwc2 driver.
    
    Cc: linux-stable <stable@vger.kernel.org> # 4.19+
    Acked-by: Minas Harutyunyan <hminas@synopsys.com>
    Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cac4a04202fbfe1845f0bd6e4fa4d6977b366eee
Author: Kiruthika Varadarajan <Kiruthika.Varadarajan@harman.com>
Date:   Tue Jun 18 08:39:06 2019 +0000

    usb: gadget: ether: Fix race between gether_disconnect and rx_submit
    
    commit d29fcf7078bc8be2b6366cbd4418265b53c94fac upstream.
    
    On spin lock release in rx_submit, gether_disconnect get a chance to
    run, it makes port_usb NULL, rx_submit access NULL port USB, hence null
    pointer crash.
    
    Fixed by releasing the lock in rx_submit after port_usb is used.
    
    Fixes: 2b3d942c4878 ("usb ethernet gadget: split out network core")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Kiruthika Varadarajan <Kiruthika.Varadarajan@harman.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 449a8d08a4bc45101fa26e6d233b98258d33620a
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Mon May 20 10:44:21 2019 -0400

    p54usb: Fix race between disconnect and firmware loading
    
    commit 6e41e2257f1094acc37618bf6c856115374c6922 upstream.
    
    The syzbot fuzzer found a bug in the p54 USB wireless driver.  The
    issue involves a race between disconnect and the firmware-loader
    callback routine, and it has several aspects.
    
    One big problem is that when the firmware can't be loaded, the
    callback routine tries to unbind the driver from the USB _device_ (by
    calling device_release_driver) instead of from the USB _interface_ to
    which it is actually bound (by calling usb_driver_release_interface).
    
    The race involves access to the private data structure.  The driver's
    disconnect handler waits for a completion that is signalled by the
    firmware-loader callback routine.  As soon as the completion is
    signalled, you have to assume that the private data structure may have
    been deallocated by the disconnect handler -- even if the firmware was
    loaded without errors.  However, the callback routine does access the
    private data several times after that point.
    
    Another problem is that, in order to ensure that the USB device
    structure hasn't been freed when the callback routine runs, the driver
    takes a reference to it.  This isn't good enough any more, because now
    that the callback routine calls usb_driver_release_interface, it has
    to ensure that the interface structure hasn't been freed.
    
    Finally, the driver takes an unnecessary reference to the USB device
    structure in the probe function and drops the reference in the
    disconnect handler.  This extra reference doesn't accomplish anything,
    because the USB core already guarantees that a device structure won't
    be deallocated while a driver is still bound to any of its interfaces.
    
    To fix these problems, this patch makes the following changes:
    
            Call usb_driver_release_interface() rather than
            device_release_driver().
    
            Don't signal the completion until after the important
            information has been copied out of the private data structure,
            and don't refer to the private data at all thereafter.
    
            Lock udev (the interface's parent) before unbinding the driver
            instead of locking udev->parent.
    
            During the firmware loading process, take a reference to the
            USB interface instead of the USB device.
    
            Don't take an unnecessary reference to the device during probe
            (and then don't drop it during disconnect).
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Reported-and-tested-by: syzbot+200d4bb11b23d929335f@syzkaller.appspotmail.com
    CC: <stable@vger.kernel.org>
    Acked-by: Christian Lamparter <chunkeey@gmail.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 135d9ba3b285b9e42d21e0928dba4b05d24087c8
Author: Oliver Barta <o.barta89@gmail.com>
Date:   Wed Jun 19 10:16:39 2019 +0200

    Revert "serial: 8250: Don't service RX FIFO if interrupts are disabled"
    
    commit 3f2640ed7be838c3f05c0d2b0f7c7508e7431e48 upstream.
    
    This reverts commit 2e9fe539108320820016f78ca7704a7342788380.
    
    Reading LSR unconditionally but processing the error flags only if
    UART_IIR_RDI bit was set before in IIR may lead to a loss of transmission
    error information on UARTs where the transmission error flags are cleared
    by a read of LSR. Information are lost in case an error is detected right
    before the read of LSR while processing e.g. an UART_IIR_THRI interrupt.
    
    Signed-off-by: Oliver Barta <o.barta89@gmail.com>
    Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Fixes: 2e9fe5391083 ("serial: 8250: Don't service RX FIFO if interrupts are disabled")
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0891268f36a21693df090e40a9f5fd9bae2e4eb9
Author: Jörgen Storvist <jorgen.storvist@gmail.com>
Date:   Wed Jun 19 00:30:19 2019 +0200

    USB: serial: option: add support for GosunCn ME3630 RNDIS mode
    
    commit aed2a26283528fb69c38e414f649411aa48fb391 upstream.
    
    Added USB IDs for GosunCn ME3630 cellular module in RNDIS mode.
    
    T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=03 Dev#= 18 Spd=480 MxCh= 0
    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=19d2 ProdID=0601 Rev=03.18
    S:  Manufacturer=Android
    S:  Product=Android
    S:  SerialNumber=b950269c
    C:  #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:  If#=0x0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host
    I:  If#=0x1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host
    I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
    I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
    
    Signed-off-by: Jörgen Storvist <jorgen.storvist@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0a1c811bf03356ae675e281641e7d5d2efa98309
Author: Andreas Fritiofson <andreas.fritiofson@unjo.com>
Date:   Fri Jun 28 15:08:34 2019 +0200

    USB: serial: ftdi_sio: add ID for isodebug v1
    
    commit f8377eff548170e8ea8022c067a1fbdf9e1c46a8 upstream.
    
    This adds the vid:pid of the isodebug v1 isolated JTAG/SWD+UART. Only the
    second channel is available for use as a serial port.
    
    Signed-off-by: Andreas Fritiofson <andreas.fritiofson@unjo.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bb902b6c87ff5cba404a1464c084564d9c1ff4e2
Author: Brian Norris <briannorris@chromium.org>
Date:   Fri Jun 14 17:13:20 2019 -0700

    mwifiex: Don't abort on small, spec-compliant vendor IEs
    
    commit 63d7ef36103d26f20325a921ecc96a3288560146 upstream.
    
    Per the 802.11 specification, vendor IEs are (at minimum) only required
    to contain an OUI. A type field is also included in ieee80211.h (struct
    ieee80211_vendor_ie) but doesn't appear in the specification. The
    remaining fields (subtype, version) are a convention used in WMM
    headers.
    
    Thus, we should not reject vendor-specific IEs that have only the
    minimum length (3 bytes) -- we should skip over them (since we only want
    to match longer IEs, that match either WMM or WPA formats). We can
    reject elements that don't have the minimum-required 3 byte OUI.
    
    While we're at it, move the non-standard subtype and version fields into
    the WMM structs, to avoid this confusion in the future about generic
    "vendor header" attributes.
    
    Fixes: 685c9b7750bf ("mwifiex: Abort at too short BSS descriptor element")
    Cc: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Brian Norris <briannorris@chromium.org>
    Reviewed-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ffbbd626e1ced4523910838affced14594574235
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed May 29 14:52:20 2019 +0200

    mwifiex: Abort at too short BSS descriptor element
    
    commit 685c9b7750bfacd6fc1db50d86579980593b7869 upstream.
    
    Currently mwifiex_update_bss_desc_with_ie() implicitly assumes that
    the source descriptor entries contain the enough size for each type
    and performs copying without checking the source size.  This may lead
    to read over boundary.
    
    Fix this by putting the source size check in appropriate places.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a2a24b57c27ab039122d447940be7d346f9bbdaf
Author: Andy Lutomirski <luto@kernel.org>
Date:   Wed Jun 26 21:45:02 2019 -0700

    Documentation/admin: Remove the vsyscall=native documentation
    
    commit d974ffcfb7447db5f29a4b662a3eaf99a4e1109e upstream.
    
    The vsyscall=native feature is gone -- remove the docs.
    
    Fixes: 076ca272a14c ("x86/vsyscall/64: Drop "native" vsyscalls")
    Signed-off-by: Andy Lutomirski <luto@kernel.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Kees Cook <keescook@chromium.org>
    Cc: Florian Weimer <fweimer@redhat.com>
    Cc: Jann Horn <jannh@google.com>
    Cc: stable@vger.kernel.org
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Kernel Hardening <kernel-hardening@lists.openwall.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/d77c7105eb4c57c1a95a95b6a5b8ba194a18e764.1561610354.git.luto@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8a815007f5fe292fa8ef082663e1259b9ae0571b
Author: Tim Chen <tim.c.chen@linux.intel.com>
Date:   Thu Jun 20 16:10:50 2019 -0700

    Documentation: Add section about CPU vulnerabilities for Spectre
    
    commit 6e88559470f581741bcd0f2794f9054814ac9740 upstream.
    
    Add documentation for Spectre vulnerability and the mitigation mechanisms:
    
    - Explain the problem and risks
    - Document the mitigation mechanisms
    - Document the command line controls
    - Document the sysfs files
    
    Co-developed-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Co-developed-by: Tim Chen <tim.c.chen@linux.intel.com>
    Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
    Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
    Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: stable@vger.kernel.org
    Signed-off-by: Jonathan Corbet <corbet@lwn.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit bd9604022eb36742cca4feb02e7d3d50a49f0993
Author: Dianzhang Chen <dianzhangchen0@gmail.com>
Date:   Wed Jun 26 12:50:30 2019 +0800

    x86/tls: Fix possible spectre-v1 in do_get_thread_area()
    
    commit 993773d11d45c90cb1c6481c2638c3d9f092ea5b upstream.
    
    The index to access the threads tls array is controlled by userspace
    via syscall: sys_ptrace(), hence leading to a potential exploitation
    of the Spectre variant 1 vulnerability.
    
    The index can be controlled from:
            ptrace -> arch_ptrace -> do_get_thread_area.
    
    Fix this by sanitizing the user supplied index before using it to access
    the p->thread.tls_array.
    
    Signed-off-by: Dianzhang Chen <dianzhangchen0@gmail.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: bp@alien8.de
    Cc: hpa@zytor.com
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/1561524630-3642-1-git-send-email-dianzhangchen0@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 68ff28291a4f52861542f1387fe1d5b9cebd3851
Author: Dianzhang Chen <dianzhangchen0@gmail.com>
Date:   Tue Jun 25 23:30:17 2019 +0800

    x86/ptrace: Fix possible spectre-v1 in ptrace_get_debugreg()
    
    commit 31a2fbb390fee4231281b939e1979e810f945415 upstream.
    
    The index to access the threads ptrace_bps is controlled by userspace via
    syscall: sys_ptrace(), hence leading to a potential exploitation of the
    Spectre variant 1 vulnerability.
    
    The index can be controlled from:
        ptrace -> arch_ptrace -> ptrace_get_debugreg.
    
    Fix this by sanitizing the user supplied index before using it access
    thread->ptrace_bps.
    
    Signed-off-by: Dianzhang Chen <dianzhangchen0@gmail.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: bp@alien8.de
    Cc: hpa@zytor.com
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/1561476617-3759-1-git-send-email-dianzhangchen0@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d8e26651ce8d2dd4f87315642658b4e21f6471d1
Author: John Garry <john.garry@huawei.com>
Date:   Fri Jun 14 22:07:59 2019 +0800

    perf pmu: Fix uncore PMU alias list for ARM64
    
    commit 599ee18f0740d7661b8711249096db94c09bc508 upstream.
    
    In commit 292c34c10249 ("perf pmu: Fix core PMU alias list for X86
    platform"), we fixed the issue of CPU events being aliased to uncore
    events.
    
    Fix this same issue for ARM64, since the said commit left the (broken)
    behaviour untouched for ARM64.
    
    Signed-off-by: John Garry <john.garry@huawei.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ben Hutchings <ben@decadent.org.uk>
    Cc: Hendrik Brueckner <brueckner@linux.ibm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Shaokun Zhang <zhangshaokun@hisilicon.com>
    Cc: Thomas Richter <tmricht@linux.ibm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linuxarm@huawei.com
    Cc: stable@vger.kernel.org
    Fixes: 292c34c10249 ("perf pmu: Fix core PMU alias list for X86 platform")
    Link: http://lkml.kernel.org/r/1560521283-73314-2-git-send-email-john.garry@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 018524b7585265ad7a9ddce6a67beb4521b22499
Author: Douglas Anderson <dianders@chromium.org>
Date:   Thu Jun 27 21:44:09 2019 -0700

    block, bfq: NULL out the bic when it's no longer valid
    
    commit dbc3117d4ca9e17819ac73501e914b8422686750 upstream.
    
    In reboot tests on several devices we were seeing a "use after free"
    when slub_debug or KASAN was enabled.  The kernel complained about:
    
      Unable to handle kernel paging request at virtual address 6b6b6c2b
    
    ...which is a classic sign of use after free under slub_debug.  The
    stack crawl in kgdb looked like:
    
     0  test_bit (addr=<optimized out>, nr=<optimized out>)
     1  bfq_bfqq_busy (bfqq=<optimized out>)
     2  bfq_select_queue (bfqd=<optimized out>)
     3  __bfq_dispatch_request (hctx=<optimized out>)
     4  bfq_dispatch_request (hctx=<optimized out>)
     5  0xc056ef00 in blk_mq_do_dispatch_sched (hctx=0xed249440)
     6  0xc056f728 in blk_mq_sched_dispatch_requests (hctx=0xed249440)
     7  0xc0568d24 in __blk_mq_run_hw_queue (hctx=0xed249440)
     8  0xc0568d94 in blk_mq_run_work_fn (work=<optimized out>)
     9  0xc024c5c4 in process_one_work (worker=0xec6d4640, work=0xed249480)
     10 0xc024cff4 in worker_thread (__worker=0xec6d4640)
    
    Digging in kgdb, it could be found that, though bfqq looked fine,
    bfqq->bic had been freed.
    
    Through further digging, I postulated that perhaps it is illegal to
    access a "bic" (AKA an "icq") after bfq_exit_icq() had been called
    because the "bic" can be freed at some point in time after this call
    is made.  I confirmed that there certainly were cases where the exact
    crashing code path would access the "bic" after bfq_exit_icq() had
    been called.  Sspecifically I set the "bfqq->bic" to (void *)0x7 and
    saw that the bic was 0x7 at the time of the crash.
    
    To understand a bit more about why this crash was fairly uncommon (I
    saw it only once in a few hundred reboots), you can see that much of
    the time bfq_exit_icq_fbqq() fully frees the bfqq and thus it can't
    access the ->bic anymore.  The only case it doesn't is if
    bfq_put_queue() sees a reference still held.
    
    However, even in the case when bfqq isn't freed, the crash is still
    rare.  Why?  I tracked what happened to the "bic" after the exit
    routine.  It doesn't get freed right away.  Rather,
    put_io_context_active() eventually called put_io_context() which
    queued up freeing on a workqueue.  The freeing then actually happened
    later than that through call_rcu().  Despite all these delays, some
    extra debugging showed that all the hoops could be jumped through in
    time and the memory could be freed causing the original crash.  Phew!
    
    To make a long story short, assuming it truly is illegal to access an
    icq after the "exit_icq" callback is finished, this patch is needed.
    
    Cc: stable@vger.kernel.org
    Reviewed-by: Paolo Valente <paolo.valente@unimore.it>
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ff75e5f41e8811545d1ff216330088b59ae381e5
Author: Kailang Yang <kailang@realtek.com>
Date:   Thu Jul 4 16:02:10 2019 +0800

    ALSA: hda/realtek - Headphone Mic can't record after S3
    
    commit d07a9a4f66e944fcc900812cbc2f6817bde6a43d upstream.
    
    Dell headset mode platform with ALC236.
    It doesn't recording after system resume from S3.
    S3 mode was deep. s2idle was not has this issue.
    S3 deep will cut of codec power. So, the register will back to default
    after resume back.
    This patch will solve this issue.
    
    Signed-off-by: Kailang Yang <kailang@realtek.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 87c3262b00d88063d266b31752054e7b03a49102
Author: Takashi Iwai <tiwai@suse.de>
Date:   Thu Jul 4 16:31:12 2019 +0200

    ALSA: usb-audio: Fix parse of UAC2 Extension Units
    
    commit ca95c7bf3d29716916baccdc77c3c2284b703069 upstream.
    
    Extension Unit (XU) is used to have a compatible layout with
    Processing Unit (PU) on UAC1, and the usb-audio driver code assumed it
    for parsing the descriptors.  Meanwhile, on UAC2, XU became slightly
    incompatible with PU; namely, XU has a one-byte bmControls bitmap
    while PU has two bytes bmControls bitmap.  This incompatibility
    results in the read of a wrong address for the last iExtension field,
    which ended up with an incorrect string for the mixer element name, as
    recently reported for Focusrite Scarlett 18i20 device.
    
    This patch corrects this misalignment by introducing a couple of new
    macros and calling them depending on the descriptor type.
    
    Fixes: 23caaf19b11e ("ALSA: usb-mixer: Add support for Audio Class v2.0")
    Reported-by: Stefan Sauer <ensonic@hora-obscura.de>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ef374f5a2731ff76436061841898f915132b236b
Author: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Date:   Tue Jun 25 06:45:20 2019 -0400

    media: stv0297: fix frequency range limit
    
    commit b09a2ab2baeb36bf7ef7780405ad172281741c7c upstream.
    
    There was a typo at the lower frequency limit for a DVB-C
    card, causing the driver to fail while tuning channels at the
    VHF range.
    
    https://bugzilla.kernel.org/show_bug.cgi?id=202083
    
    Fixes: f1b1eabff0eb ("media: dvb: represent min/max/step/tolerance freqs in Hz")
    Reported-by: Ari Kohtamäki <ari.kohtamaki@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5db079eb0acd1b330f7ecfbf11c4359ac2bbf946
Author: Steven J. Magnani <steve.magnani@digidescorp.com>
Date:   Sun Jun 30 21:39:35 2019 -0500

    udf: Fix incorrect final NOT_ALLOCATED (hole) extent length
    
    commit fa33cdbf3eceb0206a4f844fe91aeebcf6ff2b7a upstream.
    
    In some cases, using the 'truncate' command to extend a UDF file results
    in a mismatch between the length of the file's extents (specifically, due
    to incorrect length of the final NOT_ALLOCATED extent) and the information
    (file) length. The discrepancy can prevent other operating systems
    (i.e., Windows 10) from opening the file.
    
    Two particular errors have been observed when extending a file:
    
    1. The final extent is larger than it should be, having been rounded up
       to a multiple of the block size.
    
    B. The final extent is not shorter than it should be, due to not having
       been updated when the file's information length was increased.
    
    [JK: simplified udf_do_extend_final_block(), fixed up some types]
    
    Fixes: 2c948b3f86e5 ("udf: Avoid IO in udf_clear_inode")
    CC: stable@vger.kernel.org
    Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
    Link: https://lore.kernel.org/r/1561948775-5878-1-git-send-email-steve@digidescorp.com
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0fc3e9b9b6039114f1446d97f6315de1c6365cd9
Author: Hongjie Fang <hongjiefang@asrmicro.com>
Date:   Wed May 22 10:02:53 2019 +0800

    fscrypt: don't set policy for a dead directory
    
    commit 5858bdad4d0d0fc18bf29f34c3ac836e0b59441f upstream.
    
    The directory may have been removed when entering
    fscrypt_ioctl_set_policy().  If so, the empty_dir() check will return
    error for ext4 file system.
    
    ext4_rmdir() sets i_size = 0, then ext4_empty_dir() reports an error
    because 'inode->i_size < EXT4_DIR_REC_LEN(1) + EXT4_DIR_REC_LEN(2)'.  If
    the fs is mounted with errors=panic, it will trigger a panic issue.
    
    Add the check IS_DEADDIR() to fix this problem.
    
    Fixes: 9bd8212f981e ("ext4 crypto: add encryption policy and password salt support")
    Cc: <stable@vger.kernel.org> # v4.1+
    Signed-off-by: Hongjie Fang <hongjiefang@asrmicro.com>
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e9f76b954336435243ef100e8c8ca20278f9feca
Author: Lin Yi <teroincn@163.com>
Date:   Mon Jun 10 10:16:56 2019 +0800

    net :sunrpc :clnt :Fix xps refcount imbalance on the error path
    
    [ Upstream commit b96226148491505318228ac52624956bd98f9e0c ]
    
    rpc_clnt_add_xprt take a reference to struct rpc_xprt_switch, but forget
    to release it before return, may lead to a memory leak.
    
    Signed-off-by: Lin Yi <teroincn@163.com>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 810cfc3d9d2e4b345ba7e5d6290b00562e9e0d27
Author: Benjamin Coddington <bcodding@redhat.com>
Date:   Fri Jun 7 06:37:30 2019 -0400

    NFS4: Only set creation opendata if O_CREAT
    
    [ Upstream commit 909105199a682cb09c500acd443d34b182846c9c ]
    
    We can end up in nfs4_opendata_alloc during task exit, in which case
    current->fs has already been cleaned up.  This leads to a crash in
    current_umask().
    
    Fix this by only setting creation opendata if we are actually doing an open
    with O_CREAT.  We can drop the check for NULL nfs4_open_createattrs, since
    O_CREAT will never be set for the recovery path.
    
    Suggested-by: Trond Myklebust <trondmy@hammerspace.com>
    Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7075654ce7d0db9aaf5326dea586c35a041f3428
Author: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Date:   Wed Jun 19 10:02:13 2019 +0000

    net: dsa: mv88e6xxx: fix shift of FID bits in mv88e6185_g1_vtu_loadpurge()
    
    [ Upstream commit 48620e341659f6e4b978ec229f6944dabe6df709 ]
    
    The comment is correct, but the code ends up moving the bits four
    places too far, into the VTUOp field.
    
    Fixes: 11ea809f1a74 (net: dsa: mv88e6xxx: support 256 databases)
    Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 606561e16186c56043649bf6bb88a5f02af3dfe4
Author: yangerkun <yangerkun@huawei.com>
Date:   Tue Mar 26 22:00:02 2019 +0800

    quota: fix a problem about transfer quota
    
    [ Upstream commit c6d9c35d16f1bafd3fec64b865e569e48cbcb514 ]
    
    Run below script as root, dquot_add_space will return -EDQUOT since
    __dquot_transfer call dquot_add_space with flags=0, and dquot_add_space
    think it's a preallocation. Fix it by set flags as DQUOT_SPACE_WARN.
    
    mkfs.ext4 -O quota,project /dev/vdb
    mount -o prjquota /dev/vdb /mnt
    setquota -P 23 1 1 0 0 /dev/vdb
    dd if=/dev/zero of=/mnt/test-file bs=4K count=1
    chattr -p 23 test-file
    
    Fixes: 7b9ca4c61bc2 ("quota: Reduce contention on dq_data_lock")
    Signed-off-by: yangerkun <yangerkun@huawei.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5ad566af08c15c07a78ca4ba26c6caeeed8d6ef6
Author: Nilesh Javali <njavali@marvell.com>
Date:   Wed Jun 12 01:05:41 2019 -0700

    scsi: qedi: Check targetname while finding boot target information
    
    [ Upstream commit 1ac3549ed58cdfdaf43bbf31ac260e2381cc0dae ]
    
    The kernel panic was observed during iSCSI discovery via offload with below
    call trace,
    
    [ 2115.646901] BUG: unable to handle kernel NULL pointer dereference at (null)
    [ 2115.646909] IP: [<ffffffffacf7f0cc>] strncmp+0xc/0x60
    [ 2115.646927] PGD 0
    [ 2115.646932] Oops: 0000 [#1] SMP
    [ 2115.647107] CPU: 24 PID: 264 Comm: kworker/24:1 Kdump: loaded Tainted: G
                   OE  ------------   3.10.0-957.el7.x86_64 #1
    [ 2115.647133] Workqueue: slowpath-13:00. qed_slowpath_task [qed]
    [ 2115.647135] task: ffff8d66af80b0c0 ti: ffff8d66afb80000 task.ti: ffff8d66afb80000
    [ 2115.647136] RIP: 0010:[<ffffffffacf7f0cc>]  [<ffffffffacf7f0cc>] strncmp+0xc/0x60
    [ 2115.647141] RSP: 0018:ffff8d66afb83c68  EFLAGS: 00010206
    [ 2115.647143] RAX: 0000000000000001 RBX: 0000000000000007 RCX: 000000000000000a
    [ 2115.647144] RDX: 0000000000000100 RSI: 0000000000000000 RDI: ffff8d632b3ba040
    [ 2115.647145] RBP: ffff8d66afb83c68 R08: 0000000000000000 R09: 000000000000ffff
    [ 2115.647147] R10: 0000000000000007 R11: 0000000000000800 R12: ffff8d66a30007a0
    [ 2115.647148] R13: ffff8d66747a3c10 R14: ffff8d632b3ba000 R15: ffff8d66747a32f8
    [ 2115.647149] FS:  0000000000000000(0000) GS:ffff8d66aff00000(0000) knlGS:0000000000000000
    [ 2115.647151] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 2115.647152] CR2: 0000000000000000 CR3: 0000000509610000 CR4: 00000000007607e0
    [ 2115.647153] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 2115.647154] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [ 2115.647155] PKRU: 00000000
    [ 2115.647157] Call Trace:
    [ 2115.647165]  [<ffffffffc0634cc5>] qedi_get_protocol_tlv_data+0x2c5/0x510 [qedi]
    [ 2115.647184]  [<ffffffffc05968f5>] ? qed_mfw_process_tlv_req+0x245/0xbe0 [qed]
    [ 2115.647195]  [<ffffffffc05496cb>] qed_mfw_fill_tlv_data+0x4b/0xb0 [qed]
    [ 2115.647206]  [<ffffffffc0596911>] qed_mfw_process_tlv_req+0x261/0xbe0 [qed]
    [ 2115.647215]  [<ffffffffacce0e8e>] ? dequeue_task_fair+0x41e/0x660
    [ 2115.647221]  [<ffffffffacc2a59e>] ? __switch_to+0xce/0x580
    [ 2115.647230]  [<ffffffffc0546013>] qed_slowpath_task+0xa3/0x160 [qed]
    [ 2115.647278] RIP  [<ffffffffacf7f0cc>] strncmp+0xc/0x60
    
    Fix kernel panic by validating the session targetname before providing TLV
    data and confirming the presence of boot targets.
    
    Signed-off-by: Nilesh Javali <njavali@marvell.com>
    Reviewed-by: Lee Duncan <lduncan@suse.com>
    Reviewed-by: Chris Leech <cleech@redhat.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 37232abb6ea3a7a132692eab07bea5a19a729756
Author: Colin Ian King <colin.king@canonical.com>
Date:   Mon Jun 17 17:12:49 2019 +0100

    net: lio_core: fix potential sign-extension overflow on large shift
    
    [ Upstream commit 9476274093a0e79b905f4cd6cf6d149f65e02c17 ]
    
    Left shifting the signed int value 1 by 31 bits has undefined behaviour
    and the shift amount oq_no can be as much as 63.  Fix this by using
    BIT_ULL(oq_no) instead.
    
    Addresses-Coverity: ("Bad shift operation")
    Fixes: f21fb3ed364b ("Add support of Cavium Liquidio ethernet adapters")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 740b2ac495187f33e7ad7c216382ef171150d358
Author: Xin Long <lucien.xin@gmail.com>
Date:   Mon Jun 17 21:34:14 2019 +0800

    ip6_tunnel: allow not to count pkts on tstats by passing dev as NULL
    
    [ Upstream commit 6f6a8622057c92408930c31698394fae1557b188 ]
    
    A similar fix to Patch "ip_tunnel: allow not to count pkts on tstats by
    setting skb's dev to NULL" is also needed by ip6_tunnel.
    
    Signed-off-by: Xin Long <lucien.xin@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a02ac12d2d4844de77f876e96b93ec3f2226af6a
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Tue Jun 18 16:18:43 2019 +0300

    drm: return -EFAULT if copy_to_user() fails
    
    [ Upstream commit 74b67efa8d7b4f90137f0ab9a80dd319da050350 ]
    
    The copy_from_user() function returns the number of bytes remaining
    to be copied but we want to return a negative error code.  Otherwise
    the callers treat it as a successful copy.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Sean Paul <seanpaul@chromium.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190618131843.GA29463@mwanda
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4c938a635fc37906761c72d70ebd00c54e497499
Author: Mauro S. M. Rodrigues <maurosr@linux.vnet.ibm.com>
Date:   Thu Jun 13 16:25:40 2019 -0300

    bnx2x: Check if transceiver implements DDM before access
    
    [ Upstream commit cf18cecca911c0db96b868072665347efe6df46f ]
    
    Some transceivers may comply with SFF-8472 even though they do not
    implement the Digital Diagnostic Monitoring (DDM) interface described in
    the spec. The existence of such area is specified by the 6th bit of byte
    92, set to 1 if implemented.
    
    Currently, without checking this bit, bnx2x fails trying to read sfp
    module's EEPROM with the follow message:
    
    ethtool -m enP5p1s0f1
    Cannot get Module EEPROM data: Input/output error
    
    Because it fails to read the additional 256 bytes in which it is assumed
    to exist the DDM data.
    
    This issue was noticed using a Mellanox Passive DAC PN 01FT738. The EEPROM
    data was confirmed by Mellanox as correct and similar to other Passive
    DACs from other manufacturers.
    
    Signed-off-by: Mauro S. M. Rodrigues <maurosr@linux.vnet.ibm.com>
    Acked-by: Sudarsana Reddy Kalluru <skalluru@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 270ae00a0346b7cf9d55d4d2d3a53e09f49c2ddb
Author: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com>
Date:   Thu Jun 13 16:11:41 2019 +0200

    md: fix for divide error in status_resync
    
    [ Upstream commit 9642fa73d073527b0cbc337cc17a47d545d82cd2 ]
    
    Stopping external metadata arrays during resync/recovery causes
    retries, loop of interrupting and starting reconstruction, until it
    hit at good moment to stop completely. While these retries
    curr_mark_cnt can be small- especially on HDD drives, so subtraction
    result can be smaller than 0. However it is casted to uint without
    checking. As a result of it the status bar in /proc/mdstat while stopping
    is strange (it jumps between 0% and 99%).
    
    The real problem occurs here after commit 72deb455b5ec ("block: remove
    CONFIG_LBDAF"). Sector_div() macro has been changed, now the
    divisor is casted to uint32. For db = -8 the divisior(db/32-1) becomes 0.
    
    Check if db value can be really counted and replace these macro by
    div64_u64() inline.
    
    Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com>
    Signed-off-by: Song Liu <songliubraving@fb.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5533d9ed4112cf687ac6ff953a5fdb01e9a45bbf
Author: Wolfram Sang <wsa+renesas@sang-engineering.com>
Date:   Tue Jun 11 22:03:43 2019 +0200

    mmc: core: complete HS400 before checking status
    
    [ Upstream commit b0e370b95a3b231d0fb5d1958cce85ef57196fe6 ]
    
    We don't have a reproducible error case, yet our BSP team suggested that
    the mmc_switch_status() command in mmc_select_hs400() should come after
    the callback into the driver completing HS400 setup. It makes sense to
    me because we want the status of a fully setup HS400, so it will
    increase the reliability of the mmc_switch_status() command.
    
    Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
    Fixes: ba6c7ac3a2f4 ("mmc: core: more fine-grained hooks for HS400 tuning")
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2da80536f62910412549fc461851b4d3b860f617
Author: Reinhard Speyerer <rspmn@arcor.de>
Date:   Wed Jun 12 19:03:50 2019 +0200

    qmi_wwan: extend permitted QMAP mux_id value range
    
    [ Upstream commit 36815b416fa48766ac5a98e4b2dc3ebc5887222e ]
    
    Permit mux_id values up to 254 to be used in qmimux_register_device()
    for compatibility with ip(8) and the rmnet driver.
    
    Fixes: c6adf77953bc ("net: usb: qmi_wwan: add qmap mux protocol support")
    Cc: Daniele Palmas <dnlplm@gmail.com>
    Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dc84e98393f73fc22bae6f0cc2c95b14f9d62b05
Author: Reinhard Speyerer <rspmn@arcor.de>
Date:   Wed Jun 12 19:03:15 2019 +0200

    qmi_wwan: avoid RCU stalls on device disconnect when in QMAP mode
    
    [ Upstream commit a8fdde1cb830e560208af42b6c10750137f53eb3 ]
    
    Switch qmimux_unregister_device() and qmi_wwan_disconnect() to
    use unregister_netdevice_queue() and unregister_netdevice_many()
    instead of unregister_netdevice(). This avoids RCU stalls which
    have been observed on device disconnect in certain setups otherwise.
    
    Fixes: c6adf77953bc ("net: usb: qmi_wwan: add qmap mux protocol support")
    Cc: Daniele Palmas <dnlplm@gmail.com>
    Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dbc6a83cf2bc7be522178948f3671cdafa28e90a
Author: Reinhard Speyerer <rspmn@arcor.de>
Date:   Wed Jun 12 19:02:13 2019 +0200

    qmi_wwan: add support for QMAP padding in the RX path
    
    [ Upstream commit 61356088ace1866a847a727d4d40da7bf00b67fc ]
    
    The QMAP code in the qmi_wwan driver is based on the CodeAurora GobiNet
    driver which does not process QMAP padding in the RX path correctly.
    Add support for QMAP padding to qmimux_rx_fixup() according to the
    description of the rmnet driver.
    
    Fixes: c6adf77953bc ("net: usb: qmi_wwan: add qmap mux protocol support")
    Cc: Daniele Palmas <dnlplm@gmail.com>
    Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 292ba5b1faf4eb44e2f72c8d1651040bc98a1949
Author: Alexei Starovoitov <ast@kernel.org>
Date:   Fri Jun 14 15:43:28 2019 -0700

    bpf, x64: fix stack layout of JITed bpf code
    
    [ Upstream commit fe8d9571dc50232b569242fac7ea6332a654f186 ]
    
    Since commit 177366bf7ceb the %rbp stopped pointing to %rbp of the
    previous stack frame. That broke frame pointer based stack unwinding.
    This commit is a partial revert of it.
    Note that the location of tail_call_cnt is fixed, since the verifier
    enforces MAX_BPF_STACK stack size for programs with tail calls.
    
    Fixes: 177366bf7ceb ("bpf: change x86 JITed program stack layout")
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4c2ce7addda888c17db7625a07e79b24fdce6211
Author: Toshiaki Makita <toshiaki.makita1@gmail.com>
Date:   Fri Jun 14 17:20:15 2019 +0900

    bpf, devmap: Add missing RCU read lock on flush
    
    [ Upstream commit 86723c8640633bee4b4588d3c7784ee7a0032f65 ]
    
    .ndo_xdp_xmit() assumes it is called under RCU. For example virtio_net
    uses RCU to detect it has setup the resources for tx. The assumption
    accidentally broke when introducing bulk queue in devmap.
    
    Fixes: 5d053f9da431 ("bpf: devmap prepare xdp frames for bulking")
    Reported-by: David Ahern <dsahern@gmail.com>
    Signed-off-by: Toshiaki Makita <toshiaki.makita1@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ab44f8bcf2e5bc961fc182fa5db0aff81fe39726
Author: Toshiaki Makita <toshiaki.makita1@gmail.com>
Date:   Fri Jun 14 17:20:14 2019 +0900

    bpf, devmap: Add missing bulk queue free
    
    [ Upstream commit edabf4d9dd905acd60048ea1579943801e3a4876 ]
    
    dev_map_free() forgot to free bulk queue when freeing its entries.
    
    Fixes: 5d053f9da431 ("bpf: devmap prepare xdp frames for bulking")
    Signed-off-by: Toshiaki Makita <toshiaki.makita1@gmail.com>
    Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8d09e862103bc61dce7b71ea26eab31356d23d98
Author: Toshiaki Makita <toshiaki.makita1@gmail.com>
Date:   Fri Jun 14 17:20:13 2019 +0900

    bpf, devmap: Fix premature entry free on destroying map
    
    [ Upstream commit d4dd153d551634683fccf8881f606fa9f3dfa1ef ]
    
    dev_map_free() waits for flush_needed bitmap to be empty in order to
    ensure all flush operations have completed before freeing its entries.
    However the corresponding clear_bit() was called before using the
    entries, so the entries could be used after free.
    
    All access to the entries needs to be done before clearing the bit.
    It seems commit a5e2da6e9787 ("bpf: netdev is never null in
    __dev_map_flush") accidentally changed the clear_bit() and memory access
    order.
    
    Note that the problem happens only in __dev_map_flush(), not in
    dev_map_flush_old(). dev_map_flush_old() is called only after nulling
    out the corresponding netdev_map entry, so dev_map_free() never frees
    the entry thus no such race happens there.
    
    Fixes: a5e2da6e9787 ("bpf: netdev is never null in __dev_map_flush")
    Signed-off-by: Toshiaki Makita <toshiaki.makita1@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ba0afe520ee9c41670c30f9f4ea7669561dff1bb
Author: Naftali Goldstein <naftali.goldstein@intel.com>
Date:   Wed May 29 15:25:30 2019 +0300

    mac80211: do not start any work during reconfigure flow
    
    [ Upstream commit f8891461a277ec0afc493fd30cd975a38048a038 ]
    
    It is not a good idea to try to perform any work (e.g. send an auth
    frame) during reconfigure flow.
    
    Prevent this from happening, and at the end of the reconfigure flow
    requeue all the works.
    
    Signed-off-by: Naftali Goldstein <naftali.goldstein@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit de8cf2c0bc6414af3e27a2f33d27e1671cd2e5af
Author: Yibo Zhao <yiboz@codeaurora.org>
Date:   Fri Jun 14 19:01:52 2019 +0800

    mac80211: only warn once on chanctx_conf being NULL
    
    [ Upstream commit 563572340173865a9a356e6bb02579e6998a876d ]
    
    In multiple SSID cases, it takes time to prepare every AP interface
    to be ready in initializing phase. If a sta already knows everything it
    needs to join one of the APs and sends authentication to the AP which
    is not fully prepared at this point of time, AP's channel context
    could be NULL. As a result, warning message occurs.
    
    Even worse, if the AP is under attack via tools such as MDK3 and massive
    authentication requests are received in a very short time, console will
    be hung due to kernel warning messages.
    
    WARN_ON_ONCE() could be a better way for indicating warning messages
    without duplicate messages to flood the console.
    
    Johannes: We still need to address the underlying problem, but we
              don't really have a good handle on it yet. Suppress the
              worst side-effects for now.
    
    Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
    Signed-off-by: Yibo Zhao <yiboz@codeaurora.org>
    [johannes: add note, change subject]
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9c2dd6d4713173c7d50f666a50a0cfa24a9add94
Author: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Date:   Fri Jun 7 16:33:50 2019 +0200

    ARM: davinci: da8xx: specify dma_coherent_mask for lcdc
    
    [ Upstream commit 68f2515bb31a664ba3e2bc1eb78dd9f529b10067 ]
    
    The lcdc device is missing the dma_coherent_mask definition causing the
    following warning on da850-evm:
    
    da8xx_lcdc da8xx_lcdc.0: found Sharp_LK043T1DG01 panel
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 1 at kernel/dma/mapping.c:247 dma_alloc_attrs+0xc8/0x110
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper Not tainted 5.2.0-rc3-00077-g16d72dd4891f #18
    Hardware name: DaVinci DA850/OMAP-L138/AM18x EVM
    [<c000fce8>] (unwind_backtrace) from [<c000d900>] (show_stack+0x10/0x14)
    [<c000d900>] (show_stack) from [<c001a4f8>] (__warn+0xec/0x114)
    [<c001a4f8>] (__warn) from [<c001a634>] (warn_slowpath_null+0x3c/0x48)
    [<c001a634>] (warn_slowpath_null) from [<c0065860>] (dma_alloc_attrs+0xc8/0x110)
    [<c0065860>] (dma_alloc_attrs) from [<c02820f8>] (fb_probe+0x228/0x5a8)
    [<c02820f8>] (fb_probe) from [<c02d3e9c>] (platform_drv_probe+0x48/0x9c)
    [<c02d3e9c>] (platform_drv_probe) from [<c02d221c>] (really_probe+0x1d8/0x2d4)
    [<c02d221c>] (really_probe) from [<c02d2474>] (driver_probe_device+0x5c/0x168)
    [<c02d2474>] (driver_probe_device) from [<c02d2728>] (device_driver_attach+0x58/0x60)
    [<c02d2728>] (device_driver_attach) from [<c02d27b0>] (__driver_attach+0x80/0xbc)
    [<c02d27b0>] (__driver_attach) from [<c02d047c>] (bus_for_each_dev+0x64/0xb4)
    [<c02d047c>] (bus_for_each_dev) from [<c02d1590>] (bus_add_driver+0xe4/0x1d8)
    [<c02d1590>] (bus_add_driver) from [<c02d301c>] (driver_register+0x78/0x10c)
    [<c02d301c>] (driver_register) from [<c000a5c0>] (do_one_initcall+0x48/0x1bc)
    [<c000a5c0>] (do_one_initcall) from [<c05cae6c>] (kernel_init_freeable+0x10c/0x1d8)
    [<c05cae6c>] (kernel_init_freeable) from [<c048a000>] (kernel_init+0x8/0xf4)
    [<c048a000>] (kernel_init) from [<c00090e0>] (ret_from_fork+0x14/0x34)
    Exception stack(0xc6837fb0 to 0xc6837ff8)
    7fa0:                                     00000000 00000000 00000000 00000000
    7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    7fe0: 00000000 00000000 00000000 00000000 00000013 00000000
    ---[ end trace 8a8073511be81dd2 ]---
    
    Add a 32-bit mask to the platform device's definition.
    
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    
    Signed-off-by: Sekhar Nori <nsekhar@ti.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3bbcc8b9ad37bcb1feee4e8e7f3ee4147e55b261
Author: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Date:   Fri Jun 7 11:02:01 2019 +0200

    ARM: davinci: da850-evm: call regulator_has_full_constraints()
    
    [ Upstream commit 0c0c9b5753cd04601b17de09da1ed2885a3b42fe ]
    
    The BB expander at 0x21 i2c bus 1 fails to probe on da850-evm because
    the board doesn't set has_full_constraints to true in the regulator
    API.
    
    Call regulator_has_full_constraints() at the end of board registration
    just like we do in da850-lcdk and da830-evm.
    
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Signed-off-by: Sekhar Nori <nsekhar@ti.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 443250665388fdb30ae47cc7ba0660b973b82e7e
Author: Ido Schimmel <idosch@mellanox.com>
Date:   Tue Jun 11 10:19:46 2019 +0300

    mlxsw: spectrum: Disallow prio-tagged packets when PVID is removed
    
    [ Upstream commit 4b14cc313f076c37b646cee06a85f0db59cf216c ]
    
    When PVID is removed from a bridge port, the Linux bridge drops both
    untagged and prio-tagged packets. Align mlxsw with this behavior.
    
    Fixes: 148f472da5db ("mlxsw: reg: Add the Switch Port Acceptable Frame Types register")
    Acked-by: Jiri Pirko <jiri@mellanox.com>
    Signed-off-by: Ido Schimmel <idosch@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 512bbb114b995a0c03cffdfad9ef30bb4e4b83ff
Author: Dave Martin <Dave.Martin@arm.com>
Date:   Thu Jun 6 11:58:07 2019 +0100

    KVM: arm/arm64: vgic: Fix kvm_device leak in vgic_its_destroy
    
    [ Upstream commit 4729ec8c1e1145234aeeebad5d96d77f4ccbb00a ]
    
    kvm_device->destroy() seems to be supposed to free its kvm_device
    struct, but vgic_its_destroy() is not currently doing this,
    resulting in a memory leak, resulting in kmemleak reports such as
    the following:
    
    unreferenced object 0xffff800aeddfe280 (size 128):
      comm "qemu-system-aar", pid 13799, jiffies 4299827317 (age 1569.844s)
      [...]
      backtrace:
        [<00000000a08b80e2>] kmem_cache_alloc+0x178/0x208
        [<00000000dcad2bd3>] kvm_vm_ioctl+0x350/0xbc0
    
    Fix it.
    
    Cc: Andre Przywara <andre.przywara@arm.com>
    Fixes: 1085fdc68c60 ("KVM: arm64: vgic-its: Introduce new KVM ITS device")
    Signed-off-by: Dave Martin <Dave.Martin@arm.com>
    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 41420ac584d7eee7f289f55a721f0b000fd4b304
Author: Anson Huang <anson.huang@nxp.com>
Date:   Tue Jun 11 17:50:44 2019 -0700

    Input: imx_keypad - make sure keyboard can always wake up system
    
    [ Upstream commit ce9a53eb3dbca89e7ad86673d94ab886e9bea704 ]
    
    There are several scenarios that keyboard can NOT wake up system
    from suspend, e.g., if a keyboard is depressed between system
    device suspend phase and device noirq suspend phase, the keyboard
    ISR will be called and both keyboard depress and release interrupts
    will be disabled, then keyboard will no longer be able to wake up
    system. Another scenario would be, if a keyboard is kept depressed,
    and then system goes into suspend, the expected behavior would be
    when keyboard is released, system will be waked up, but current
    implementation can NOT achieve that, because both depress and release
    interrupts are disabled in ISR, and the event check is still in
    progress.
    
    To fix these issues, need to make sure keyboard's depress or release
    interrupt is enabled after noirq device suspend phase, this patch
    moves the suspend/resume callback to noirq suspend/resume phase, and
    enable the corresponding interrupt according to current keyboard status.
    
    Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b71f312e9bf7eb2ae09c927773c319dbb53f1ab5
Author: Nick Hu <nickhu@andestech.com>
Date:   Thu May 30 15:01:17 2019 +0800

    riscv: Fix udelay in RV32.
    
    [ Upstream commit d0e1f2110a5eeb6e410b2dd37d98bc5b30da7bc7 ]
    
    In RV32, udelay would delay the wrong cycle. When it shifts right
    "UDELAY_SHIFT" bits, it either delays 0 cycle or 1 cycle. It only works
    correctly in RV64. Because the 'ucycles' always needs to be 64 bits
    variable.
    
    Signed-off-by: Nick Hu <nickhu@andestech.com>
    Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
    [paul.walmsley@sifive.com: fixed minor spelling error]
    Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 122c6a71c08d78f69e7675281417810f13ccc879
Author: Qian Cai <cai@lca.pw>
Date:   Mon Jun 3 16:44:15 2019 -0400

    drm/vmwgfx: fix a warning due to missing dma_parms
    
    [ Upstream commit 39916897cd815a0ee07ba1f6820cf88a63e459fc ]
    
    Booting up with DMA_API_DEBUG_SG=y generates a warning due to the driver
    forgot to set dma_parms appropriately. Set it just after vmw_dma_masks()
    in vmw_driver_load().
    
    DMA-API: vmwgfx 0000:00:0f.0: mapping sg segment longer than device
    claims to support [len=2097152] [max=65536]
    WARNING: CPU: 2 PID: 261 at kernel/dma/debug.c:1232
    debug_dma_map_sg+0x360/0x480
    Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop
    Reference Platform, BIOS 6.00 04/13/2018
    RIP: 0010:debug_dma_map_sg+0x360/0x480
    Call Trace:
     vmw_ttm_map_dma+0x3b1/0x5b0 [vmwgfx]
     vmw_bo_map_dma+0x25/0x30 [vmwgfx]
     vmw_otables_setup+0x2a8/0x750 [vmwgfx]
     vmw_request_device_late+0x78/0xc0 [vmwgfx]
     vmw_request_device+0xee/0x4e0 [vmwgfx]
     vmw_driver_load.cold+0x757/0xd84 [vmwgfx]
     drm_dev_register+0x1ff/0x340 [drm]
     drm_get_pci_dev+0x110/0x290 [drm]
     vmw_probe+0x15/0x20 [vmwgfx]
     local_pci_probe+0x7a/0xc0
     pci_device_probe+0x1b9/0x290
     really_probe+0x1b5/0x630
     driver_probe_device+0xa3/0x1a0
     device_driver_attach+0x94/0xa0
     __driver_attach+0xdd/0x1c0
     bus_for_each_dev+0xfe/0x150
     driver_attach+0x2d/0x40
     bus_add_driver+0x290/0x350
     driver_register+0xdc/0x1d0
     __pci_register_driver+0xda/0xf0
     vmwgfx_init+0x34/0x1000 [vmwgfx]
     do_one_initcall+0xe5/0x40a
     do_init_module+0x10f/0x3a0
     load_module+0x16a5/0x1a40
     __se_sys_finit_module+0x183/0x1c0
     __x64_sys_finit_module+0x43/0x50
     do_syscall_64+0xc8/0x606
     entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    Fixes: fb1d9738ca05 ("drm/vmwgfx: Add DRM driver for VMware Virtual GPU")
    Co-developed-by: Thomas Hellstrom <thellstrom@vmware.com>
    Signed-off-by: Qian Cai <cai@lca.pw>
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d3861d4ca94ccb3dd5cb103d951df5584c59c586
Author: Thomas Hellstrom <thellstrom@vmware.com>
Date:   Tue Jun 4 13:54:26 2019 +0200

    drm/vmwgfx: Honor the sg list segment size limitation
    
    [ Upstream commit bde15555ba61c7f664f40fd3c6fdbdb63f784c9b ]
    
    When building sg tables, honor the device sg list segment size limitation.
    
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Deepak Rawat <drawat@vmware.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c0b12abd18284160b66bca4b6cee4ccfd6e944cf
Author: Heiko Carstens <heiko.carstens@de.ibm.com>
Date:   Tue Jun 4 13:10:51 2019 +0200

    s390/boot: disable address-of-packed-member warning
    
    [ Upstream commit f9364df30420987e77599c4789ec0065c609a507 ]
    
    Get rid of gcc9 warnings like this:
    
    arch/s390/boot/ipl_report.c: In function 'find_bootdata_space':
    arch/s390/boot/ipl_report.c:42:26: warning: taking address of packed member of 'struct ipl_rb_components' may result in an unaligned pointer value [-Waddress-of-packed-member]
       42 |  for_each_rb_entry(comp, comps)
          |                          ^~~~~
    
    This is effectively the s390 variant of commit 20c6c1890455
    ("x86/boot: Disable the address-of-packed-member compiler warning").
    
    Reviewed-by: Vasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e71daed5176f909112fe1489795618f9b86e590a
Author: Teresa Remmet <t.remmet@phytec.de>
Date:   Fri May 24 15:19:57 2019 +0200

    ARM: dts: am335x phytec boards: Fix cd-gpios active level
    
    [ Upstream commit 8a0098c05a272c9a68f6885e09755755b612459c ]
    
    Active level of the mmc1 cd gpio needs to be low instead of high.
    Fix PCM-953 and phyBOARD-WEGA.
    
    Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 822c2ee81c633451433ef8c46a1278baa2398f0c
Author: Thomas Falcon <tlfalcon@linux.ibm.com>
Date:   Fri Jun 7 16:03:55 2019 -0500

    ibmvnic: Fix unchecked return codes of memory allocations
    
    [ Upstream commit 7c940b1a5291e5069d561f5b8f0e51db6b7a259a ]
    
    The return values for these memory allocations are unchecked,
    which may cause an oops if the driver does not handle them after
    a failure. Fix by checking the function's return code.
    
    Signed-off-by: Thomas Falcon <tlfalcon@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0f06004d16be55ac006b0ae259220c4ec7bb233f
Author: Thomas Falcon <tlfalcon@linux.ibm.com>
Date:   Fri Jun 7 16:03:54 2019 -0500

    ibmvnic: Refresh device multicast list after reset
    
    [ Upstream commit be32a24372cf162e825332da1a7ccef058d4f20b ]
    
    It was observed that multicast packets were no longer received after
    a device reset.  The fix is to resend the current multicast list to
    the backing device after recovery.
    
    Signed-off-by: Thomas Falcon <tlfalcon@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e65dd528bb8ea445c86cef414cd1042a86f89e1d
Author: Thomas Falcon <tlfalcon@linux.ibm.com>
Date:   Fri Jun 7 16:03:53 2019 -0500

    ibmvnic: Do not close unopened driver during reset
    
    [ Upstream commit 1f94608b0ce141be5286dde31270590bdf35b86a ]
    
    Check driver state before halting it during a reset. If the driver is
    not running, do nothing. Otherwise, a request to deactivate a down link
    can cause an error and the reset will fail.
    
    Signed-off-by: Thomas Falcon <tlfalcon@linux.ibm.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 374180b11b299779893ad14553bb49e0e0242bdc
Author: Michael Schmitz <schmitzmic@gmail.com>
Date:   Fri Jun 7 17:37:34 2019 +1200

    net: phy: rename Asix Electronics PHY driver
    
    [ Upstream commit a9520543b123bbd7275a0ab8d0375a5412683b41 ]
    
    [Resent to net instead of net-next - may clash with Anders Roxell's patch
    series addressing duplicate module names]
    
    Commit 31dd83b96641 ("net-next: phy: new Asix Electronics PHY driver")
    introduced a new PHY driver drivers/net/phy/asix.c that causes a module
    name conflict with a pre-existiting driver (drivers/net/usb/asix.c).
    
    The PHY driver is used by the X-Surf 100 ethernet card driver, and loaded
    by that driver via its PHY ID. A rename of the driver looks unproblematic.
    
    Rename PHY driver to ax88796b.c in order to resolve name conflict.
    
    Signed-off-by: Michael Schmitz <schmitzmic@gmail.com>
    Tested-by: Michael Schmitz <schmitzmic@gmail.com>
    Fixes: 31dd83b96641 ("net-next: phy: new Asix Electronics PHY driver")
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 473a75c7fab5cdc90129795cc2581ac325b3d473
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu May 16 22:36:26 2019 +0800

    can: af_can: Fix error path of can_init()
    
    [ Upstream commit c5a3aed1cd3152429348ee1fe5cdcca65fe901ce ]
    
    This patch add error path for can_init() to avoid possible crash if some
    error occurs.
    
    Fixes: 0d66548a10cb ("[CAN]: Add PF_CAN core module")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 486954277fc1e18da5cf6c3110296b443cdecbaa
Author: Eugen Hristev <eugen.hristev@microchip.com>
Date:   Mon Mar 4 14:44:13 2019 +0000

    can: m_can: implement errata "Needless activation of MRAF irq"
    
    [ Upstream commit 3e82f2f34c930a2a0a9e69fdc2de2f2f1388b442 ]
    
    During frame reception while the MCAN is in Error Passive state and the
    Receive Error Counter has thevalue MCAN_ECR.REC = 127, it may happen
    that MCAN_IR.MRAF is set although there was no Message RAM access
    failure. If MCAN_IR.MRAF is enabled, an interrupt to the Host CPU is
    generated.
    
    Work around:
    The Message RAM Access Failure interrupt routine needs to check whether
    
        MCAN_ECR.RP = '1' and MCAN_ECR.REC = '127'.
    
    In this case, reset MCAN_IR.MRAF. No further action is required.
    This affects versions older than 3.2.0
    
    Errata explained on Sama5d2 SoC which includes this hardware block:
    http://ww1.microchip.com/downloads/en/DeviceDoc/SAMA5D2-Family-Silicon-Errata-and-Data-Sheet-Clarification-DS80000803B.pdf
    chapter 6.2
    
    Reproducibility: If 2 devices with m_can are connected back to back,
    configuring different bitrate on them will lead to interrupt storm on
    the receiving side, with error "Message RAM access failure occurred".
    Another way is to have a bad hardware connection. Bad wire connection
    can lead to this issue as well.
    
    This patch fixes the issue according to provided workaround.
    
    Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
    Reviewed-by: Ludovic Desroches <ludovic.desroches@microchip.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 270149f78b9cdd7d398da5bda73a9d9283554e6b
Author: Sean Nyekjaer <sean@geanix.com>
Date:   Tue May 7 11:34:36 2019 +0200

    can: mcp251x: add support for mcp25625
    
    [ Upstream commit 35b7fa4d07c43ad79b88e6462119e7140eae955c ]
    
    Fully compatible with mcp2515, the mcp25625 have integrated transceiver.
    
    This patch adds support for the mcp25625 to the existing mcp251x driver.
    
    Signed-off-by: Sean Nyekjaer <sean@geanix.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 33672c74b4845a1ae0393a1b08a2ba1907f4a637
Author: Sean Nyekjaer <sean@geanix.com>
Date:   Tue May 7 11:34:37 2019 +0200

    dt-bindings: can: mcp251x: add mcp25625 support
    
    [ Upstream commit 0df82dcd55832a99363ab7f9fab954fcacdac3ae ]
    
    Fully compatible with mcp2515, the mcp25625 have integrated transceiver.
    
    This patch add the mcp25625 to the device tree bindings documentation.
    
    Signed-off-by: Sean Nyekjaer <sean@geanix.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 07c96e8e8021ebba02d03ab46450b8fd1ad5739a
Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date:   Thu Jun 6 12:23:04 2019 +0100

    soundwire: intel: set dai min and max channels correctly
    
    [ Upstream commit 39194128701bf2af9bbc420ffe6e3cb5d2c16061 ]
    
    Looks like there is a copy paste error.
    This patch fixes it!
    
    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c7e427e28a3a2d1b89b8f9fa7c3f559774d91a7b
Author: Takashi Iwai <tiwai@suse.de>
Date:   Fri May 31 15:18:41 2019 +0200

    mwifiex: Fix heap overflow in mwifiex_uap_parse_tail_ies()
    
    [ Upstream commit 69ae4f6aac1578575126319d3f55550e7e440449 ]
    
    A few places in mwifiex_uap_parse_tail_ies() perform memcpy()
    unconditionally, which may lead to either buffer overflow or read over
    boundary.
    
    This patch addresses the issues by checking the read size and the
    destination size at each place more properly.  Along with the fixes,
    the patch cleans up the code slightly by introducing a temporary
    variable for the token size, and unifies the error path with the
    standard goto statement.
    
    Reported-by: huangwen <huangwen@venustech.com.cn>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8e115a07994004bd52d036d5c4b4f601637cebc3
Author: Jia-Ju Bai <baijiaju1990@gmail.com>
Date:   Wed May 29 16:39:54 2019 +0300

    iwlwifi: Fix double-free problems in iwl_req_fw_callback()
    
    [ Upstream commit a8627176b0de7ba3f4524f641ddff4abf23ae4e4 ]
    
    In the error handling code of iwl_req_fw_callback(), iwl_dealloc_ucode()
    is called to free data. In iwl_drv_stop(), iwl_dealloc_ucode() is called
    again, which can cause double-free problems.
    
    To fix this bug, the call to iwl_dealloc_ucode() in
    iwl_req_fw_callback() is deleted.
    
    This bug is found by a runtime fuzzing tool named FIZZER written by us.
    
    Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d4c0f752c1d2c6383cc7582c19b2ed7159d45937
Author: Takashi Iwai <tiwai@suse.de>
Date:   Wed May 29 14:52:19 2019 +0200

    mwifiex: Fix possible buffer overflows at parsing bss descriptor
    
    [ Upstream commit 13ec7f10b87f5fc04c4ccbd491c94c7980236a74 ]
    
    mwifiex_update_bss_desc_with_ie() calls memcpy() unconditionally in
    a couple places without checking the destination size.  Since the
    source is given from user-space, this may trigger a heap buffer
    overflow.
    
    Fix it by putting the length check before performing memcpy().
    
    This fix addresses CVE-2019-3846.
    
    Reported-by: huangwen <huangwen@venustech.com.cn>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b8588a0981b789012d066332835ae7d3a73cd178
Author: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Date:   Tue May 28 16:36:16 2019 -0700

    mac80211: free peer keys before vif down in mesh
    
    [ Upstream commit 0112fa557c3bb3a002bc85760dc3761d737264d3 ]
    
    freeing peer keys after vif down is resulting in peer key uninstall
    to fail due to interface lookup failure. so fix that.
    
    Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit acc42e5c23228d12ea423a9568293eaf9e0d90a3
Author: Thomas Pedersen <thomas@eero.com>
Date:   Fri May 24 21:16:24 2019 -0700

    mac80211: mesh: fix RCU warning
    
    [ Upstream commit 551842446ed695641a00782cd118cbb064a416a1 ]
    
    ifmsh->csa is an RCU-protected pointer. The writer context
    in ieee80211_mesh_finish_csa() is already mutually
    exclusive with wdev->sdata.mtx, but the RCU checker did
    not know this. Use rcu_dereference_protected() to avoid a
    warning.
    
    fixes the following warning:
    
    [   12.519089] =============================
    [   12.520042] WARNING: suspicious RCU usage
    [   12.520652] 5.1.0-rc7-wt+ #16 Tainted: G        W
    [   12.521409] -----------------------------
    [   12.521972] net/mac80211/mesh.c:1223 suspicious rcu_dereference_check() usage!
    [   12.522928] other info that might help us debug this:
    [   12.523984] rcu_scheduler_active = 2, debug_locks = 1
    [   12.524855] 5 locks held by kworker/u8:2/152:
    [   12.525438]  #0: 00000000057be08c ((wq_completion)phy0){+.+.}, at: process_one_work+0x1a2/0x620
    [   12.526607]  #1: 0000000059c6b07a ((work_completion)(&sdata->csa_finalize_work)){+.+.}, at: process_one_work+0x1a2/0x620
    [   12.528001]  #2: 00000000f184ba7d (&wdev->mtx){+.+.}, at: ieee80211_csa_finalize_work+0x2f/0x90
    [   12.529116]  #3: 00000000831a1f54 (&local->mtx){+.+.}, at: ieee80211_csa_finalize_work+0x47/0x90
    [   12.530233]  #4: 00000000fd06f988 (&local->chanctx_mtx){+.+.}, at: ieee80211_csa_finalize_work+0x51/0x90
    
    Signed-off-by: Thomas Pedersen <thomas@eero.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e3868c1a462f2bc41c0f1e584ca12a850fd2ebb9
Author: Melissa Wen <melissa.srw@gmail.com>
Date:   Sat May 18 22:04:56 2019 -0300

    staging:iio:ad7150: fix threshold mode config bit
    
    [ Upstream commit df4d737ee4d7205aaa6275158aeebff87fd14488 ]
    
    According to the AD7150 configuration register description, bit 7 assumes
    value 1 when the threshold mode is fixed and 0 when it is adaptive,
    however, the operation that identifies this mode was considering the
    opposite values.
    
    This patch renames the boolean variable to describe it correctly and
    properly replaces it in the places where it is used.
    
    Fixes: 531efd6aa0991 ("staging:iio:adc:ad7150: chan_spec conv + i2c_smbus commands + drop unused poweroff timeout control.")
    Signed-off-by: Melissa Wen <melissa.srw@gmail.com>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6b1ce3971e05de54ae531484e3d93c2992d1bab9
Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Date:   Wed May 22 17:24:43 2019 +0100

    soundwire: stream: fix out of boundary access on port properties
    
    [ Upstream commit 03ecad90d3798be11b033248bbd4bbff4425a1c7 ]
    
    Assigning local iterator to array element and using it again for
    indexing would cross the array boundary.
    Fix this by directly referring array element without using the local
    variable.
    
    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6be857082611ee432125ee473973e9b6d9619f4d
Author: John Fastabend <john.fastabend@gmail.com>
Date:   Fri May 24 08:01:00 2019 -0700

    bpf: sockmap, fix use after free from sleep in psock backlog workqueue
    
    [ Upstream commit bd95e678e0f6e18351ecdc147ca819145db9ed7b ]
    
    Backlog work for psock (sk_psock_backlog) might sleep while waiting
    for memory to free up when sending packets. However, while sleeping
    the socket may be closed and removed from the map by the user space
    side.
    
    This breaks an assumption in sk_stream_wait_memory, which expects the
    wait queue to be still there when it wakes up resulting in a
    use-after-free shown below. To fix his mark sendmsg as MSG_DONTWAIT
    to avoid the sleep altogether. We already set the flag for the
    sendpage case but we missed the case were sendmsg is used.
    Sockmap is currently the only user of skb_send_sock_locked() so only
    the sockmap paths should be impacted.
    
    ==================================================================
    BUG: KASAN: use-after-free in remove_wait_queue+0x31/0x70
    Write of size 8 at addr ffff888069a0c4e8 by task kworker/0:2/110
    
    CPU: 0 PID: 110 Comm: kworker/0:2 Not tainted 5.0.0-rc2-00335-g28f9d1a3d4fe-dirty #14
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-2.fc27 04/01/2014
    Workqueue: events sk_psock_backlog
    Call Trace:
     print_address_description+0x6e/0x2b0
     ? remove_wait_queue+0x31/0x70
     kasan_report+0xfd/0x177
     ? remove_wait_queue+0x31/0x70
     ? remove_wait_queue+0x31/0x70
     remove_wait_queue+0x31/0x70
     sk_stream_wait_memory+0x4dd/0x5f0
     ? sk_stream_wait_close+0x1b0/0x1b0
     ? wait_woken+0xc0/0xc0
     ? tcp_current_mss+0xc5/0x110
     tcp_sendmsg_locked+0x634/0x15d0
     ? tcp_set_state+0x2e0/0x2e0
     ? __kasan_slab_free+0x1d1/0x230
     ? kmem_cache_free+0x70/0x140
     ? sk_psock_backlog+0x40c/0x4b0
     ? process_one_work+0x40b/0x660
     ? worker_thread+0x82/0x680
     ? kthread+0x1b9/0x1e0
     ? ret_from_fork+0x1f/0x30
     ? check_preempt_curr+0xaf/0x130
     ? iov_iter_kvec+0x5f/0x70
     ? kernel_sendmsg_locked+0xa0/0xe0
     skb_send_sock_locked+0x273/0x3c0
     ? skb_splice_bits+0x180/0x180
     ? start_thread+0xe0/0xe0
     ? update_min_vruntime.constprop.27+0x88/0xc0
     sk_psock_backlog+0xb3/0x4b0
     ? strscpy+0xbf/0x1e0
     process_one_work+0x40b/0x660
     worker_thread+0x82/0x680
     ? process_one_work+0x660/0x660
     kthread+0x1b9/0x1e0
     ? __kthread_create_on_node+0x250/0x250
     ret_from_fork+0x1f/0x30
    
    Fixes: 20bf50de3028c ("skbuff: Function to send an skbuf on a socket")
    Reported-by: Jakub Sitnicki <jakub@cloudflare.com>
    Tested-by: Jakub Sitnicki <jakub@cloudflare.com>
    Signed-off-by: John Fastabend <john.fastabend@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bc84982f977daa7116b402bb3c5760731305456f
Author: John Crispin <john@phrozen.org>
Date:   Thu May 23 10:27:24 2019 +0200

    mac80211: fix rate reporting inside cfg80211_calculate_bitrate_he()
    
    [ Upstream commit 25d16d124a5e249e947c0487678b61dcff25cf8b ]
    
    The reported rate is not scaled down correctly. After applying this patch,
    the function will behave just like the v/ht equivalents.
    
    Signed-off-by: Shashidhar Lakkavalli <slakkavalli@datto.com>
    Signed-off-by: John Crispin <john@phrozen.org>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3c24a931e9720679a1ee23be51d2ca298baba785
Author: Matteo Croce <mcroce@redhat.com>
Date:   Mon May 20 23:49:38 2019 +0200

    samples, bpf: suppress compiler warning
    
    [ Upstream commit a195cefff49f60054998333e81ee95170ce8bf92 ]
    
    GCC 9 fails to calculate the size of local constant strings and produces a
    false positive:
    
    samples/bpf/task_fd_query_user.c: In function ‘test_debug_fs_uprobe’:
    samples/bpf/task_fd_query_user.c:242:67: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 215 [-Wformat-truncation=]
      242 |  snprintf(buf, sizeof(buf), "/sys/kernel/debug/tracing/events/%ss/%s/id",
          |                                                                   ^~
      243 |    event_type, event_alias);
          |                ~~~~~~~~~~~
    samples/bpf/task_fd_query_user.c:242:2: note: ‘snprintf’ output between 45 and 300 bytes into a destination of size 256
      242 |  snprintf(buf, sizeof(buf), "/sys/kernel/debug/tracing/events/%ss/%s/id",
          |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      243 |    event_type, event_alias);
          |    ~~~~~~~~~~~~~~~~~~~~~~~~
    
    Workaround this by lowering the buffer size to a reasonable value.
    Related GCC Bugzilla: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83431
    
    Signed-off-by: Matteo Croce <mcroce@redhat.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e7779115bbd9a89a1286104b7a2821a1e2009355
Author: Chang-Hsien Tsai <luke.tw@gmail.com>
Date:   Sun May 19 09:05:44 2019 +0000

    samples, bpf: fix to change the buffer size for read()
    
    [ Upstream commit f7c2d64bac1be2ff32f8e4f500c6e5429c1003e0 ]
    
    If the trace for read is larger than 4096, the return
    value sz will be 4096. This results in off-by-one error
    on buf:
    
        static char buf[4096];
        ssize_t sz;
    
        sz = read(trace_fd, buf, sizeof(buf));
        if (sz > 0) {
            buf[sz] = 0;
            puts(buf);
        }
    
    Signed-off-by: Chang-Hsien Tsai <luke.tw@gmail.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fe01e93c3fd1d6a05a78ce105ce49f9bd3d5c596
Author: Aaron Ma <aaron.ma@canonical.com>
Date:   Mon May 20 22:09:10 2019 -0700

    Input: elantech - enable middle button support on 2 ThinkPads
    
    [ Upstream commit aa440de3058a3ef530851f9ef373fbb5f694dbc3 ]
    
    Adding 2 new touchpad PNPIDs to enable middle button support.
    
    Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2883fc1ece6965b83def25e610646a2011d1c84b
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Fri Apr 12 10:15:26 2019 -0700

    soc: bcm: brcmstb: biuctrl: Register writes require a barrier
    
    [ Upstream commit 6b23af0783a54efb348f0bd781b7850636023dbb ]
    
    The BIUCTRL register writes require that a data barrier be inserted
    after comitting the write to the register for the block to latch in the
    recently written values. Reads have no such requirement and are not
    changed.
    
    Fixes: 34642650e5bc ("soc: Move brcmstb to bcm/brcmstb")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2f1c962a74164959f7c4bb9158e5993d0b8436e5
Author: Florian Fainelli <f.fainelli@gmail.com>
Date:   Sun Apr 7 14:19:07 2019 -0700

    soc: brcmstb: Fix error path for unsupported CPUs
    
    [ Upstream commit 490cad5a3ad6ef0bfd3168a5063140b982f3b22a ]
    
    In case setup_hifcpubiuctrl_regs() returns an error, because of e.g:
    an unsupported CPU type, just catch that error and return instead of
    blindly continuing with the initialization. This fixes a NULL pointer
    de-reference with the code continuing without having a proper array of
    registers to use.
    
    Fixes: 22f7a9116eba ("soc: brcmstb: Correct CPU_CREDIT_REG offset for Brahma-B53 CPUs")
    Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e8250f730410650bb9c0ea7591015b68a38a4cc7
Author: Christophe Leroy <christophe.leroy@c-s.fr>
Date:   Tue May 21 13:34:08 2019 +0000

    crypto: talitos - rename alternative AEAD algos.
    
    commit a1a42f84011fae6ff08441a91aefeb7febc984fc upstream.
    
    The talitos driver has two ways to perform AEAD depending on the
    HW capability. Some HW support both. It is needed to give them
    different names to distingish which one it is for instance when
    a test fails.
    
    Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
    Fixes: 7405c8d7ff97 ("crypto: talitos - templates for AEAD using HMAC_SNOOP_NO_AFEU")
    Cc: stable@vger.kernel.org
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>