commit f5d8eef067acee3fda37137f4a08c0d3f6427a8e
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Fri Oct 30 10:38:33 2020 +0100

    Linux 4.19.154
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5f322f20a3a721ea0b094dc695f3b6e24bd556a0
Author: Lorenzo Colitti <lorenzo@google.com>
Date:   Tue Aug 25 14:55:05 2020 +0900

    usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets.
    
    [ Upstream commit 7974ecd7d3c0f42a98566f281e44ea8573a2ad88 ]
    
    Currently, enabling f_ncm at SuperSpeed Plus speeds results in an
    oops in config_ep_by_speed because ncm_set_alt passes in NULL
    ssp_descriptors. Fix this by re-using the SuperSpeed descriptors.
    This is safe because usb_assign_descriptors calls
    usb_copy_descriptors.
    
    Tested: enabled f_ncm on a dwc3 gadget and 10Gbps link, ran iperf
    Reviewed-by: Maciej Żenczykowski <maze@google.com>
    Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
    Signed-off-by: Felipe Balbi <balbi@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 07784c9a2a8b820617d563d0d0c3ab874f0c6377
Author: Christian Eggers <ceggers@arri.de>
Date:   Tue Jul 28 11:29:59 2020 +0200

    eeprom: at25: set minimum read/write access stride to 1
    
    commit 284f52ac1c6cfa1b2e5c11b84653dd90e4e91de7 upstream.
    
    SPI eeproms are addressed by byte.
    
    Signed-off-by: Christian Eggers <ceggers@arri.de>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20200728092959.24600-1-ceggers@arri.de
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2223a85dec1c0a76d4193be8b84edb49acc405e1
Author: Oliver Neukum <oneukum@suse.com>
Date:   Mon Sep 28 23:17:55 2020 +0900

    USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync().
    
    commit 37d2a36394d954413a495da61da1b2a51ecd28ab upstream.
    
    syzbot is reporting hung task at wdm_flush() [1], for there is a circular
    dependency that wdm_flush() from flip_close() for /dev/cdc-wdm0 forever
    waits for /dev/raw-gadget to be closed while close() for /dev/raw-gadget
    cannot be called unless close() for /dev/cdc-wdm0 completes.
    
    Tetsuo Handa considered that such circular dependency is an usage error [2]
    which corresponds to an unresponding broken hardware [3]. But Alan Stern
    responded that we should be prepared for such hardware [4]. Therefore,
    this patch changes wdm_flush() to use wait_event_interruptible_timeout()
    which gives up after 30 seconds, for hardware that remains silent must be
    ignored. The 30 seconds are coming out of thin air.
    
    Changing wait_event() to wait_event_interruptible_timeout() makes error
    reporting from close() syscall less reliable. To compensate it, this patch
    also implements wdm_fsync() which does not use timeout. Those who want to
    be very sure that data has gone out to the device are now advised to call
    fsync(), with a caveat that fsync() can return -EINVAL when running on
    older kernels which do not implement wdm_fsync().
    
    This patch also fixes three more problems (listed below) found during
    exhaustive discussion and testing.
    
      Since multiple threads can concurrently call wdm_write()/wdm_flush(),
      we need to use wake_up_all() whenever clearing WDM_IN_USE in order to
      make sure that all waiters are woken up. Also, error reporting needs
      to use fetch-and-clear approach in order not to report same error for
      multiple times.
    
      Since wdm_flush() checks WDM_DISCONNECTING, wdm_write() should as well
      check WDM_DISCONNECTING.
    
      In wdm_flush(), since locks are not held, it is not safe to dereference
      desc->intf after checking that WDM_DISCONNECTING is not set [5]. Thus,
      remove dev_err() from wdm_flush().
    
    [1] https://syzkaller.appspot.com/bug?id=e7b761593b23eb50855b9ea31e3be5472b711186
    [2] https://lkml.kernel.org/r/27b7545e-8f41-10b8-7c02-e35a08eb1611@i-love.sakura.ne.jp
    [3] https://lkml.kernel.org/r/79ba410f-e0ef-2465-b94f-6b9a4a82adf5@i-love.sakura.ne.jp
    [4] https://lkml.kernel.org/r/20200530011040.GB12419@rowland.harvard.edu
    [5] https://lkml.kernel.org/r/c85331fc-874c-6e46-a77f-0ef1dc075308@i-love.sakura.ne.jp
    
    Reported-by: syzbot <syzbot+854768b99f19e89d7f81@syzkaller.appspotmail.com>
    Cc: stable <stable@vger.kernel.org>
    Co-developed-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Signed-off-by: Oliver Neukum <oneukum@suse.com>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Link: https://lore.kernel.org/r/20200928141755.3476-1-penguin-kernel@I-love.SAKURA.ne.jp
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit a79a42d8d6c96b8e02812e4d65387254f2ee8ce8
Author: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Date:   Sat Oct 3 00:41:51 2020 +0900

    usb: cdc-acm: add quirk to blacklist ETAS ES58X devices
    
    commit a4f88430af896bf34ec25a7a5f0e053fb3d928e0 upstream.
    
    The ES58X devices has a CDC ACM interface (used for debug
    purpose). During probing, the device is thus recognized as USB Modem
    (CDC ACM), preventing the etas-es58x module to load:
      usbcore: registered new interface driver etas_es58x
      usb 1-1.1: new full-speed USB device number 14 using xhci_hcd
      usb 1-1.1: New USB device found, idVendor=108c, idProduct=0159, bcdDevice= 1.00
      usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      usb 1-1.1: Product: ES581.4
      usb 1-1.1: Manufacturer: ETAS GmbH
      usb 1-1.1: SerialNumber: 2204355
      cdc_acm 1-1.1:1.0: No union descriptor, testing for castrated device
      cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device
    
    Thus, these have been added to the ignore list in
    drivers/usb/class/cdc-acm.c
    
    N.B. Future firmware release of the ES58X will remove the CDC-ACM
    interface.
    
    `lsusb -v` of the three devices variant (ES581.4, ES582.1 and
    ES584.1):
    
      Bus 001 Device 011: ID 108c:0159 Robert Bosch GmbH ES581.4
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               1.10
        bDeviceClass            2 Communications
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0        64
        idVendor           0x108c Robert Bosch GmbH
        idProduct          0x0159
        bcdDevice            1.00
        iManufacturer           1 ETAS GmbH
        iProduct                2 ES581.4
        iSerial                 3 2204355
        bNumConfigurations      1
        Configuration Descriptor:
          bLength                 9
          bDescriptorType         2
          wTotalLength       0x0035
          bNumInterfaces          1
          bConfigurationValue     1
          iConfiguration          5 Bus Powered Configuration
          bmAttributes         0x80
            (Bus Powered)
          MaxPower              100mA
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      0
            iInterface              4 ACM Control Interface
            CDC Header:
              bcdCDC               1.10
            CDC Call Management:
              bmCapabilities       0x01
                call management
              bDataInterface          0
            CDC ACM:
              bmCapabilities       0x06
                sends break
                line coding and serial state
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x81  EP 1 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0010  1x 16 bytes
              bInterval              10
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x82  EP 2 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x03  EP 3 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               0
      Device Status:     0x0000
        (Bus Powered)
    
      Bus 001 Device 012: ID 108c:0168 Robert Bosch GmbH ES582
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               2.00
        bDeviceClass            2 Communications
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0        64
        idVendor           0x108c Robert Bosch GmbH
        idProduct          0x0168
        bcdDevice            1.00
        iManufacturer           1 ETAS GmbH
        iProduct                2 ES582
        iSerial                 3 0108933
        bNumConfigurations      1
        Configuration Descriptor:
          bLength                 9
          bDescriptorType         2
          wTotalLength       0x0043
          bNumInterfaces          2
          bConfigurationValue     1
          iConfiguration          0
          bmAttributes         0x80
            (Bus Powered)
          MaxPower              500mA
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      1 AT-commands (v.25ter)
            iInterface              0
            CDC Header:
              bcdCDC               1.10
            CDC ACM:
              bmCapabilities       0x02
                line coding and serial state
            CDC Union:
              bMasterInterface        0
              bSlaveInterface         1
            CDC Call Management:
              bmCapabilities       0x03
                call management
                use DataInterface
              bDataInterface          1
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x83  EP 3 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval              16
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0
            bInterfaceProtocol      0
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x81  EP 1 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x02  EP 2 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
      Device Qualifier (for other device speed):
        bLength                10
        bDescriptorType         6
        bcdUSB               2.00
        bDeviceClass            2 Communications
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0        64
        bNumConfigurations      1
      Device Status:     0x0000
        (Bus Powered)
    
      Bus 001 Device 013: ID 108c:0169 Robert Bosch GmbH ES584.1
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               2.00
        bDeviceClass            2 Communications
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0        64
        idVendor           0x108c Robert Bosch GmbH
        idProduct          0x0169
        bcdDevice            1.00
        iManufacturer           1 ETAS GmbH
        iProduct                2 ES584.1
        iSerial                 3 0100320
        bNumConfigurations      1
        Configuration Descriptor:
          bLength                 9
          bDescriptorType         2
          wTotalLength       0x0043
          bNumInterfaces          2
          bConfigurationValue     1
          iConfiguration          0
          bmAttributes         0x80
            (Bus Powered)
          MaxPower              500mA
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass      2 Abstract (modem)
            bInterfaceProtocol      1 AT-commands (v.25ter)
            iInterface              0
            CDC Header:
              bcdCDC               1.10
            CDC ACM:
              bmCapabilities       0x02
                line coding and serial state
            CDC Union:
              bMasterInterface        0
              bSlaveInterface         1
            CDC Call Management:
              bmCapabilities       0x03
                call management
                use DataInterface
              bDataInterface          1
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x83  EP 3 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval              16
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0
            bInterfaceProtocol      0
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x81  EP 1 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x02  EP 2 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0200  1x 512 bytes
              bInterval               0
      Device Qualifier (for other device speed):
        bLength                10
        bDescriptorType         6
        bcdUSB               2.00
        bDeviceClass            2 Communications
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0        64
        bNumConfigurations      1
      Device Status:     0x0000
        (Bus Powered)
    
    Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
    Cc: stable <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20201002154219.4887-8-mailhol.vincent@wanadoo.fr
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 5e193ce443fecc955dc3160359c4f7abbc324ef7
Author: Peng Fan <peng.fan@nxp.com>
Date:   Tue Sep 29 17:55:09 2020 +0800

    tty: serial: fsl_lpuart: fix lpuart32_poll_get_char
    
    commit 29788ab1d2bf26c130de8f44f9553ee78a27e8d5 upstream.
    
    The watermark is set to 1, so we need to input two chars to trigger RDRF
    using the original logic. With the new logic, we could always get the
    char when there is data in FIFO.
    
    Suggested-by: Fugang Duan <fugang.duan@nxp.com>
    Signed-off-by: Peng Fan <peng.fan@nxp.com>
    Link: https://lore.kernel.org/r/20200929095509.21680-1-peng.fan@nxp.com
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d96332f3f6cbf535b7ea7a6816b05c6a7b0a2431
Author: Valentin Vidic <vvidic@valentin-vidic.from.hr>
Date:   Sun Oct 18 20:42:55 2020 +0200

    net: korina: cast KSEG0 address to pointer in kfree
    
    [ Upstream commit 3bd57b90554b4bb82dce638e0668ef9dc95d3e96 ]
    
    Fixes gcc warning:
    
    passing argument 1 of 'kfree' makes pointer from integer without a cast
    
    Fixes: 3af5f0f5c74e ("net: korina: fix kfree of rx/tx descriptor array")
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Valentin Vidic <vvidic@valentin-vidic.from.hr>
    Link: https://lore.kernel.org/r/20201018184255.28989-1-vvidic@valentin-vidic.from.hr
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f34426b44d24f4624e49dc122526f603afc85973
Author: Zekun Shen <bruceshenzk@gmail.com>
Date:   Tue Jun 23 18:11:05 2020 -0400

    ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n()
    
    [ Upstream commit bad60b8d1a7194df38fd7fe4b22f3f4dcf775099 ]
    
    The idx in __ath10k_htt_rx_ring_fill_n function lives in
    consistent dma region writable by the device. Malfunctional
    or malicious device could manipulate such idx to have a OOB
    write. Either by
        htt->rx_ring.netbufs_ring[idx] = skb;
    or by
        ath10k_htt_set_paddrs_ring(htt, paddr, idx);
    
    The idx can also be negative as it's signed, giving a large
    memory space to write to.
    
    It's possibly exploitable by corruptting a legit pointer with
    a skb pointer. And then fill skb with payload as rougue object.
    
    Part of the log here. Sometimes it appears as UAF when writing
    to a freed memory by chance.
    
     [   15.594376] BUG: unable to handle page fault for address: ffff887f5c1804f0
     [   15.595483] #PF: supervisor write access in kernel mode
     [   15.596250] #PF: error_code(0x0002) - not-present page
     [   15.597013] PGD 0 P4D 0
     [   15.597395] Oops: 0002 [#1] SMP KASAN PTI
     [   15.597967] CPU: 0 PID: 82 Comm: kworker/u2:2 Not tainted 5.6.0 #69
     [   15.598843] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
     BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014
     [   15.600438] Workqueue: ath10k_wq ath10k_core_register_work [ath10k_core]
     [   15.601389] RIP: 0010:__ath10k_htt_rx_ring_fill_n
     (linux/drivers/net/wireless/ath/ath10k/htt_rx.c:173) ath10k_core
    
    Signed-off-by: Zekun Shen <bruceshenzk@gmail.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20200623221105.3486-1-bruceshenzk@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 30255785272f896d1f275f095eb0b2089426b153
Author: Can Guo <cang@codeaurora.org>
Date:   Sun Aug 9 05:15:48 2020 -0700

    scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config()
    
    [ Upstream commit 89dd87acd40a44de8ff3358138aedf8f73f4efc6 ]
    
    If ufs_qcom_dump_dbg_regs() calls ufs_qcom_testbus_config() from
    ufshcd_suspend/resume and/or clk gate/ungate context, pm_runtime_get_sync()
    and ufshcd_hold() will cause a race condition. Fix this by removing the
    unnecessary calls of pm_runtime_get_sync() and ufshcd_hold().
    
    Link: https://lore.kernel.org/r/1596975355-39813-3-git-send-email-cang@codeaurora.org
    Reviewed-by: Hongwu Su <hongwus@codeaurora.org>
    Reviewed-by: Avri Altman <avri.altman@wdc.com>
    Reviewed-by: Bean Huo <beanhuo@micron.com>
    Reviewed-by: Asutosh Das <asutoshd@codeaurora.org>
    Signed-off-by: Can Guo <cang@codeaurora.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 923fe07f1f3ee0e37475795edf9deed1acf03efe
Author: Eli Billauer <eli.billauer@gmail.com>
Date:   Fri Jul 31 08:46:50 2020 +0300

    usb: core: Solve race condition in anchor cleanup functions
    
    [ Upstream commit fbc299437c06648afcc7891e6e2e6638dd48d4df ]
    
    usb_kill_anchored_urbs() is commonly used to cancel all URBs on an
    anchor just before releasing resources which the URBs rely on. By doing
    so, users of this function rely on that no completer callbacks will take
    place from any URB on the anchor after it returns.
    
    However if this function is called in parallel with __usb_hcd_giveback_urb
    processing a URB on the anchor, the latter may call the completer
    callback after usb_kill_anchored_urbs() returns. This can lead to a
    kernel panic due to use after release of memory in interrupt context.
    
    The race condition is that __usb_hcd_giveback_urb() first unanchors the URB
    and then makes the completer callback. Such URB is hence invisible to
    usb_kill_anchored_urbs(), allowing it to return before the completer has
    been called, since the anchor's urb_list is empty.
    
    Even worse, if the racing completer callback resubmits the URB, it may
    remain in the system long after usb_kill_anchored_urbs() returns.
    
    Hence list_empty(&anchor->urb_list), which is used in the existing
    while-loop, doesn't reliably ensure that all URBs of the anchor are gone.
    
    A similar problem exists with usb_poison_anchored_urbs() and
    usb_scuttle_anchored_urbs().
    
    This patch adds an external do-while loop, which ensures that all URBs
    are indeed handled before these three functions return. This change has
    no effect at all unless the race condition occurs, in which case the
    loop will busy-wait until the racing completer callback has finished.
    This is a rare condition, so the CPU waste of this spinning is
    negligible.
    
    The additional do-while loop relies on usb_anchor_check_wakeup(), which
    returns true iff the anchor list is empty, and there is no
    __usb_hcd_giveback_urb() in the system that is in the middle of the
    unanchor-before-complete phase. The @suspend_wakeups member of
    struct usb_anchor is used for this purpose, which was introduced to solve
    another problem which the same race condition causes, in commit
    6ec4147e7bdb ("usb-anchor: Delay usb_wait_anchor_empty_timeout wake up
    till completion is done").
    
    The surely_empty variable is necessary, because usb_anchor_check_wakeup()
    must be called with the lock held to prevent races. However the spinlock
    must be released and reacquired if the outer loop spins with an empty
    URB list while waiting for the unanchor-before-complete passage to finish:
    The completer callback may very well attempt to take the very same lock.
    
    To summarize, using usb_anchor_check_wakeup() means that the patched
    functions can return only when the anchor's list is empty, and there is
    no invisible URB being processed. Since the inner while loop finishes on
    the empty list condition, the new do-while loop will terminate as well,
    except for when the said race condition occurs.
    
    Signed-off-by: Eli Billauer <eli.billauer@gmail.com>
    Acked-by: Oliver Neukum <oneukum@suse.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Link: https://lore.kernel.org/r/20200731054650.30644-1-eli.billauer@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 778e3a4e845e08f61a1ffe4779f9d4dff27934b6
Author: Wang Yufen <wangyufen@huawei.com>
Date:   Mon Jul 20 17:36:05 2020 +0800

    brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach
    
    [ Upstream commit 6c151410d5b57e6bb0d91a735ac511459539a7bf ]
    
    When brcmf_proto_msgbuf_attach fail and msgbuf->txflow_wq != NULL,
    we should destroy the workqueue.
    
    Reported-by: Hulk Robot <hulkci@huawei.com>
    Signed-off-by: Wang Yufen <wangyufen@huawei.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/1595237765-66238-1-git-send-email-wangyufen@huawei.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 0484e56fefc6028d4b3e490a1552d0d198234065
Author: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Date:   Fri Aug 21 17:27:19 2020 +0900

    mwifiex: don't call del_timer_sync() on uninitialized timer
    
    [ Upstream commit 621a3a8b1c0ecf16e1e5667ea5756a76a082b738 ]
    
    syzbot is reporting that del_timer_sync() is called from
    mwifiex_usb_cleanup_tx_aggr() from mwifiex_unregister_dev() without
    checking timer_setup() from mwifiex_usb_tx_init() was called [1].
    
    Ganapathi Bhat proposed a possibly cleaner fix, but it seems that
    that fix was forgotten [2].
    
    "grep -FrB1 'del_timer' drivers/ | grep -FA1 '.function)'" says that
    currently there are 28 locations which call del_timer[_sync]() only if
    that timer's function field was initialized (because timer_setup() sets
    that timer's function field). Therefore, let's use same approach here.
    
    [1] https://syzkaller.appspot.com/bug?id=26525f643f454dd7be0078423e3cdb0d57744959
    [2] https://lkml.kernel.org/r/CA+ASDXMHt2gq9Hy+iP_BYkWXsSreWdp3_bAfMkNcuqJ3K+-jbQ@mail.gmail.com
    
    Reported-by: syzbot <syzbot+dc4127f950da51639216@syzkaller.appspotmail.com>
    Cc: Ganapathi Bhat <ganapathi.bhat@nxp.com>
    Cc: Brian Norris <briannorris@chromium.org>
    Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Reviewed-by: Brian Norris <briannorris@chromium.org>
    Acked-by: Ganapathi Bhat <ganapathi.bhat@nxp.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20200821082720.7716-1-penguin-kernel@I-love.SAKURA.ne.jp
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7f1fabf39f739543ee7a518b5c42566a2c0d5efd
Author: Jan Kara <jack@suse.cz>
Date:   Wed Mar 4 14:01:44 2020 +0100

    reiserfs: Fix memory leak in reiserfs_parse_options()
    
    [ Upstream commit e9d4709fcc26353df12070566970f080e651f0c9 ]
    
    When a usrjquota or grpjquota mount option is used multiple times, we
    will leak memory allocated for the file name. Make sure the last setting
    is used and all the previous ones are properly freed.
    
    Reported-by: syzbot+c9e294bbe0333a6b7640@syzkaller.appspotmail.com
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 796f0d39dcd58e91994f4f86525d09c9e03de293
Author: Peilin Ye <yepeilin.cs@gmail.com>
Date:   Tue Aug 11 03:46:40 2020 -0400

    ipvs: Fix uninit-value in do_ip_vs_set_ctl()
    
    [ Upstream commit c5a8a8498eed1c164afc94f50a939c1a10abf8ad ]
    
    do_ip_vs_set_ctl() is referencing uninitialized stack value when `len` is
    zero. Fix it.
    
    Reported-by: syzbot+23b5f9e7caf61d9a3898@syzkaller.appspotmail.com
    Link: https://syzkaller.appspot.com/bug?id=46ebfb92a8a812621a001ef04d90dfa459520fe2
    Suggested-by: Julian Anastasov <ja@ssi.bg>
    Signed-off-by: Peilin Ye <yepeilin.cs@gmail.com>
    Acked-by: Julian Anastasov <ja@ssi.bg>
    Reviewed-by: Simon Horman <horms@verge.net.au>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d44117291557740591b4076e532de06ed257ccd4
Author: Tong Zhang <ztong0001@gmail.com>
Date:   Fri Aug 21 12:19:40 2020 -0400

    tty: ipwireless: fix error handling
    
    [ Upstream commit db332356222d9429731ab9395c89cca403828460 ]
    
    ipwireless_send_packet() can only return 0 on success and -ENOMEM on
    error, the caller should check non zero for error condition
    
    Signed-off-by: Tong Zhang <ztong0001@gmail.com>
    Acked-by: David Sterba <dsterba@suse.com>
    Link: https://lore.kernel.org/r/20200821161942.36589-1-ztong0001@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 565ecf536c49b568a5754560a27536e1ac5b174b
Author: Nilesh Javali <njavali@marvell.com>
Date:   Tue Sep 8 02:56:52 2020 -0700

    scsi: qedi: Fix list_del corruption while removing active I/O
    
    [ Upstream commit 28b35d17f9f8573d4646dd8df08917a4076a6b63 ]
    
    While aborting the I/O, the firmware cleanup task timed out and driver
    deleted the I/O from active command list. Some time later the firmware
    sent the cleanup task response and driver again deleted the I/O from
    active command list causing firmware to send completion for non-existent
    I/O and list_del corruption of active command list.
    
    Add fix to check if I/O is present before deleting it from the active
    command list to ensure firmware sends valid I/O completion and protect
    against list_del corruption.
    
    Link: https://lore.kernel.org/r/20200908095657.26821-4-mrangankar@marvell.com
    Signed-off-by: Nilesh Javali <njavali@marvell.com>
    Signed-off-by: Manish Rangankar <mrangankar@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d0260f611c0816f2dc6fbf68ff8cb8cfdb028854
Author: Nilesh Javali <njavali@marvell.com>
Date:   Tue Sep 8 02:56:53 2020 -0700

    scsi: qedi: Protect active command list to avoid list corruption
    
    [ Upstream commit c0650e28448d606c84f76c34333dba30f61de993 ]
    
    Protect active command list for non-I/O commands like login response,
    logout response, text response, and recovery cleanup of active list to
    avoid list corruption.
    
    Link: https://lore.kernel.org/r/20200908095657.26821-5-mrangankar@marvell.com
    Signed-off-by: Nilesh Javali <njavali@marvell.com>
    Signed-off-by: Manish Rangankar <mrangankar@marvell.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 18136b33e38d418c679b291a05041fa7a77ac361
Author: Doug Horn <doughorn@google.com>
Date:   Wed Sep 2 14:08:25 2020 -0700

    Fix use after free in get_capset_info callback.
    
    [ Upstream commit e219688fc5c3d0d9136f8d29d7e0498388f01440 ]
    
    If a response to virtio_gpu_cmd_get_capset_info takes longer than
    five seconds to return, the callback will access freed kernel memory
    in vg->capsets.
    
    Signed-off-by: Doug Horn <doughorn@google.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/20200902210847.2689-2-gurchetansingh@chromium.org
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f98cea40fa21884ba2811a0be419f386322381eb
Author: Chris Chiu <chiu@endlessm.com>
Date:   Sun Sep 6 12:04:24 2020 +0800

    rtl8xxxu: prevent potential memory leak
    
    [ Upstream commit 86279456a4d47782398d3cb8193f78f672e36cac ]
    
    Free the skb if usb_submit_urb fails on rx_urb. And free the urb
    no matter usb_submit_urb succeeds or not in rtl8xxxu_submit_int_urb.
    
    Signed-off-by: Chris Chiu <chiu@endlessm.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20200906040424.22022-1-chiu@endlessm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a92781c83f3e08e6444227c9f7a2937516155eb3
Author: Keita Suzuki <keitasuzuki.park@sslab.ics.keio.ac.jp>
Date:   Tue Sep 8 12:17:41 2020 +0000

    brcmsmac: fix memory leak in wlc_phy_attach_lcnphy
    
    [ Upstream commit f4443293d741d1776b86ed1dd8c4e4285d0775fc ]
    
    When wlc_phy_txpwr_srom_read_lcnphy fails in wlc_phy_attach_lcnphy,
    the allocated pi->u.pi_lcnphy is leaked, since struct brcms_phy will be
    freed in the caller function.
    
    Fix this by calling wlc_phy_detach_lcnphy in the error handler of
    wlc_phy_txpwr_srom_read_lcnphy before returning.
    
    Signed-off-by: Keita Suzuki <keitasuzuki.park@sslab.ics.keio.ac.jp>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20200908121743.23108-1-keitasuzuki.park@sslab.ics.keio.ac.jp
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 9adcc7d4e518d8b4113c9151dce92303deaa0ae9
Author: Jing Xiangfeng <jingxiangfeng@huawei.com>
Date:   Mon Sep 7 16:39:49 2020 +0800

    scsi: ibmvfc: Fix error return in ibmvfc_probe()
    
    [ Upstream commit 5e48a084f4e824e1b624d3fd7ddcf53d2ba69e53 ]
    
    Fix to return error code PTR_ERR() from the error handling case instead of
    0.
    
    Link: https://lore.kernel.org/r/20200907083949.154251-1-jingxiangfeng@huawei.com
    Acked-by: Tyrel Datwyler <tyreld@linux.ibm.com>
    Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 738315384e49e4268a9c7fdeae57d59d43af3247
Author: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Date:   Fri Sep 11 15:33:18 2020 -0700

    Bluetooth: Only mark socket zapped after unlocking
    
    [ Upstream commit 20ae4089d0afeb24e9ceb026b996bfa55c983cc2 ]
    
    Since l2cap_sock_teardown_cb doesn't acquire the channel lock before
    setting the socket as zapped, it could potentially race with
    l2cap_sock_release which frees the socket. Thus, wait until the cleanup
    is complete before marking the socket as zapped.
    
    This race was reproduced on a JBL GO speaker after the remote device
    rejected L2CAP connection due to resource unavailability.
    
    Here is a dmesg log with debug logs from a repro of this bug:
    [ 3465.424086] Bluetooth: hci_core.c:hci_acldata_packet() hci0 len 16 handle 0x0003 flags 0x0002
    [ 3465.424090] Bluetooth: hci_conn.c:hci_conn_enter_active_mode() hcon 00000000cfedd07d mode 0
    [ 3465.424094] Bluetooth: l2cap_core.c:l2cap_recv_acldata() conn 000000007eae8952 len 16 flags 0x2
    [ 3465.424098] Bluetooth: l2cap_core.c:l2cap_recv_frame() len 12, cid 0x0001
    [ 3465.424102] Bluetooth: l2cap_core.c:l2cap_raw_recv() conn 000000007eae8952
    [ 3465.424175] Bluetooth: l2cap_core.c:l2cap_sig_channel() code 0x03 len 8 id 0x0c
    [ 3465.424180] Bluetooth: l2cap_core.c:l2cap_connect_create_rsp() dcid 0x0045 scid 0x0000 result 0x02 status 0x00
    [ 3465.424189] Bluetooth: l2cap_core.c:l2cap_chan_put() chan 000000006acf9bff orig refcnt 4
    [ 3465.424196] Bluetooth: l2cap_core.c:l2cap_chan_del() chan 000000006acf9bff, conn 000000007eae8952, err 111, state BT_CONNECT
    [ 3465.424203] Bluetooth: l2cap_sock.c:l2cap_sock_teardown_cb() chan 000000006acf9bff state BT_CONNECT
    [ 3465.424221] Bluetooth: l2cap_core.c:l2cap_chan_put() chan 000000006acf9bff orig refcnt 3
    [ 3465.424226] Bluetooth: hci_core.h:hci_conn_drop() hcon 00000000cfedd07d orig refcnt 6
    [ 3465.424234] BUG: spinlock bad magic on CPU#2, kworker/u17:0/159
    [ 3465.425626] Bluetooth: hci_sock.c:hci_sock_sendmsg() sock 000000002bb0cb64 sk 00000000a7964053
    [ 3465.430330]  lock: 0xffffff804410aac0, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
    [ 3465.430332] Causing a watchdog bite!
    
    Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
    Reported-by: Balakrishna Godavarthi <bgodavar@codeaurora.org>
    Reviewed-by: Manish Mandlik <mmandlik@chromium.org>
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 24bbdeda984b00db9682274b8987b74be7ea1919
Author: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
Date:   Fri Sep 11 09:25:11 2020 +1200

    usb: ohci: Default to per-port over-current protection
    
    [ Upstream commit b77d2a0a223bc139ee8904991b2922d215d02636 ]
    
    Some integrated OHCI controller hubs do not expose all ports of the hub
    to pins on the SoC. In some cases the unconnected ports generate
    spurious over-current events. For example the Broadcom 56060/Ranger 2 SoC
    contains a nominally 3 port hub but only the first port is wired.
    
    Default behaviour for ohci-platform driver is to use global over-current
    protection mode (AKA "ganged"). This leads to the spurious over-current
    events affecting all ports in the hub.
    
    We now alter the default to use per-port over-current protection.
    
    This patch results in the following configuration changes depending
    on quirks:
    - For quirk OHCI_QUIRK_SUPERIO no changes. These systems remain set up
      for ganged power switching and no over-current protection.
    - For quirk OHCI_QUIRK_AMD756 or OHCI_QUIRK_HUB_POWER power switching
      remains at none, while over-current protection is now guaranteed to be
      set to per-port rather than the previous behaviour where it was either
      none or global over-current protection depending on the value at
      function entry.
    
    Suggested-by: Alan Stern <stern@rowland.harvard.edu>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
    Link: https://lore.kernel.org/r/20200910212512.16670-1-hamish.martin@alliedtelesis.co.nz
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e004f8f381e383a32b4df0eec60cc9813864cd92
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Wed Sep 9 14:21:06 2020 -0700

    xfs: make sure the rt allocator doesn't run off the end
    
    [ Upstream commit 2a6ca4baed620303d414934aa1b7b0a8e7bab05f ]
    
    There's an overflow bug in the realtime allocator.  If the rt volume is
    large enough to handle a single allocation request that is larger than
    the maximum bmap extent length and the rt bitmap ends exactly on a
    bitmap block boundary, it's possible that the near allocator will try to
    check the freeness of a range that extends past the end of the bitmap.
    This fails with a corruption error and shuts down the fs.
    
    Therefore, constrain maxlen so that the range scan cannot run off the
    end of the rt bitmap.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7a1e074bc18d32718edcde0a0ad75fff262a4410
Author: Eric Biggers <ebiggers@google.com>
Date:   Sun Jun 28 00:00:57 2020 -0700

    reiserfs: only call unlock_new_inode() if I_NEW
    
    [ Upstream commit 8859bf2b1278d064a139e3031451524a49a56bd0 ]
    
    unlock_new_inode() is only meant to be called after a new inode has
    already been inserted into the hash table.  But reiserfs_new_inode() can
    call it even before it has inserted the inode, triggering the WARNING in
    unlock_new_inode().  Fix this by only calling unlock_new_inode() if the
    inode has the I_NEW flag set, indicating that it's in the table.
    
    This addresses the syzbot report "WARNING in unlock_new_inode"
    (https://syzkaller.appspot.com/bug?extid=187510916eb6a14598f7).
    
    Link: https://lore.kernel.org/r/20200628070057.820213-1-ebiggers@kernel.org
    Reported-by: syzbot+187510916eb6a14598f7@syzkaller.appspotmail.com
    Signed-off-by: Eric Biggers <ebiggers@google.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bad3576faaac16e41f0db3218f25b72c0523161d
Author: Keita Suzuki <keitasuzuki.park@sslab.ics.keio.ac.jp>
Date:   Wed Sep 9 07:18:51 2020 +0000

    misc: rtsx: Fix memory leak in rtsx_pci_probe
    
    [ Upstream commit bc28369c6189009b66d9619dd9f09bd8c684bb98 ]
    
    When mfd_add_devices() fail, pcr->slots should also be freed. However,
    the current implementation does not free the member, leading to a memory
    leak.
    
    Fix this by adding a new goto label that frees pcr->slots.
    
    Signed-off-by: Keita Suzuki <keitasuzuki.park@sslab.ics.keio.ac.jp>
    Link: https://lore.kernel.org/r/20200909071853.4053-1-keitasuzuki.park@sslab.ics.keio.ac.jp
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit df4318440c1568b7dedc5f7d4e617d0e297a1313
Author: Brooke Basile <brookebasile@gmail.com>
Date:   Fri Sep 11 03:14:27 2020 -0400

    ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs()
    
    [ Upstream commit 03fb92a432ea5abe5909bca1455b7e44a9380480 ]
    
    Calls to usb_kill_anchored_urbs() after usb_kill_urb() on multiprocessor
    systems create a race condition in which usb_kill_anchored_urbs() deallocates
    the URB before the completer callback is called in usb_kill_urb(), resulting
    in a use-after-free.
    To fix this, add proper lock protection to usb_kill_urb() calls that can
    possibly run concurrently with usb_kill_anchored_urbs().
    
    Reported-by: syzbot+89bd486af9427a9fc605@syzkaller.appspotmail.com
    Link: https://syzkaller.appspot.com/bug?id=cabffad18eb74197f84871802fd2c5117b61febf
    Signed-off-by: Brooke Basile <brookebasile@gmail.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/20200911071427.32354-1-brookebasile@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 03e738d32d460089f4f22512bc2166d5c2943862
Author: Joakim Zhang <qiangqing.zhang@nxp.com>
Date:   Tue Sep 22 16:44:19 2020 +0200

    can: flexcan: flexcan_chip_stop(): add error handling and propagate error value
    
    [ Upstream commit 9ad02c7f4f279504bdd38ab706fdc97d5f2b2a9c ]
    
    This patch implements error handling and propagates the error value of
    flexcan_chip_stop(). This function will be called from flexcan_suspend()
    in an upcoming patch in some SoCs which support LPSR mode.
    
    Add a new function flexcan_chip_stop_disable_on_error() that tries to
    disable the chip even in case of errors.
    
    Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
    [mkl: introduce flexcan_chip_stop_disable_on_error() and use it in flexcan_close()]
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Link: https://lore.kernel.org/r/20200922144429.2613631-11-mkl@pengutronix.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 5ba7cf36d6ab1420efe9005ca2ef5ef43511a5fd
Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Date:   Tue Sep 8 11:58:23 2020 +0200

    usb: dwc3: simple: add support for Hikey 970
    
    [ Upstream commit b68d9251561f33661e53dd618f1cafe7ec9ec3c2 ]
    
    This binding driver is needed for Hikey 970 to work,
    as otherwise a Serror is produced:
    
        [    1.837458] SError Interrupt on CPU0, code 0xbf000002 -- SError
        [    1.837462] CPU: 0 PID: 74 Comm: kworker/0:1 Not tainted 5.8.0+ #205
        [    1.837463] Hardware name: HiKey970 (DT)
        [    1.837465] Workqueue: events deferred_probe_work_func
        [    1.837467] pstate: 20000005 (nzCv daif -PAN -UAO BTYPE=--)
        [    1.837468] pc : _raw_spin_unlock_irqrestore+0x18/0x50
        [    1.837469] lr : regmap_unlock_spinlock+0x14/0x20
        [    1.837470] sp : ffff8000124dba60
        [    1.837471] x29: ffff8000124dba60 x28: 0000000000000000
        [    1.837474] x27: ffff0001b7e854c8 x26: ffff80001204ea18
        [    1.837476] x25: 0000000000000005 x24: ffff800011f918f8
        [    1.837479] x23: ffff800011fbb588 x22: ffff0001b7e40e00
        [    1.837481] x21: 0000000000000100 x20: 0000000000000000
        [    1.837483] x19: ffff0001b767ec00 x18: 00000000ff10c000
        [    1.837485] x17: 0000000000000002 x16: 0000b0740fdb9950
        [    1.837488] x15: ffff8000116c1198 x14: ffffffffffffffff
        [    1.837490] x13: 0000000000000030 x12: 0101010101010101
        [    1.837493] x11: 0000000000000020 x10: ffff0001bf17d130
        [    1.837495] x9 : 0000000000000000 x8 : ffff0001b6938080
        [    1.837497] x7 : 0000000000000000 x6 : 000000000000003f
        [    1.837500] x5 : 0000000000000000 x4 : 0000000000000000
        [    1.837502] x3 : ffff80001096a880 x2 : 0000000000000000
        [    1.837505] x1 : ffff0001b7e40e00 x0 : 0000000100000001
        [    1.837507] Kernel panic - not syncing: Asynchronous SError Interrupt
        [    1.837509] CPU: 0 PID: 74 Comm: kworker/0:1 Not tainted 5.8.0+ #205
        [    1.837510] Hardware name: HiKey970 (DT)
        [    1.837511] Workqueue: events deferred_probe_work_func
        [    1.837513] Call trace:
        [    1.837514]  dump_backtrace+0x0/0x1e0
        [    1.837515]  show_stack+0x18/0x24
        [    1.837516]  dump_stack+0xc0/0x11c
        [    1.837517]  panic+0x15c/0x324
        [    1.837518]  nmi_panic+0x8c/0x90
        [    1.837519]  arm64_serror_panic+0x78/0x84
        [    1.837520]  do_serror+0x158/0x15c
        [    1.837521]  el1_error+0x84/0x100
        [    1.837522]  _raw_spin_unlock_irqrestore+0x18/0x50
        [    1.837523]  regmap_write+0x58/0x80
        [    1.837524]  hi3660_reset_deassert+0x28/0x34
        [    1.837526]  reset_control_deassert+0x50/0x260
        [    1.837527]  reset_control_deassert+0xf4/0x260
        [    1.837528]  dwc3_probe+0x5dc/0xe6c
        [    1.837529]  platform_drv_probe+0x54/0xb0
        [    1.837530]  really_probe+0xe0/0x490
        [    1.837531]  driver_probe_device+0xf4/0x160
        [    1.837532]  __device_attach_driver+0x8c/0x114
        [    1.837533]  bus_for_each_drv+0x78/0xcc
        [    1.837534]  __device_attach+0x108/0x1a0
        [    1.837535]  device_initial_probe+0x14/0x20
        [    1.837537]  bus_probe_device+0x98/0xa0
        [    1.837538]  deferred_probe_work_func+0x88/0xe0
        [    1.837539]  process_one_work+0x1cc/0x350
        [    1.837540]  worker_thread+0x2c0/0x470
        [    1.837541]  kthread+0x154/0x160
        [    1.837542]  ret_from_fork+0x10/0x30
        [    1.837569] SMP: stopping secondary CPUs
        [    1.837570] Kernel Offset: 0x1d0000 from 0xffff800010000000
        [    1.837571] PHYS_OFFSET: 0x0
        [    1.837572] CPU features: 0x240002,20882004
        [    1.837573] Memory Limit: none
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Felipe Balbi <balbi@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c7f46529c5c927d33b4cb73ec8383d42b9e8603f
Author: Johan Hovold <johan@kernel.org>
Date:   Mon Sep 21 15:59:49 2020 +0200

    USB: cdc-acm: handle broken union descriptors
    
    [ Upstream commit 960c7339de27c6d6fec13b54880501c3576bb08d ]
    
    Handle broken union functional descriptors where the master-interface
    doesn't exist or where its class is of neither Communication or Data
    type (as required by the specification) by falling back to
    "combined-interface" probing.
    
    Note that this still allows for handling union descriptors with switched
    interfaces.
    
    This specifically makes the Whistler radio scanners TRX series devices
    work with the driver without adding further quirks to the device-id
    table.
    
    Reported-by: Daniel Caujolle-Bert <f1rmb.daniel@gmail.com>
    Tested-by: Daniel Caujolle-Bert <f1rmb.daniel@gmail.com>
    Acked-by: Oliver Neukum <oneukum@suse.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Link: https://lore.kernel.org/r/20200921135951.24045-3-johan@kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c1c3e98880ef9015cab4e3f4936c923273f70331
Author: Jan Kara <jack@suse.cz>
Date:   Fri Sep 25 12:14:03 2020 +0200

    udf: Avoid accessing uninitialized data on failed inode read
    
    [ Upstream commit 044e2e26f214e5ab26af85faffd8d1e4ec066931 ]
    
    When we fail to read inode, some data accessed in udf_evict_inode() may
    be uninitialized. Move the accesses to !is_bad_inode() branch.
    
    Reported-by: syzbot+91f02b28f9bb5f5f1341@syzkaller.appspotmail.com
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c33948e7f5295fb18797080507b2c7f2bab323f9
Author: Jan Kara <jack@suse.cz>
Date:   Fri Sep 25 14:53:08 2020 +0200

    udf: Limit sparing table size
    
    [ Upstream commit 44ac6b829c4e173fdf6df18e6dd86aecf9a3dc99 ]
    
    Although UDF standard allows it, we don't support sparing table larger
    than a single block. Check it during mount so that we don't try to
    access memory beyond end of buffer.
    
    Reported-by: syzbot+9991561e714f597095da@syzkaller.appspotmail.com
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cedb0187b8ba929c3f76f28e6bc25804d65f8a54
Author: Zqiang <qiang.zhang@windriver.com>
Date:   Fri Jun 5 11:05:33 2020 +0800

    usb: gadget: function: printer: fix use-after-free in __lock_acquire
    
    [ Upstream commit e8d5f92b8d30bb4ade76494490c3c065e12411b1 ]
    
    Fix this by increase object reference count.
    
    BUG: KASAN: use-after-free in __lock_acquire+0x3fd4/0x4180
    kernel/locking/lockdep.c:3831
    Read of size 8 at addr ffff8880683b0018 by task syz-executor.0/3377
    
    CPU: 1 PID: 3377 Comm: syz-executor.0 Not tainted 5.6.11 #1
    Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
    Call Trace:
     __dump_stack lib/dump_stack.c:77 [inline]
     dump_stack+0xce/0x128 lib/dump_stack.c:118
     print_address_description.constprop.4+0x21/0x3c0 mm/kasan/report.c:374
     __kasan_report+0x131/0x1b0 mm/kasan/report.c:506
     kasan_report+0x12/0x20 mm/kasan/common.c:641
     __asan_report_load8_noabort+0x14/0x20 mm/kasan/generic_report.c:135
     __lock_acquire+0x3fd4/0x4180 kernel/locking/lockdep.c:3831
     lock_acquire+0x127/0x350 kernel/locking/lockdep.c:4488
     __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
     _raw_spin_lock_irqsave+0x35/0x50 kernel/locking/spinlock.c:159
     printer_ioctl+0x4a/0x110 drivers/usb/gadget/function/f_printer.c:723
     vfs_ioctl fs/ioctl.c:47 [inline]
     ksys_ioctl+0xfb/0x130 fs/ioctl.c:763
     __do_sys_ioctl fs/ioctl.c:772 [inline]
     __se_sys_ioctl fs/ioctl.c:770 [inline]
     __x64_sys_ioctl+0x73/0xb0 fs/ioctl.c:770
     do_syscall_64+0x9e/0x510 arch/x86/entry/common.c:294
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    RIP: 0033:0x4531a9
    Code: ed 60 fc ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48
    89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
    01 f0 ff ff 0f 83 bb 60 fc ff c3 66 2e 0f 1f 84 00 00 00 00
    RSP: 002b:00007fd14ad72c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
    RAX: ffffffffffffffda RBX: 000000000073bfa8 RCX: 00000000004531a9
    RDX: fffffffffffffff9 RSI: 000000000000009e RDI: 0000000000000003
    RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000246 R12: 00000000004bbd61
    R13: 00000000004d0a98 R14: 00007fd14ad736d4 R15: 00000000ffffffff
    
    Allocated by task 2393:
     save_stack+0x21/0x90 mm/kasan/common.c:72
     set_track mm/kasan/common.c:80 [inline]
     __kasan_kmalloc.constprop.3+0xa7/0xd0 mm/kasan/common.c:515
     kasan_kmalloc+0x9/0x10 mm/kasan/common.c:529
     kmem_cache_alloc_trace+0xfa/0x2d0 mm/slub.c:2813
     kmalloc include/linux/slab.h:555 [inline]
     kzalloc include/linux/slab.h:669 [inline]
     gprinter_alloc+0xa1/0x870 drivers/usb/gadget/function/f_printer.c:1416
     usb_get_function+0x58/0xc0 drivers/usb/gadget/functions.c:61
     config_usb_cfg_link+0x1ed/0x3e0 drivers/usb/gadget/configfs.c:444
     configfs_symlink+0x527/0x11d0 fs/configfs/symlink.c:202
     vfs_symlink+0x33d/0x5b0 fs/namei.c:4201
     do_symlinkat+0x11b/0x1d0 fs/namei.c:4228
     __do_sys_symlinkat fs/namei.c:4242 [inline]
     __se_sys_symlinkat fs/namei.c:4239 [inline]
     __x64_sys_symlinkat+0x73/0xb0 fs/namei.c:4239
     do_syscall_64+0x9e/0x510 arch/x86/entry/common.c:294
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    Freed by task 3368:
     save_stack+0x21/0x90 mm/kasan/common.c:72
     set_track mm/kasan/common.c:80 [inline]
     kasan_set_free_info mm/kasan/common.c:337 [inline]
     __kasan_slab_free+0x135/0x190 mm/kasan/common.c:476
     kasan_slab_free+0xe/0x10 mm/kasan/common.c:485
     slab_free_hook mm/slub.c:1444 [inline]
     slab_free_freelist_hook mm/slub.c:1477 [inline]
     slab_free mm/slub.c:3034 [inline]
     kfree+0xf7/0x410 mm/slub.c:3995
     gprinter_free+0x49/0xd0 drivers/usb/gadget/function/f_printer.c:1353
     usb_put_function+0x38/0x50 drivers/usb/gadget/functions.c:87
     config_usb_cfg_unlink+0x2db/0x3b0 drivers/usb/gadget/configfs.c:485
     configfs_unlink+0x3b9/0x7f0 fs/configfs/symlink.c:250
     vfs_unlink+0x287/0x570 fs/namei.c:4073
     do_unlinkat+0x4f9/0x620 fs/namei.c:4137
     __do_sys_unlink fs/namei.c:4184 [inline]
     __se_sys_unlink fs/namei.c:4182 [inline]
     __x64_sys_unlink+0x42/0x50 fs/namei.c:4182
     do_syscall_64+0x9e/0x510 arch/x86/entry/common.c:294
     entry_SYSCALL_64_after_hwframe+0x49/0xbe
    
    The buggy address belongs to the object at ffff8880683b0000
     which belongs to the cache kmalloc-1k of size 1024
    The buggy address is located 24 bytes inside of
     1024-byte region [ffff8880683b0000, ffff8880683b0400)
    The buggy address belongs to the page:
    page:ffffea0001a0ec00 refcount:1 mapcount:0 mapping:ffff88806c00e300
    index:0xffff8880683b1800 compound_mapcount: 0
    flags: 0x100000000010200(slab|head)
    raw: 0100000000010200 0000000000000000 0000000600000001 ffff88806c00e300
    raw: ffff8880683b1800 000000008010000a 00000001ffffffff 0000000000000000
    page dumped because: kasan: bad access detected
    
    Reported-by: Kyungtae Kim <kt0755@gmail.com>
    Signed-off-by: Zqiang <qiang.zhang@windriver.com>
    Signed-off-by: Felipe Balbi <balbi@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 424b9b83ac91f3362b6a94558942c5827de21758
Author: Sherry Sun <sherry.sun@nxp.com>
Date:   Tue Sep 29 17:11:05 2020 +0800

    misc: vop: add round_up(x,4) for vring_size to avoid kernel panic
    
    [ Upstream commit cc1a2679865a94b83804822996eed010a50a7c1d ]
    
    Since struct _mic_vring_info and vring are allocated together and follow
    vring, if the vring_size() is not four bytes aligned, which will cause
    the start address of struct _mic_vring_info is not four byte aligned.
    For example, when vring entries is 128, the vring_size() will be 5126
    bytes. The _mic_vring_info struct layout in ddr looks like:
    0x90002400:  00000000 00390000 EE010000 0000C0FF
    Here 0x39 is the avail_idx member, and 0xC0FFEE01 is the magic member.
    
    When EP use ioread32(magic) to reads the magic in RC's share memory, it
    will cause kernel panic on ARM64 platform due to the cross-byte io read.
    Here read magic in user space use le32toh(vr0->info->magic) will meet
    the same issue.
    So add round_up(x,4) for vring_size, then the struct _mic_vring_info
    will store in this way:
    0x90002400:  00000000 00000000 00000039 C0FFEE01
    Which will avoid kernel panic when read magic in struct _mic_vring_info.
    
    Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
    Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
    Link: https://lore.kernel.org/r/20200929091106.24624-4-sherry.sun@nxp.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 38b7ac0aa5a61a7c3c961b3beff1831d602705c6
Author: Sherry Sun <sherry.sun@nxp.com>
Date:   Tue Sep 29 17:11:06 2020 +0800

    mic: vop: copy data to kernel space then write to io memory
    
    [ Upstream commit 675f0ad4046946e80412896436164d172cd92238 ]
    
    Read and write io memory should address align on ARCH ARM. Change to use
    memcpy_toio to avoid kernel panic caused by the address un-align issue.
    
    Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
    Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
    Link: https://lore.kernel.org/r/20200929091106.24624-5-sherry.sun@nxp.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d583c728ce8dc8c3419245f515af8050487f5e83
Author: Roman Bolshakov <r.bolshakov@yadro.com>
Date:   Tue Sep 29 15:59:57 2020 +0300

    scsi: target: core: Add CONTROL field for trace events
    
    [ Upstream commit 7010645ba7256992818b518163f46bd4cdf8002a ]
    
    trace-cmd report doesn't show events from target subsystem because
    scsi_command_size() leaks through event format string:
    
      [target:target_sequencer_start] function scsi_command_size not defined
      [target:target_cmd_complete] function scsi_command_size not defined
    
    Addition of scsi_command_size() to plugin_scsi.c in trace-cmd doesn't
    help because an expression is used inside TP_printk(). trace-cmd event
    parser doesn't understand minus sign inside [ ]:
    
      Error: expected ']' but read '-'
    
    Rather than duplicating kernel code in plugin_scsi.c, provide a dedicated
    field for CONTROL byte.
    
    Link: https://lore.kernel.org/r/20200929125957.83069-1-r.bolshakov@yadro.com
    Reviewed-by: Mike Christie <michael.christie@oracle.com>
    Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7a78bc1a4a854fe97a31ac064ddded899c70c898
Author: Jing Xiangfeng <jingxiangfeng@huawei.com>
Date:   Thu Sep 10 20:38:48 2020 +0800

    scsi: mvumi: Fix error return in mvumi_io_attach()
    
    [ Upstream commit 055f15ab2cb4a5cbc4c0a775ef3d0066e0fa9b34 ]
    
    Return PTR_ERR() from the error handling case instead of 0.
    
    Link: https://lore.kernel.org/r/20200910123848.93649-1-jingxiangfeng@huawei.com
    Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e8db1c3496ae7031dc2048e927226399970a5fdb
Author: Christoph Hellwig <hch@lst.de>
Date:   Fri Sep 25 18:14:47 2020 +0200

    PM: hibernate: remove the bogus call to get_gendisk() in software_resume()
    
    [ Upstream commit 428805c0c5e76ef643b1fbc893edfb636b3d8aef ]
    
    get_gendisk grabs a reference on the disk and file operation, so this
    code will leak both of them while having absolutely no use for the
    gendisk itself.
    
    This effectively reverts commit 2df83fa4bce421f ("PM / Hibernate: Use
    get_gendisk to verify partition if resume_file is integer format")
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 20ae51a36840a4d43614157218d5144788661853
Author: Thomas Pedersen <thomas@adapt-ip.com>
Date:   Mon Oct 5 09:45:21 2020 -0700

    mac80211: handle lack of sband->bitrates in rates
    
    [ Upstream commit 8b783d104e7f40684333d2ec155fac39219beb2f ]
    
    Even though a driver or mac80211 shouldn't produce a
    legacy bitrate if sband->bitrates doesn't exist, don't
    crash if that is the case either.
    
    This fixes a kernel panic if station dump is run before
    last_rate can be updated with a data frame when
    sband->bitrates is missing (eg. in S1G bands).
    
    Signed-off-by: Thomas Pedersen <thomas@adapt-ip.com>
    Link: https://lore.kernel.org/r/20201005164522.18069-1-thomas@adapt-ip.com
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cd3ecf114cbe4b12112cd2c175dbd1e41c70758f
Author: Cong Wang <xiyou.wangcong@gmail.com>
Date:   Mon Oct 12 16:17:21 2020 -0700

    ip_gre: set dev->hard_header_len and dev->needed_headroom properly
    
    [ Upstream commit fdafed459998e2be0e877e6189b24cb7a0183224 ]
    
    GRE tunnel has its own header_ops, ipgre_header_ops, and sets it
    conditionally. When it is set, it assumes the outer IP header is
    already created before ipgre_xmit().
    
    This is not true when we send packets through a raw packet socket,
    where L2 headers are supposed to be constructed by user. Packet
    socket calls dev_validate_header() to validate the header. But
    GRE tunnel does not set dev->hard_header_len, so that check can
    be simply bypassed, therefore uninit memory could be passed down
    to ipgre_xmit(). Similar for dev->needed_headroom.
    
    dev->hard_header_len is supposed to be the length of the header
    created by dev->header_ops->create(), so it should be used whenever
    header_ops is set, and dev->needed_headroom should be used when it
    is not set.
    
    Reported-and-tested-by: syzbot+4a2c52677a8a1aa283cb@syzkaller.appspotmail.com
    Cc: William Tu <u9012063@gmail.com>
    Acked-by: Willem de Bruijn <willemb@google.com>
    Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
    Acked-by: Xie He <xie.he.0141@gmail.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit dff5d774119537355b01e5b503d9468228d65044
Author: Rustam Kovhaev <rkovhaev@gmail.com>
Date:   Tue Oct 13 16:48:17 2020 -0700

    ntfs: add check for mft record size in superblock
    
    [ Upstream commit 4f8c94022f0bc3babd0a124c0a7dcdd7547bd94e ]
    
    Number of bytes allocated for mft record should be equal to the mft record
    size stored in ntfs superblock as reported by syzbot, userspace might
    trigger out-of-bounds read by dereferencing ctx->attr in ntfs_attr_find()
    
    Reported-by: syzbot+aed06913f36eff9b544e@syzkaller.appspotmail.com
    Signed-off-by: Rustam Kovhaev <rkovhaev@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Tested-by: syzbot+aed06913f36eff9b544e@syzkaller.appspotmail.com
    Acked-by: Anton Altaparmakov <anton@tuxera.com>
    Link: https://syzkaller.appspot.com/bug?extid=aed06913f36eff9b544e
    Link: https://lkml.kernel.org/r/20200824022804.226242-1-rkovhaev@gmail.com
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 4b799668bea8b98ad24943658d860fea46cbc389
Author: Dinghao Liu <dinghao.liu@zju.edu.cn>
Date:   Sun Jun 28 07:55:23 2020 +0200

    media: venus: core: Fix runtime PM imbalance in venus_probe
    
    [ Upstream commit bbe516e976fce538db96bd2b7287df942faa14a3 ]
    
    pm_runtime_get_sync() increments the runtime PM usage counter even
    when it returns an error code. Thus a pairing decrement is needed on
    the error handling path to keep the counter balanced. For other error
    paths after this call, things are the same.
    
    Fix this by adding pm_runtime_put_noidle() after 'err_runtime_disable'
    label. But in this case, the error path after pm_runtime_put_sync()
    will decrease PM usage counter twice. Thus add an extra
    pm_runtime_get_noresume() in this path to balance PM counter.
    
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 13296b64a81c74b0ec14c80d5c946ab77e4cee83
Author: Alexander Aring <aahringo@redhat.com>
Date:   Thu Aug 27 15:02:51 2020 -0400

    fs: dlm: fix configfs memory leak
    
    [ Upstream commit 3d2825c8c6105b0f36f3ff72760799fa2e71420e ]
    
    This patch fixes the following memory detected by kmemleak and umount
    gfs2 filesystem which removed the last lockspace:
    
    unreferenced object 0xffff9264f482f600 (size 192):
      comm "dlm_controld", pid 325, jiffies 4294690276 (age 48.136s)
      hex dump (first 32 bytes):
        00 00 00 00 00 00 00 00 6e 6f 64 65 73 00 00 00  ........nodes...
        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
      backtrace:
        [<00000000060481d7>] make_space+0x41/0x130
        [<000000008d905d46>] configfs_mkdir+0x1a2/0x5f0
        [<00000000729502cf>] vfs_mkdir+0x155/0x210
        [<000000000369bcf1>] do_mkdirat+0x6d/0x110
        [<00000000cc478a33>] do_syscall_64+0x33/0x40
        [<00000000ce9ccf01>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
    
    The patch just remembers the "nodes" entry pointer in space as I think
    it's created as subdirectory when parent "spaces" is created. In
    function drop_space() we will lost the pointer reference to nds because
    configfs_remove_default_groups(). However as this subdirectory is always
    available when "spaces" exists it will just be freed when "spaces" will be
    freed.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Signed-off-by: David Teigland <teigland@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3a285c8251dbffac3ae62595c19a51d32921cf9a
Author: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Date:   Wed Sep 2 08:37:12 2020 +0200

    media: saa7134: avoid a shift overflow
    
    [ Upstream commit 15a36aae1ec1c1f17149b6113b92631791830740 ]
    
    As reported by smatch:
            drivers/media/pci/saa7134//saa7134-tvaudio.c:686 saa_dsp_writel() warn: should 'reg << 2' be a 64 bit type?
    
    On a 64-bits Kernel, the shift might be bigger than 32 bits.
    
    In real, this should never happen, but let's shut up the warning.
    
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ac91e46ccec41c96b274952ba34be1cf98777b95
Author: Pali Rohár <pali@kernel.org>
Date:   Mon Jul 27 15:38:34 2020 +0200

    mmc: sdio: Check for CISTPL_VERS_1 buffer size
    
    [ Upstream commit 8ebe2607965d3e2dc02029e8c7dd35fbe508ffd0 ]
    
    Before parsing CISTPL_VERS_1 structure check that its size is at least two
    bytes to prevent buffer overflow.
    
    Signed-off-by: Pali Rohár <pali@kernel.org>
    Link: https://lore.kernel.org/r/20200727133837.19086-2-pali@kernel.org
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 69343448dba8a23acc26b92eef5b78748d9d51fd
Author: Adam Goode <agoode@google.com>
Date:   Sun Aug 23 03:21:33 2020 +0200

    media: uvcvideo: Ensure all probed info is returned to v4l2
    
    [ Upstream commit 8a652a17e3c005dcdae31b6c8fdf14382a29cbbe ]
    
    bFrameIndex and bFormatIndex can be negotiated by the camera during
    probing, resulting in the camera choosing a different format than
    expected. v4l2 can already accommodate such changes, but the code was
    not updating the proper fields.
    
    Without such a change, v4l2 would potentially interpret the payload
    incorrectly, causing corrupted output. This was happening on the
    Elgato HD60 S+, which currently always renegotiates to format 1.
    
    As an aside, the Elgato firmware is buggy and should not be renegotating,
    but it is still a valid thing for the camera to do. Both macOS and Windows
    will properly probe and read uncorrupted images from this camera.
    
    With this change, both qv4l2 and chromium can now read uncorrupted video
    from the Elgato HD60 S+.
    
    [Add blank lines, remove periods at the of messages]
    
    Signed-off-by: Adam Goode <agoode@google.com>
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 444b54da04ffafae68571eabcdb9acf33fb2940b
Author: Xiaolong Huang <butterflyhuangxx@gmail.com>
Date:   Fri Apr 17 11:52:30 2020 +0200

    media: media/pci: prevent memory leak in bttv_probe
    
    [ Upstream commit 7b817585b730665126b45df5508dd69526448bc8 ]
    
    In bttv_probe if some functions such as pci_enable_device,
    pci_set_dma_mask and request_mem_region fails the allocated
     memory for btv should be released.
    
    Signed-off-by: Xiaolong Huang <butterflyhuangxx@gmail.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 60299cf61e1ec5d783e681d84245301deb6fef17
Author: Dinghao Liu <dinghao.liu@zju.edu.cn>
Date:   Thu May 21 12:00:21 2020 +0200

    media: bdisp: Fix runtime PM imbalance on error
    
    [ Upstream commit dbd2f2dc025f9be8ae063e4f270099677238f620 ]
    
    pm_runtime_get_sync() increments the runtime PM usage counter even
    when it returns an error code. Thus a pairing decrement is needed on
    the error handling path to keep the counter balanced.
    
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Reviewed-by: Fabien Dessenne <fabien.dessenne@st.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8a517a48cb16f161523a132b0d6c925203b4bc4a
Author: Dinghao Liu <dinghao.liu@zju.edu.cn>
Date:   Thu May 21 12:05:02 2020 +0200

    media: platform: sti: hva: Fix runtime PM imbalance on error
    
    [ Upstream commit d912a1d9e9afe69c6066c1ceb6bfc09063074075 ]
    
    pm_runtime_get_sync() increments the runtime PM usage counter even
    when it returns an error code. Thus a pairing decrement is needed on
    the error handling path to keep the counter balanced.
    
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8526b2ea2f6bf86c968da84f8e7e5c9cb9a710c6
Author: Dinghao Liu <dinghao.liu@zju.edu.cn>
Date:   Thu May 21 15:29:33 2020 +0200

    media: platform: s3c-camif: Fix runtime PM imbalance on error
    
    [ Upstream commit dafa3605fe60d5a61239d670919b2a36e712481e ]
    
    pm_runtime_get_sync() increments the runtime PM usage counter even
    when it returns an error code. Thus a pairing decrement is needed on
    the error handling path to keep the counter balanced.
    
    Also, call pm_runtime_disable() when pm_runtime_get_sync() returns
    an error code.
    
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Reviewed-by: Sylwester Nawrocki <snawrocki@kernel.org>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fc71303c1fc7fc03ffd6629adcd6dc9472a9e2e9
Author: Dinghao Liu <dinghao.liu@zju.edu.cn>
Date:   Mon Jun 8 07:29:19 2020 +0200

    media: vsp1: Fix runtime PM imbalance on error
    
    [ Upstream commit 98fae901c8883640202802174a4bd70a1b9118bd ]
    
    pm_runtime_get_sync() increments the runtime PM usage counter even
    when it returns an error code. Thus a pairing decrement is needed on
    the error handling path to keep the counter balanced.
    
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8e506a74112279c8fdea1fa6ed1955b82fc00497
Author: Qiushi Wu <wu000273@umn.edu>
Date:   Sun Jun 14 05:01:11 2020 +0200

    media: exynos4-is: Fix a reference count leak
    
    [ Upstream commit 64157b2cb1940449e7df2670e85781c690266588 ]
    
    pm_runtime_get_sync() increments the runtime PM usage counter even
    when it returns an error code, causing incorrect ref count if
    pm_runtime_put_noidle() is not called in error handling paths.
    Thus call pm_runtime_put_noidle() if pm_runtime_get_sync() fails.
    
    Signed-off-by: Qiushi Wu <wu000273@umn.edu>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 93705ea75c8551de6bdcf9fe7975292683e6c1ab
Author: Qiushi Wu <wu000273@umn.edu>
Date:   Sun Jun 14 05:10:58 2020 +0200

    media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync
    
    [ Upstream commit c47f7c779ef0458a58583f00c9ed71b7f5a4d0a2 ]
    
    On calling pm_runtime_get_sync() the reference count of the device
    is incremented. In case of failure, decrement the
    reference count before returning the error.
    
    Signed-off-by: Qiushi Wu <wu000273@umn.edu>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 72818356f146e927b58e334d01e55610da584675
Author: Qiushi Wu <wu000273@umn.edu>
Date:   Sun Jun 14 05:18:29 2020 +0200

    media: exynos4-is: Fix several reference count leaks due to pm_runtime_get_sync
    
    [ Upstream commit 7ef64ceea0008c17e94a8a2c60c5d6d46f481996 ]
    
    On calling pm_runtime_get_sync() the reference count of the device
    is incremented. In case of failure, decrement the
    reference count before returning the error.
    
    Signed-off-by: Qiushi Wu <wu000273@umn.edu>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bde69ac535ebacb40a610e2463872cfde24f1aad
Author: Qiushi Wu <wu000273@umn.edu>
Date:   Sun Jun 14 05:31:06 2020 +0200

    media: sti: Fix reference count leaks
    
    [ Upstream commit 6f4432bae9f2d12fc1815b5e26cc07e69bcad0df ]
    
    pm_runtime_get_sync() increments the runtime PM usage counter even
    when it returns an error code, causing incorrect ref count if
    pm_runtime_put_noidle() is not called in error handling paths.
    Thus call pm_runtime_put_noidle() if pm_runtime_get_sync() fails.
    
    Signed-off-by: Qiushi Wu <wu000273@umn.edu>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 07e82f531e6ad1bac1f28591fa40fc558e1ac7ff
Author: Aditya Pakki <pakki001@umn.edu>
Date:   Sun Jun 14 05:58:41 2020 +0200

    media: st-delta: Fix reference count leak in delta_run_work
    
    [ Upstream commit 57cc666d36adc7b45e37ba4cd7bc4e44ec4c43d7 ]
    
    delta_run_work() calls delta_get_sync() that increments
    the reference counter. In case of failure, decrement the reference
    count by calling delta_put_autosuspend().
    
    Signed-off-by: Aditya Pakki <pakki001@umn.edu>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bc405f28d0a8769509659c95d1942d4b568ba69f
Author: Oliver Neukum <oneukum@suse.com>
Date:   Wed Sep 16 15:50:51 2020 +0200

    media: ati_remote: sanity check for both endpoints
    
    [ Upstream commit a8be80053ea74bd9c3f9a3810e93b802236d6498 ]
    
    If you do sanity checks, you should do them for both endpoints.
    Hence introduce checking for endpoint type for the output
    endpoint, too.
    
    Reported-by: syzbot+998261c2ae5932458f6c@syzkaller.appspotmail.com
    Signed-off-by: Oliver Neukum <oneukum@suse.com>
    Signed-off-by: Sean Young <sean@mess.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 33adca1aadcf56b429e93f412efdc203788a55c4
Author: Pavel Machek <pavel@ucw.cz>
Date:   Sun Sep 20 11:01:37 2020 +0200

    media: firewire: fix memory leak
    
    [ Upstream commit b28e32798c78a346788d412f1958f36bb760ec03 ]
    
    Fix memory leak in node_probe.
    
    Signed-off-by: Pavel Machek (CIP) <pavel@denx.de>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2c37decd6c5a67489c09bfd9fa46d64c1370992a
Author: Pavel Machek <pavel@denx.de>
Date:   Mon Sep 21 13:34:35 2020 +0200

    crypto: ccp - fix error handling
    
    [ Upstream commit e356c49c6cf0db3f00e1558749170bd56e47652d ]
    
    Fix resource leak in error handling.
    
    Signed-off-by: Pavel Machek (CIP) <pavel@denx.de>
    Acked-by: John Allen <john.allen@amd.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f86b9bf6228bb334fe1addcd566a658ecbd08f7e
Author: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Date:   Thu Oct 8 22:37:23 2020 +0900

    block: ratelimit handle_bad_sector() message
    
    [ Upstream commit f4ac712e4fe009635344b9af5d890fe25fcc8c0d ]
    
    syzbot is reporting unkillable task [1], for the caller is failing to
    handle a corrupted filesystem image which attempts to access beyond
    the end of the device. While we need to fix the caller, flooding the
    console with handle_bad_sector() message is unlikely useful.
    
    [1] https://syzkaller.appspot.com/bug?id=f1f49fb971d7a3e01bd8ab8cff2ff4572ccf3092
    
    Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 847fbf22ce2e1308454d793174063646f560d819
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Wed Oct 14 16:41:58 2020 +0200

    i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs
    
    [ Upstream commit 8058d69905058ec8f467a120b5ec5bb831ea67f3 ]
    
    Commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler()
    before i2c_acpi_register_devices()")'s intention was to only move the
    acpi_install_address_space_handler() call to the point before where
    the ACPI declared i2c-children of the adapter where instantiated by
    i2c_acpi_register_devices().
    
    But i2c_acpi_install_space_handler() had a call to
    acpi_walk_dep_device_list() hidden (that is I missed it) at the end
    of it, so as an unwanted side-effect now acpi_walk_dep_device_list()
    was also being called before i2c_acpi_register_devices().
    
    Move the acpi_walk_dep_device_list() call to the end of
    i2c_acpi_register_devices(), so that it is once again called *after*
    the i2c_client-s hanging of the adapter have been created.
    
    This fixes the Microsoft Surface Go 2 hanging at boot.
    
    Fixes: 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()")
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=209627
    Reported-by: Rainer Finke <rainer@finke.cc>
    Reported-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
    Suggested-by: Maximilian Luz <luzmaximilian@gmail.com>
    Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit cc304126a239f2ab1a9218a977ab29f644c5b828
Author: Al Grant <al.grant@foss.arm.com>
Date:   Mon Sep 21 21:46:37 2020 +0100

    perf: correct SNOOPX field offset
    
    [ Upstream commit f3d301c1f2f5676465cdf3259737ea19cc82731f ]
    
    perf_event.h has macros that define the field offsets in the
    data_src bitmask in perf records. The SNOOPX and REMOTE offsets
    were both 37. These are distinct fields, and the bitfield layout
    in perf_mem_data_src confirms that SNOOPX should be at offset 38.
    
    Fixes: 52839e653b5629bd ("perf tools: Add support for printing new mem_info encodings")
    Signed-off-by: Al Grant <al.grant@foss.arm.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Andi Kleen <ak@linux.intel.com>
    Link: https://lkml.kernel.org/r/4ac9f5cc-4388-b34a-9999-418a4099415d@foss.arm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2e2f41a9608cee81b02695d92f6d6debe773de65
Author: Juri Lelli <juri.lelli@redhat.com>
Date:   Tue Oct 13 07:31:14 2020 +0200

    sched/features: Fix !CONFIG_JUMP_LABEL case
    
    [ Upstream commit a73f863af4ce9730795eab7097fb2102e6854365 ]
    
    Commit:
    
      765cc3a4b224e ("sched/core: Optimize sched_feat() for !CONFIG_SCHED_DEBUG builds")
    
    made sched features static for !CONFIG_SCHED_DEBUG configurations, but
    overlooked the CONFIG_SCHED_DEBUG=y and !CONFIG_JUMP_LABEL cases.
    
    For the latter echoing changes to /sys/kernel/debug/sched_features has
    the nasty effect of effectively changing what sched_features reports,
    but without actually changing the scheduler behaviour (since different
    translation units get different sysctl_sched_features).
    
    Fix CONFIG_SCHED_DEBUG=y and !CONFIG_JUMP_LABEL configurations by properly
    restructuring ifdefs.
    
    Fixes: 765cc3a4b224e ("sched/core: Optimize sched_feat() for !CONFIG_SCHED_DEBUG builds")
    Co-developed-by: Daniel Bristot de Oliveira <bristot@redhat.com>
    Signed-off-by: Daniel Bristot de Oliveira <bristot@redhat.com>
    Signed-off-by: Juri Lelli <juri.lelli@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Acked-by: Patrick Bellasi <patrick.bellasi@matbug.net>
    Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
    Link: https://lore.kernel.org/r/20201013053114.160628-1-juri.lelli@redhat.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2d1fba2112ddb3fb8c906388167eb9b17fa0381c
Author: Kaige Li <likaige@loongson.cn>
Date:   Tue Aug 11 09:59:57 2020 +0800

    NTB: hw: amd: fix an issue about leak system resources
    
    [ Upstream commit 44a0a3c17919db1498cebb02ecf3cf4abc1ade7b ]
    
    The related system resources were not released when pci_set_dma_mask(),
    pci_set_consistent_dma_mask(), or pci_iomap() return error in the
    amd_ntb_init_pci() function. Add pci_release_regions() to fix it.
    
    Fixes: a1b3695820aa ("NTB: Add support for AMD PCI-Express Non-Transparent Bridge")
    Signed-off-by: Kaige Li <likaige@loongson.cn>
    Signed-off-by: Jon Mason <jdmason@kudzu.us>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b6addb4a03beff0d74c66bb3c20cd9836a73c4db
Author: zhenwei pi <pizhenwei@bytedance.com>
Date:   Thu Oct 15 09:51:40 2020 +0800

    nvmet: fix uninitialized work for zero kato
    
    [ Upstream commit 85bd23f3dc09a2ae9e56885420e52c54bf983713 ]
    
    When connecting a controller with a zero kato value using the following
    command line
    
       nvme connect -t tcp -n NQN -a ADDR -s PORT --keep-alive-tmo=0
    
    the warning below can be reproduced:
    
    WARNING: CPU: 1 PID: 241 at kernel/workqueue.c:1627 __queue_delayed_work+0x6d/0x90
    with trace:
      mod_delayed_work_on+0x59/0x90
      nvmet_update_cc+0xee/0x100 [nvmet]
      nvmet_execute_prop_set+0x72/0x80 [nvmet]
      nvmet_tcp_try_recv_pdu+0x2f7/0x770 [nvmet_tcp]
      nvmet_tcp_io_work+0x63f/0xb2d [nvmet_tcp]
      ...
    
    This is caused by queuing up an uninitialized work.  Althrough the
    keep-alive timer is disabled during allocating the controller (fixed in
    0d3b6a8d213a), ka_work still has a chance to run (called by
    nvmet_start_ctrl).
    
    Fixes: 0d3b6a8d213a ("nvmet: Disable keep-alive timer when kato is cleared to 0h")
    Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d3df4136df0567f8d8490acedf54440d2f6023de
Author: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Date:   Sat Oct 17 22:12:10 2020 +0530

    powerpc/powernv/dump: Fix race while processing OPAL dump
    
    [ Upstream commit 0a43ae3e2beb77e3481d812834d33abe270768ab ]
    
    Every dump reported by OPAL is exported to userspace through a sysfs
    interface and notified using kobject_uevent(). The userspace daemon
    (opal_errd) then reads the dump and acknowledges that the dump is
    saved safely to disk. Once acknowledged the kernel removes the
    respective sysfs file entry causing respective resources to be
    released including kobject.
    
    However it's possible the userspace daemon may already be scanning
    dump entries when a new sysfs dump entry is created by the kernel.
    User daemon may read this new entry and ack it even before kernel can
    notify userspace about it through kobject_uevent() call. If that
    happens then we have a potential race between
    dump_ack_store->kobject_put() and kobject_uevent which can lead to
    use-after-free of a kernfs object resulting in a kernel crash.
    
    This patch fixes this race by protecting the sysfs file
    creation/notification by holding a reference count on kobject until we
    safely send kobject_uevent().
    
    The function create_dump_obj() returns the dump object which if used
    by caller function will end up in use-after-free problem again.
    However, the return value of create_dump_obj() function isn't being
    used today and there is no need as well. Hence change it to return
    void to make this fix complete.
    
    Fixes: c7e64b9ce04a ("powerpc/powernv Platform dump interface")
    Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20201017164210.264619-1-hegdevasant@linux.vnet.ibm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1dd6032b19284568c2d64e62aebec43c587e33dd
Author: Michal Simek <michal.simek@xilinx.com>
Date:   Mon Aug 24 10:59:14 2020 +0200

    arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
    
    [ Upstream commit 35292518cb0a626fcdcabf739aed75060a018ab5 ]
    
    DT binding permits only one compatible string which was decribed in past by
    commit 63cab195bf49 ("i2c: removed work arounds in i2c driver for Zynq
    Ultrascale+ MPSoC").
    The commit aea37006e183 ("dt-bindings: i2c: cadence: Migrate i2c-cadence
    documentation to YAML") has converted binding to yaml and the following
    issues is reported:
    ...: i2c@ff030000: compatible: Additional items are not allowed
    ('cdns,i2c-r1p10' was unexpected)
            From schema:
    .../Documentation/devicetree/bindings/i2c/cdns,i2c-r1p10.yaml fds
    ...: i2c@ff030000: compatible: ['cdns,i2c-r1p14', 'cdns,i2c-r1p10'] is too
    long
    
    The commit c415f9e8304a ("ARM64: zynqmp: Fix i2c node's compatible string")
    has added the second compatible string but without removing origin one.
    The patch is only keeping one compatible string "cdns,i2c-r1p14".
    
    Fixes: c415f9e8304a ("ARM64: zynqmp: Fix i2c node's compatible string")
    Signed-off-by: Michal Simek <michal.simek@xilinx.com>
    Link: https://lore.kernel.org/r/cc294ae1a79ef845af6809ddb4049f0c0f5bb87a.1598259551.git.michal.simek@xilinx.com
    Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 993dcbabef6b184bdf3093e151f65ac01022b5e0
Author: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
Date:   Fri Aug 28 16:53:17 2020 +0300

    ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers
    
    [ Upstream commit 55f6c9931f7c32f19cf221211f099dfd8dab3af9 ]
    
    The PPI interrupts for cortex-a9 were incorrectly specified, fix them.
    
    Fixes: fdfe7f4f9d85 ("ARM: dts: Add Actions Semi S500 and LeMaker Guitar")
    Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
    Reviewed-by: Peter Korsgaard <peter@korsgaard.com>
    Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 347fa5456082f11ef455308347c6652d4f3c04b0
Author: Stephan Gerhold <stephan@gerhold.net>
Date:   Tue Sep 15 09:12:11 2020 +0200

    arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts
    
    [ Upstream commit 027cca9eb5b450c3f6bb916ba999144c2ec23cb7 ]
    
    The mdss node sets #interrupt-cells = <1>, so its interrupts
    should be referenced using a single cell (in this case: only the
    interrupt number).
    
    However, right now the mdp/dsi node both have two interrupt cells
    set, e.g. interrupts = <4 0>. The 0 is probably meant to say
    IRQ_TYPE_NONE (= 0), but with #interrupt-cells = <1> this is
    actually interpreted as a second interrupt line.
    
    Remove the IRQ flags from both interrupts to fix this.
    
    Fixes: 305410ffd1b2 ("arm64: dts: msm8916: Add display support")
    Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
    Link: https://lore.kernel.org/r/20200915071221.72895-5-stephan@gerhold.net
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 6646242f8a22289801842ba1e9ff519c965795b1
Author: Stephan Gerhold <stephan@gerhold.net>
Date:   Tue Sep 15 09:12:10 2020 +0200

    arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec
    
    [ Upstream commit c2f0cbb57dbac6da3d38b47b5b96de0fe4e23884 ]
    
    Tha parent node of "wcd_codec" specifies #address-cells = <1>
    and #size-cells = <0>, which means that each resource should be
    described by one cell for the address and size omitted.
    
    However, wcd_codec currently lists 0x200 as second cell (probably
    the size of the resource). When parsing this would be treated like
    another memory resource - which is entirely wrong.
    
    To quote the device tree specification [1]:
      "If the parent node specifies a value of 0 for #size-cells,
       the length field in the value of reg shall be omitted."
    
    [1]: https://www.devicetree.org/specifications/
    
    Fixes: 5582fcb3829f ("arm64: dts: apq8016-sbc: add analog audio support with multicodec")
    Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
    Link: https://lore.kernel.org/r/20200915071221.72895-4-stephan@gerhold.net
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 81124a34b256e6aeb4d2bd7e043657e347a8b23d
Author: Krzysztof Kozlowski <krzk@kernel.org>
Date:   Thu Aug 27 09:33:15 2020 +0200

    memory: fsl-corenet-cf: Fix handling of platform_get_irq() error
    
    [ Upstream commit dd85345abca60a8916617e8d75c0f9ce334336dd ]
    
    platform_get_irq() returns -ERRNO on error.  In such case comparison
    to 0 would pass the check.
    
    Fixes: 54afbec0d57f ("memory: Freescale CoreNet Coherency Fabric error reporting driver")
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Link: https://lore.kernel.org/r/20200827073315.29351-1-krzk@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7933045de9820d6549597d694768eb332dda01a1
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Thu Aug 27 20:53:16 2020 +0800

    memory: omap-gpmc: Fix build error without CONFIG_OF
    
    [ Upstream commit 13d029ee51da365aa9c859db0c7395129252bde8 ]
    
    If CONFIG_OF is n, gcc fails:
    
    drivers/memory/omap-gpmc.o: In function `gpmc_omap_onenand_set_timings':
        omap-gpmc.c:(.text+0x2a88): undefined reference to `gpmc_read_settings_dt'
    
    Add gpmc_read_settings_dt() helper function, which zero the gpmc_settings
    so the caller doesn't proceed with random/invalid settings.
    
    Fixes: a758f50f10cf ("mtd: onenand: omap2: Configure driver from DT")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Acked-by: Roger Quadros <rogerq@ti.com>
    Link: https://lore.kernel.org/r/20200827125316.20780-1-yuehaibing@huawei.com
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a076c65bb3f6421495d0ea7905b319da3f340539
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Tue Aug 25 13:47:07 2020 +0300

    memory: omap-gpmc: Fix a couple off by ones
    
    [ Upstream commit 4c54228ac8fd55044195825873c50a524131fa53 ]
    
    These comparisons should be >= instead of > to prevent reading one
    element beyond the end of the gpmc_cs[] array.
    
    Fixes: cdd6928c589a ("ARM: OMAP2+: Add device-tree support for NOR flash")
    Fixes: f37e4580c409 ("ARM: OMAP2: Dynamic allocator for GPMC memory space")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Roger Quadros <rogerq@ti.com>
    Link: https://lore.kernel.org/r/20200825104707.GB278587@mwanda
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7c6aa8c97a8df30192614cbe6d58bf4a75adc934
Author: Jernej Skrabec <jernej.skrabec@siol.net>
Date:   Mon Aug 24 21:36:49 2020 +0200

    ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator
    
    [ Upstream commit 3658a2b7f3e16c7053eb8d70657b94bb62c5a0f4 ]
    
    DCDC1 regulator powers many different subsystems. While some of them can
    work at 3.0 V, some of them can not. For example, VCC-HDMI can only work
    between 3.24 V and 3.36 V. According to OS images provided by the board
    manufacturer this regulator should be set to 3.3 V.
    
    Set DCDC1 and DCDC1SW to 3.3 V in order to fix this.
    
    Fixes: da7ac948fa93 ("ARM: dts: sun8i: Add board dts file for Banana Pi M2 Ultra")
    Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20200824193649.978197-1-jernej.skrabec@siol.net
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fd39a5903c2d88c29f82e61e2bf71f26a85a44fe
Author: Horia Geantă <horia.geanta@nxp.com>
Date:   Wed Jul 15 18:26:01 2020 +0300

    ARM: dts: imx6sl: fix rng node
    
    [ Upstream commit 82ffb35c2ce63ef8e0325f75eb48022abcf8edbe ]
    
    rng DT node was added without a compatible string.
    
    i.MX driver for RNGC (drivers/char/hw_random/imx-rngc.c) also claims
    support for RNGB, and is currently used for i.MX25.
    
    Let's use this driver also for RNGB block in i.MX6SL.
    
    Fixes: e29fe21cff96 ("ARM: dts: add device tree source for imx6sl SoC")
    Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit be6992b68bd05829b4fb35a2c4546d0273527a9c
Author: Pablo Neira Ayuso <pablo@netfilter.org>
Date:   Wed Oct 21 12:55:52 2020 +0200

    netfilter: nf_fwd_netdev: clear timestamp in forwarding path
    
    [ Upstream commit c77761c8a59405cb7aa44188b30fffe13fbdd02d ]
    
    Similar to 7980d2eabde8 ("ipvs: clear skb->tstamp in forwarding path").
    fq qdisc requires tstamp to be cleared in forwarding path.
    
    Fixes: 8203e2d844d3 ("net: clear skb->tstamp in forwarding paths")
    Fixes: fb420d5d91c1 ("tcp/fq: move back to CLOCK_MONOTONIC")
    Fixes: 80b14dee2bea ("net: Add a new socket option for a future transmit time.")
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b221c4a1f8778923f1984092b132fe3e176677c4
Author: Francesco Ruggeri <fruggeri@arista.com>
Date:   Wed Oct 7 12:32:52 2020 -0700

    netfilter: conntrack: connection timeout after re-register
    
    [ Upstream commit 4f25434bccc28cf8a07876ef5142a2869a674353 ]
    
    If the first packet conntrack sees after a re-register is an outgoing
    keepalive packet with no data (SEG.SEQ = SND.NXT-1), td_end is set to
    SND.NXT-1.
    When the peer correctly acknowledges SND.NXT, tcp_in_window fails
    check III (Upper bound for valid (s)ack: sack <= receiver.td_end) and
    returns false, which cascades into nf_conntrack_in setting
    skb->_nfct = 0 and in later conntrack iptables rules not matching.
    In cases where iptables are dropping packets that do not match
    conntrack rules this can result in idle tcp connections to time out.
    
    v2: adjust td_end when getting the reply rather than when sending out
        the keepalive packet.
    
    Fixes: f94e63801ab2 ("netfilter: conntrack: reset tcp maxwin on re-register")
    Signed-off-by: Francesco Ruggeri <fruggeri@arista.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f747f03f270a4d65cfeeeb011dcfb7ddd6ca8afb
Author: Robert Hoo <robert.hu@linux.intel.com>
Date:   Fri Aug 28 10:23:42 2020 +0800

    KVM: x86: emulating RDPID failure shall return #UD rather than #GP
    
    [ Upstream commit a9e2e0ae686094571378c72d8146b5a1a92d0652 ]
    
    Per Intel's SDM, RDPID takes a #UD if it is unsupported, which is more or
    less what KVM is emulating when MSR_TSC_AUX is not available.  In fact,
    there are no scenarios in which RDPID is supposed to #GP.
    
    Fixes: fb6d4d340e ("KVM: x86: emulate RDPID")
    Signed-off-by: Robert Hoo <robert.hu@linux.intel.com>
    Message-Id: <1598581422-76264-1-git-send-email-robert.hu@linux.intel.com>
    Reviewed-by: Jim Mattson <jmattson@google.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 7bdbfb491fb272caa119263649527810abeca1e2
Author: Krzysztof Kozlowski <krzk@kernel.org>
Date:   Tue Sep 15 17:56:40 2020 -0700

    Input: sun4i-ps2 - fix handling of platform_get_irq() error
    
    [ Upstream commit cafb3abea6136e59ea534004e5773361e196bb94 ]
    
    platform_get_irq() returns -ERRNO on error.  In such case comparison
    to 0 would pass the check.
    
    Fixes: e443631d20f5 ("Input: serio - add support for Alwinner A10/A20 PS/2 controller")
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Acked-by: Chen-Yu Tsai <wens@csie.org>
    Link: https://lore.kernel.org/r/20200828145744.3636-4-krzk@kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3fdaec080f3595c305de3db9cb8e070a3b264d07
Author: Krzysztof Kozlowski <krzk@kernel.org>
Date:   Tue Sep 15 17:56:19 2020 -0700

    Input: twl4030_keypad - fix handling of platform_get_irq() error
    
    [ Upstream commit c277e1f0dc3c7d7b5b028e20dd414df241642036 ]
    
    platform_get_irq() returns -ERRNO on error.  In such case casting to
    unsigned and comparing to 0 would pass the check.
    
    Fixes: 7abf38d6d13c ("Input: twl4030-keypad - add device tree support")
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Link: https://lore.kernel.org/r/20200828145744.3636-3-krzk@kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 64c1c4f6409c4275d07bb247ed37a8c9c651d913
Author: Krzysztof Kozlowski <krzk@kernel.org>
Date:   Tue Sep 15 17:52:15 2020 -0700

    Input: omap4-keypad - fix handling of platform_get_irq() error
    
    [ Upstream commit 4738dd1992fa13acfbbd71800c71c612f466fa44 ]
    
    platform_get_irq() returns -ERRNO on error.  In such case comparison
    to 0 would pass the check.
    
    Fixes: f3a1ba60dbdb ("Input: omap4-keypad - use platform device helpers")
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Link: https://lore.kernel.org/r/20200828145744.3636-2-krzk@kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b04c0ccb51fd60fd0be6a957b2c95103efd2b4fb
Author: Krzysztof Kozlowski <krzk@kernel.org>
Date:   Tue Sep 15 17:51:05 2020 -0700

    Input: ep93xx_keypad - fix handling of platform_get_irq() error
    
    [ Upstream commit 7d50f6656dacf085a00beeedbc48b19a37d17881 ]
    
    platform_get_irq() returns -ERRNO on error.  In such case comparison
    to 0 would pass the check.
    
    Fixes: 60214f058f44 ("Input: ep93xx_keypad - update driver to new core support")
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Link: https://lore.kernel.org/r/20200828145744.3636-1-krzk@kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit aff40b67f75b3b75b96adf8ab77b7717dcf7f47e
Author: YueHaibing <yuehaibing@huawei.com>
Date:   Wed Sep 16 10:26:09 2020 -0700

    Input: stmfts - fix a & vs && typo
    
    [ Upstream commit d04afe14b23651e7a8bc89727a759e982a8458e4 ]
    
    In stmfts_sysfs_hover_enable_write(), we should check value and
    sdata->hover_enabled is all true.
    
    Fixes: 78bcac7b2ae1 ("Input: add support for the STMicroelectronics FingerTip touchscreen")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Link: https://lore.kernel.org/r/20200916141941.16684-1-yuehaibing@huawei.com
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 2a0ffcfe9f3b95c39434eaf6a680f11bd6767cb7
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Mon Sep 14 10:17:01 2020 -0700

    Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
    
    [ Upstream commit 30df23c5ecdfb8da5b0bc17ceef67eff9e1b0957 ]
    
    If imx6ul_tsc_init() fails then we need to clean up the clocks.
    
    I reversed the "if (input_dev->users) {" condition to make the code a
    bit simpler.
    
    Fixes: 6cc527b05847 ("Input: imx6ul_tsc - propagate the errors")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Link: https://lore.kernel.org/r/20200905124942.GC183976@mwanda
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit af74b4a25fb2070c5061c29c1e07ee6b0d12ba84
Author: Martijn de Gouw <martijn.de.gouw@prodrive-technologies.com>
Date:   Mon Oct 19 13:42:27 2020 +0200

    SUNRPC: fix copying of multiple pages in gss_read_proxy_verf()
    
    [ Upstream commit d48c8124749c9a5081fe68680f83605e272c984b ]
    
    When the passed token is longer than 4032 bytes, the remaining part
    of the token must be copied from the rqstp->rq_arg.pages. But the
    copy must make sure it happens in a consecutive way.
    
    With the existing code, the first memcpy copies 'length' bytes from
    argv->iobase, but since the header is in front, this never fills the
    whole first page of in_token->pages.
    
    The mecpy in the loop copies the following bytes, but starts writing at
    the next page of in_token->pages.  This leaves the last bytes of page 0
    unwritten.
    
    Symptoms were that users with many groups were not able to access NFS
    exports, when using Active Directory as the KDC.
    
    Signed-off-by: Martijn de Gouw <martijn.de.gouw@prodrive-technologies.com>
    Fixes: 5866efa8cbfb "SUNRPC: Fix svcauth_gss_proxy_init()"
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 707f8d0d380d7893cca2c6f196e0281b09db6d36
Author: Xiaoyang Xu <xuxiaoyang2@huawei.com>
Date:   Fri Oct 16 17:35:58 2020 +0800

    vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages
    
    [ Upstream commit 2e6cfd496f5b57034cf2aec738799571b5a52124 ]
    
    pfn is not added to pfn_list when vfio_add_to_pfn_list fails.
    vfio_unpin_page_external will exit directly without calling
    vfio_iova_put_vfio_pfn.  This will lead to a memory leak.
    
    Fixes: a54eb55045ae ("vfio iommu type1: Add support for mediated devices")
    Signed-off-by: Xiaoyang Xu <xuxiaoyang2@huawei.com>
    [aw: simplified logic, add Fixes]
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f393f4a5fcbc38248a9a261f4cbee8ea5b1296fd
Author: Alex Williamson <alex.williamson@redhat.com>
Date:   Mon Oct 19 07:13:55 2020 -0600

    vfio/pci: Clear token on bypass registration failure
    
    [ Upstream commit 852b1beecb6ff9326f7ca4bc0fe69ae860ebdb9e ]
    
    The eventfd context is used as our irqbypass token, therefore if an
    eventfd is re-used, our token is the same.  The irqbypass code will
    return an -EBUSY in this case, but we'll still attempt to unregister
    the producer, where if that duplicate token still exists, results in
    removing the wrong object.  Clear the token of failed producers so
    that they harmlessly fall out when unregistered.
    
    Fixes: 6d7425f109d2 ("vfio: Register/unregister irq_bypass_producer")
    Reported-by: guomin chen <guomin_chen@sina.com>
    Tested-by: guomin chen <guomin_chen@sina.com>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3abb2ac9594b3a7a54086e05452dba25a011a78b
Author: Darrick J. Wong <darrick.wong@oracle.com>
Date:   Thu Oct 1 15:21:48 2020 -0700

    ext4: limit entries returned when counting fsmap records
    
    [ Upstream commit af8c53c8bc087459b1aadd4c94805d8272358d79 ]
    
    If userspace asked fsmap to try to count the number of entries, we cannot
    return more than UINT_MAX entries because fmh_entries is u32.
    Therefore, stop counting if we hit this limit or else we will waste time
    to return truncated results.
    
    Fixes: 0c9ec4beecac ("ext4: support GETFSMAP ioctls")
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Link: https://lore.kernel.org/r/20201001222148.GA49520@magnolia
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 95e7b4ee3d35c8d2bca4ad3c3365abdea0bbb71d
Author: Dan Aloni <dan@kernelim.com>
Date:   Fri Oct 2 22:33:43 2020 +0300

    svcrdma: fix bounce buffers for unaligned offsets and multiple pages
    
    [ Upstream commit c327a310ec4d6ecbea13185ed56c11def441d9ab ]
    
    This was discovered using O_DIRECT at the client side, with small
    unaligned file offsets or IOs that span multiple file pages.
    
    Fixes: e248aa7be86 ("svcrdma: Remove max_sge check at connect time")
    Signed-off-by: Dan Aloni <dan@kernelim.com>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit f649e6f9d6164f33b559de6613218b12881581c4
Author: Guenter Roeck <linux@roeck-us.net>
Date:   Thu Sep 10 09:31:08 2020 -0700

    watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3
    
    [ Upstream commit 08c619b4923056b5dd2d5045757468c76ad0e3fe ]
    
    EFCH_PM_DECODEEN3 is supposed to access DECODEEN register bits 24..31,
    in other words the register at byte offset 3.
    
    Cc: Jan Kiszka <jan.kiszka@siemens.com>
    Fixes: 887d2ec51e34b ("watchdog: sp5100_tco: Add support for recent FCH versions")
    Tested-by: Jan Kiszka <jan.kiszka@siemens.com>
    Link: https://lore.kernel.org/r/20200910163109.235136-1-linux@roeck-us.net
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 322661e7616d261e3e6dae9a088b900127d6b7c1
Author: Dinghao Liu <dinghao.liu@zju.edu.cn>
Date:   Mon Aug 24 11:12:30 2020 +0800

    watchdog: Use put_device on error
    
    [ Upstream commit 937425d4cd3ae4e2882b41e332bbbab616bcf0ad ]
    
    We should use put_device() instead of freeing device
    directly after device_initialize().
    
    Fixes: cb36e29bb0e4b ("watchdog: initialize device before misc_register")
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/20200824031230.31050-1-dinghao.liu@zju.edu.cn
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a19725131e162e85ef2aa08b457148073f5349f5
Author: Dinghao Liu <dinghao.liu@zju.edu.cn>
Date:   Mon Aug 24 10:40:01 2020 +0800

    watchdog: Fix memleak in watchdog_cdev_register
    
    [ Upstream commit 5afb6d203d0293512aa2c6ae098274a2a4f6ed02 ]
    
    When watchdog_kworker is NULL, we should free wd_data
    before the function returns to prevent memleak.
    
    Fixes: 664a39236e718 ("watchdog: Introduce hardware maximum heartbeat in watchdog core")
    Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Link: https://lore.kernel.org/r/20200824024001.25474-1-dinghao.liu@zju.edu.cn
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c4b3ab9e406d1d033c32966107969443ab8585e0
Author: Navid Emamdoost <navid.emamdoost@gmail.com>
Date:   Sun Aug 9 18:11:58 2020 -0500

    clk: bcm2835: add missing release if devm_clk_hw_register fails
    
    [ Upstream commit f6c992ca7dd4f49042eec61f3fb426c94d901675 ]
    
    In the implementation of bcm2835_register_pll(), the allocated pll is
    leaked if devm_clk_hw_register() fails to register hw. Release pll if
    devm_clk_hw_register() fails.
    
    Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
    Link: https://lore.kernel.org/r/20200809231202.15811-1-navid.emamdoost@gmail.com
    Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain clocks")
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit c579bc45752b8b6b447baecf7d50b064c9edc8d2
Author: Claudiu Beznea <claudiu.beznea@microchip.com>
Date:   Tue Aug 25 09:59:10 2020 +0300

    clk: at91: clk-main: update key before writing AT91_CKGR_MOR
    
    [ Upstream commit 85d071e7f19a6a9abf30476b90b3819642568756 ]
    
    SAMA5D2 datasheet specifies on chapter 33.22.8 (PMC Clock Generator
    Main Oscillator Register) that writing any value other than
    0x37 on KEY field aborts the write operation. Use the key when
    selecting main clock parent.
    
    Fixes: 27cb1c2083373 ("clk: at91: rework main clk implementation")
    Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
    Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Link: https://lore.kernel.org/r/1598338751-20607-3-git-send-email-claudiu.beznea@microchip.com
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 206d594334dcca4c30e390514e29f43d48aff4a4
Author: Stephen Boyd <sboyd@kernel.org>
Date:   Wed Sep 23 17:41:44 2020 -0700

    clk: rockchip: Initialize hw to error to avoid undefined behavior
    
    [ Upstream commit b608f11d49ec671739604cc763248d8e8fadbbeb ]
    
    We can get down to this return value from ERR_CAST() without
    initializing hw. Set it to -ENOMEM so that we always return something
    sane.
    
    Fixes the following smatch warning:
    
    drivers/clk/rockchip/clk-half-divider.c:228 rockchip_clk_register_halfdiv() error: uninitialized symbol 'hw'.
    drivers/clk/rockchip/clk-half-divider.c:228 rockchip_clk_register_halfdiv() warn: passing zero to 'ERR_CAST'
    
    Cc: Elaine Zhang <zhangqing@rock-chips.com>
    Cc: Heiko Stuebner <heiko@sntech.de>
    Fixes: 956060a52795 ("clk: rockchip: add support for half divider")
    Reviewed-by: Heiko Stuebner <heiko@sntech.de>
    Signed-off-by: Stephen Boyd <sboyd@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit fef79803054786306d742fa6b9524d853072120a
Author: Hauke Mehrtens <hauke@hauke-m.de>
Date:   Thu Aug 20 19:14:25 2020 +0200

    pwm: img: Fix null pointer access in probe
    
    [ Upstream commit b39c0615d0667b3a6f2f5c4bf99ffadf3b518bb1 ]
    
    dev_get_drvdata() is called in img_pwm_runtime_resume() before the
    driver data is set.
    When pm_runtime_enabled() returns false in img_pwm_probe() it calls
    img_pwm_runtime_resume() which results in a null pointer access.
    
    This patch fixes the problem by setting the driver data earlier in the
    img_pwm_probe() function.
    
    This crash was seen when booting the Imagination Technologies Creator
    Ci40 (Marduk) with kernel 5.4 in OpenWrt.
    
    Fixes: e690ae526216 ("pwm: img: Add runtime PM")
    Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
    Acked-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit df6e89d6371b4331567a0e8aae87684eaa162611
Author: Dan Carpenter <dan.carpenter@oracle.com>
Date:   Tue Sep 8 10:18:41 2020 +0300

    rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge()
    
    [ Upstream commit e69ee0cf655e8e0c4a80f4319e36019b74f17639 ]
    
    We need to call of_node_put(node) on the error paths for this function.
    
    Fixes: 53e2822e56c7 ("rpmsg: Introduce Qualcomm SMD backend")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Link: https://lore.kernel.org/r/20200908071841.GA294938@mwanda
    Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3dcf906a97c8e3469ff2c67d60575e30bc1b45f9
Author: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Date:   Mon Aug 3 15:52:40 2020 +1200

    PCI: iproc: Set affinity mask on MSI interrupts
    
    [ Upstream commit eb7eacaa5b9e4f665bd08d416c8f88e63d2f123c ]
    
    The core interrupt code expects the irq_set_affinity call to update the
    effective affinity for the interrupt. This was not being done, so update
    iproc_msi_irq_set_affinity() to do so.
    
    Link: https://lore.kernel.org/r/20200803035241.7737-1-mark.tomlinson@alliedtelesis.co.nz
    Fixes: 3bc2b2348835 ("PCI: iproc: Add iProc PCIe MSI support")
    Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: Ray Jui <ray.jui@broadcom.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 72218b0ac1620724564c5ac46559fdbc5bb9b880
Author: Dirk Behme <dirk.behme@de.bosch.com>
Date:   Thu Aug 27 11:23:30 2020 +0200

    i2c: rcar: Auto select RESET_CONTROLLER
    
    [ Upstream commit 5b9bacf28a973a6b16510493416baeefa2c06289 ]
    
    The i2c-rcar driver utilizes the Generic Reset Controller kernel
    feature, so select the RESET_CONTROLLER option when the I2C_RCAR
    option is selected with a Gen3 SoC.
    
    Fixes: 2b16fd63059ab9 ("i2c: rcar: handle RXDMA HW behaviour on Gen3")
    Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
    Signed-off-by: Andy Lowe <andy_lowe@mentor.com>
    [erosca: Add "if ARCH_RCAR_GEN3" per Wolfram's request]
    Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 8299f4bfa91500e7f648357e9e2a5ef70c0d9d26
Author: Jassi Brar <jaswinder.singh@linaro.org>
Date:   Fri Oct 16 12:20:56 2020 -0500

    mailbox: avoid timer start from callback
    
    [ Upstream commit c7dacf5b0f32957b24ef29df1207dc2cd8307743 ]
    
    If the txdone is done by polling, it is possible for msg_submit() to start
    the timer while txdone_hrtimer() callback is running. If the timer needs
    recheduling, it could already be enqueued by the time hrtimer_forward_now()
    is called, leading hrtimer to loudly complain.
    
    WARNING: CPU: 3 PID: 74 at kernel/time/hrtimer.c:932 hrtimer_forward+0xc4/0x110
    CPU: 3 PID: 74 Comm: kworker/u8:1 Not tainted 5.9.0-rc2-00236-gd3520067d01c-dirty #5
    Hardware name: Libre Computer AML-S805X-AC (DT)
    Workqueue: events_freezable_power_ thermal_zone_device_check
    pstate: 20000085 (nzCv daIf -PAN -UAO BTYPE=--)
    pc : hrtimer_forward+0xc4/0x110
    lr : txdone_hrtimer+0xf8/0x118
    [...]
    
    This can be fixed by not starting the timer from the callback path. Which
    requires the timer reloading as long as any message is queued on the
    channel, and not just when current tx is not done yet.
    
    Fixes: 0cc67945ea59 ("mailbox: switch to hrtimer for tx_complete polling")
    Reported-by: Da Xue <da@libre.computer>
    Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
    Tested-by: Sudeep Holla <sudeep.holla@arm.com>
    Acked-by: Jerome Brunet <jbrunet@baylibre.com>
    Tested-by: Jerome Brunet <jbrunet@baylibre.com>
    Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit ef5f040e6b7689381bf90dba4b01a20c86e59a2b
Author: Jing Xiangfeng <jingxiangfeng@huawei.com>
Date:   Thu Oct 15 20:13:18 2020 -0700

    rapidio: fix the missed put_device() for rio_mport_add_riodev
    
    [ Upstream commit 85094c05eeb47d195a74a25366a2db066f1c9d47 ]
    
    rio_mport_add_riodev() misses to call put_device() when the device already
    exists.  Add the missed function call to fix it.
    
    Fixes: e8de370188d0 ("rapidio: add mport char device driver")
    Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: Matt Porter <mporter@kernel.crashing.org>
    Cc: Alexandre Bounine <alex.bou9@gmail.com>
    Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
    Cc: John Hubbard <jhubbard@nvidia.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
    Link: https://lkml.kernel.org/r/20200922072525.42330-1-jingxiangfeng@huawei.com
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e254737939c8cfa08002333606de8c3a7744485b
Author: Souptick Joarder <jrdr.linux@gmail.com>
Date:   Thu Oct 15 20:13:15 2020 -0700

    rapidio: fix error handling path
    
    [ Upstream commit fa63f083b3492b5ed5332b8d7c90b03b5ef24a1d ]
    
    rio_dma_transfer() attempts to clamp the return value of
    pin_user_pages_fast() to be >= 0.  However, the attempt fails because
    nr_pages is overridden a few lines later, and restored to the undesirable
    -ERRNO value.
    
    The return value is ultimately stored in nr_pages, which in turn is passed
    to unpin_user_pages(), which expects nr_pages >= 0, else, disaster.
    
    Fix this by fixing the nesting of the assignment to nr_pages: nr_pages
    should be clamped to zero if pin_user_pages_fast() returns -ERRNO, or set
    to the return value of pin_user_pages_fast(), otherwise.
    
    [jhubbard@nvidia.com: new changelog]
    
    Fixes: e8de370188d09 ("rapidio: add mport char device driver")
    Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Reviewed-by: Ira Weiny <ira.weiny@intel.com>
    Reviewed-by: John Hubbard <jhubbard@nvidia.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Matt Porter <mporter@kernel.crashing.org>
    Cc: Alexandre Bounine <alex.bou9@gmail.com>
    Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
    Cc: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
    Cc: Dan Carpenter <dan.carpenter@oracle.com>
    Link: https://lkml.kernel.org/r/1600227737-20785-1-git-send-email-jrdr.linux@gmail.com
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 438191cfde4257238e3dcd765ae77639e1824635
Author: Matthew Wilcox (Oracle) <willy@infradead.org>
Date:   Thu Oct 15 20:13:04 2020 -0700

    ramfs: fix nommu mmap with gaps in the page cache
    
    [ Upstream commit 50b7d85680086126d7bd91dae81d57d4cb1ab6b7 ]
    
    ramfs needs to check that pages are both physically contiguous and
    contiguous in the file.  If the page cache happens to have, eg, page A for
    index 0 of the file, no page for index 1, and page A+1 for index 2, then
    an mmap of the first two pages of the file will succeed when it should
    fail.
    
    Fixes: 642fb4d1f1dd ("[PATCH] NOMMU: Provide shared-writable mmap support on ramfs")
    Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: David Howells <dhowells@redhat.com>
    Link: https://lkml.kernel.org/r/20200914122239.GO6583@casper.infradead.org
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 67f4d89b4efa2726eb0f04e6987dbcde3e7c24a0
Author: Tobias Jordan <kernel@cdqe.de>
Date:   Thu Oct 15 20:11:38 2020 -0700

    lib/crc32.c: fix trivial typo in preprocessor condition
    
    [ Upstream commit 904542dc56524f921a6bab0639ff6249c01e775f ]
    
    Whether crc32_be needs a lookup table is chosen based on CRC_LE_BITS.
    Obviously, the _be function should be governed by the _BE_ define.
    
    This probably never pops up as it's hard to come up with a configuration
    where CRC_BE_BITS isn't the same as CRC_LE_BITS and as nobody is using
    bitwise CRC anyway.
    
    Fixes: 46c5801eaf86 ("crc32: bolt on crc32c")
    Signed-off-by: Tobias Jordan <kernel@cdqe.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Cc: Krzysztof Kozlowski <krzk@kernel.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Link: https://lkml.kernel.org/r/20200923182122.GA3338@agrajag.zerfleddert.de
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 3b0503e30811dc21a76bc0f42c01ebbfb371d46a
Author: Jamie Iles <jamie@nuviainc.com>
Date:   Mon Oct 12 14:09:48 2020 +0100

    f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info
    
    [ Upstream commit ae284d87abade58c8db7760c808f311ef1ce693c ]
    
    syzkaller found that with CONFIG_DEBUG_KOBJECT_RELEASE=y, unmounting an
    f2fs filesystem could result in the following splat:
    
      kobject: 'loop5' ((____ptrval____)): kobject_release, parent 0000000000000000 (delayed 250)
      kobject: 'f2fs_xattr_entry-7:5' ((____ptrval____)): kobject_release, parent 0000000000000000 (delayed 750)
      ------------[ cut here ]------------
      ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x98
      WARNING: CPU: 0 PID: 699 at lib/debugobjects.c:485 debug_print_object+0x180/0x240
      Kernel panic - not syncing: panic_on_warn set ...
      CPU: 0 PID: 699 Comm: syz-executor.5 Tainted: G S                5.9.0-rc8+ #101
      Hardware name: linux,dummy-virt (DT)
      Call trace:
       dump_backtrace+0x0/0x4d8
       show_stack+0x34/0x48
       dump_stack+0x174/0x1f8
       panic+0x360/0x7a0
       __warn+0x244/0x2ec
       report_bug+0x240/0x398
       bug_handler+0x50/0xc0
       call_break_hook+0x160/0x1d8
       brk_handler+0x30/0xc0
       do_debug_exception+0x184/0x340
       el1_dbg+0x48/0xb0
       el1_sync_handler+0x170/0x1c8
       el1_sync+0x80/0x100
       debug_print_object+0x180/0x240
       debug_check_no_obj_freed+0x200/0x430
       slab_free_freelist_hook+0x190/0x210
       kfree+0x13c/0x460
       f2fs_put_super+0x624/0xa58
       generic_shutdown_super+0x120/0x300
       kill_block_super+0x94/0xf8
       kill_f2fs_super+0x244/0x308
       deactivate_locked_super+0x104/0x150
       deactivate_super+0x118/0x148
       cleanup_mnt+0x27c/0x3c0
       __cleanup_mnt+0x28/0x38
       task_work_run+0x10c/0x248
       do_notify_resume+0x9d4/0x1188
       work_pending+0x8/0x34c
    
    Like the error handling for f2fs_register_sysfs(), we need to wait for
    the kobject to be destroyed before returning to prevent a potential
    use-after-free.
    
    Fixes: bf9e697ecd42 ("f2fs: expose features to sysfs entry")
    Cc: Jaegeuk Kim <jaegeuk@kernel.org>
    Cc: Chao Yu <chao@kernel.org>
    Signed-off-by: Jamie Iles <jamie@nuviainc.com>
    Reviewed-by: Chao Yu <yuchao0@huawei.com>
    Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit d57e5a4764e801411b9cdc8a9a1f9a283e9a34e3
Author: Colin Ian King <colin.king@canonical.com>
Date:   Thu Oct 8 10:52:04 2020 +0100

    IB/rdmavt: Fix sizeof mismatch
    
    [ Upstream commit 8e71f694e0c819db39af2336f16eb9689f1ae53f ]
    
    An incorrect sizeof is being used, struct rvt_ibport ** is not correct, it
    should be struct rvt_ibport *. Note that since ** is the same size as
    * this is not causing any issues.  Improve this fix by using
    sizeof(*rdi->ports) as this allows us to not even reference the type
    of the pointer.  Also remove line breaks as the entire statement can
    fit on one line.
    
    Link: https://lore.kernel.org/r/20201008095204.82683-1-colin.king@canonical.com
    Addresses-Coverity: ("Sizeof not portable (SIZEOF_MISMATCH)")
    Fixes: ff6acd69518e ("IB/rdmavt: Add device structure allocation")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Reviewed-by: Ira Weiny <ira.weiny@intel.com>
    Acked-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 13aeb252fdd7b34339fa890c62acd32037c42460
Author: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Date:   Tue Sep 22 13:32:54 2020 +0530

    cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier
    
    [ Upstream commit a2d0230b91f7e23ceb5d8fb6a9799f30517ec33a ]
    
    The patch avoids allocating cpufreq_policy on stack hence fixing frame
    size overflow in 'powernv_cpufreq_reboot_notifier':
    
      drivers/cpufreq/powernv-cpufreq.c: In function powernv_cpufreq_reboot_notifier:
      drivers/cpufreq/powernv-cpufreq.c:906:1: error: the frame size of 2064 bytes is larger than 2048 bytes
    
    Fixes: cf30af76 ("cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec")
    Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Reviewed-by: Daniel Axtens <dja@axtens.net>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200922080254.41497-1-srikar@linux.vnet.ibm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 65d73b1f219115262578f95b2763329a8fbe3579
Author: Kajol Jain <kjain@linux.ibm.com>
Date:   Sat Oct 3 13:19:39 2020 +0530

    powerpc/perf/hv-gpci: Fix starting index value
    
    [ Upstream commit 0f9866f7e85765bbda86666df56c92f377c3bc10 ]
    
    Commit 9e9f60108423f ("powerpc/perf/{hv-gpci, hv-common}: generate
    requests with counters annotated") adds a framework for defining
    gpci counters.
    In this patch, they adds starting_index value as '0xffffffffffffffff'.
    which is wrong as starting_index is of size 32 bits.
    
    Because of this, incase we try to run hv-gpci event we get error.
    
    In power9 machine:
    
    command#: perf stat -e hv_gpci/system_tlbie_count_and_time_tlbie_instructions_issued/
              -C 0 -I 1000
    event syntax error: '..bie_count_and_time_tlbie_instructions_issued/'
                                      \___ value too big for format, maximum is 4294967295
    
    This patch fix this issue and changes starting_index value to '0xffffffff'
    
    After this patch:
    
    command#: perf stat -e hv_gpci/system_tlbie_count_and_time_tlbie_instructions_issued/ -C 0 -I 1000
         1.000085786              1,024      hv_gpci/system_tlbie_count_and_time_tlbie_instructions_issued/
         2.000287818              1,024      hv_gpci/system_tlbie_count_and_time_tlbie_instructions_issued/
         2.439113909             17,408      hv_gpci/system_tlbie_count_and_time_tlbie_instructions_issued/
    
    Fixes: 9e9f60108423 ("powerpc/perf/{hv-gpci, hv-common}: generate requests with counters annotated")
    Signed-off-by: Kajol Jain <kjain@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20201003074943.338618-1-kjain@linux.ibm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit eac7650040f6a86f45c716d4f860eb2efd40bf02
Author: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Date:   Mon Sep 21 03:10:04 2020 -0400

    powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints
    
    [ Upstream commit 3b6c3adbb2fa42749c3d38cfc4d4d0b7e096bb7b ]
    
    PMU counter support functions enforces event constraints for group of
    events to check if all events in a group can be monitored. Incase of
    event codes using PMC5 and PMC6 ( 500fa and 600f4 respectively ), not
    all constraints are applicable, say the threshold or sample bits. But
    current code includes pmc5 and pmc6 in some group constraints (like
    IC_DC Qualifier bits) which is actually not applicable and hence
    results in those events not getting counted when scheduled along with
    group of other events. Patch fixes this by excluding PMC5/6 from
    constraints which are not relevant for it.
    
    Fixes: 7ffd948 ("powerpc/perf: factor out power8 pmu functions")
    Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
    Reviewed-by: Madhavan Srinivasan <maddy@linux.ibm.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/1600672204-1610-1-git-send-email-atrajeev@linux.vnet.ibm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit a04b9430d2a413ebe9b860922a80f884c421e2a1
Author: Leon Romanovsky <leon@kernel.org>
Date:   Sun Sep 13 13:29:28 2020 +0300

    overflow: Include header file with SIZE_MAX declaration
    
    [ Upstream commit a4947e84f23474803b62a2759b5808147e4e15f9 ]
    
    The various array_size functions use SIZE_MAX define, but missed limits.h
    causes to failure to compile code that needs overflow.h.
    
     In file included from drivers/infiniband/core/uverbs_std_types_device.c:6:
     ./include/linux/overflow.h: In function 'array_size':
     ./include/linux/overflow.h:258:10: error: 'SIZE_MAX' undeclared (first use in this function)
       258 |   return SIZE_MAX;
           |          ^~~~~~~~
    
    Fixes: 610b15c50e86 ("overflow.h: Add allocation size calculation helpers")
    Link: https://lore.kernel.org/r/20200913102928.134985-1-leon@kernel.org
    Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e8b33f91cec350fbb11679ce332e1968204075b1
Author: Daniel Thompson <daniel.thompson@linaro.org>
Date:   Wed Sep 9 15:17:08 2020 +0100

    kdb: Fix pager search for multi-line strings
    
    [ Upstream commit d081a6e353168f15e63eb9e9334757f20343319f ]
    
    Currently using forward search doesn't handle multi-line strings correctly.
    The search routine replaces line breaks with \0 during the search and, for
    regular searches ("help | grep Common\n"), there is code after the line
    has been discarded or printed to replace the break character.
    
    However during a pager search ("help\n" followed by "/Common\n") when the
    string is matched we will immediately return to normal output and the code
    that should restore the \n becomes unreachable. Fix this by restoring the
    replaced character when we disable the search mode and update the comment
    accordingly.
    
    Fixes: fb6daa7520f9d ("kdb: Provide forward search at more prompt")
    Link: https://lore.kernel.org/r/20200909141708.338273-1-daniel.thompson@linaro.org
    Reviewed-by: Douglas Anderson <dianders@chromium.org>
    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 657441f1728e3870aee57d46cd26b78e55af6d2c
Author: Weihang Li <liweihang@huawei.com>
Date:   Sat Sep 19 18:03:22 2020 +0800

    RDMA/hns: Fix missing sq_sig_type when querying QP
    
    [ Upstream commit 05df49279f8926178ecb3ce88e61b63104cd6293 ]
    
    The sq_sig_type field should be filled when querying QP, or the users may
    get a wrong value.
    
    Fixes: 926a01dc000d ("RDMA/hns: Add QP operations support for hip08 SoC")
    Link: https://lore.kernel.org/r/1600509802-44382-9-git-send-email-liweihang@huawei.com
    Signed-off-by: Weihang Li <liweihang@huawei.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b0b57d37f26231e7980c11f2a61f81fe46750188
Author: Lijun Ou <oulijun@huawei.com>
Date:   Thu Sep 17 21:50:15 2020 +0800

    RDMA/hns: Set the unsupported wr opcode
    
    [ Upstream commit 22d3e1ed2cc837af87f76c3c8a4ccf4455e225c5 ]
    
    hip06 does not support IB_WR_LOCAL_INV, so the ps_opcode should be set to
    an invalid value instead of being left uninitialized.
    
    Fixes: 9a4435375cd1 ("IB/hns: Add driver files for hns RoCE driver")
    Fixes: a2f3d4479fe9 ("RDMA/hns: Avoid unncessary initialization")
    Link: https://lore.kernel.org/r/1600350615-115217-1-git-send-email-oulijun@huawei.com
    Signed-off-by: Lijun Ou <oulijun@huawei.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 1b4aa9313f9b9b7641763d32c8fb0d0cc5a654e4
Author: Adrian Hunter <adrian.hunter@intel.com>
Date:   Wed Sep 9 11:49:23 2020 +0300

    perf intel-pt: Fix "context_switch event has no tid" error
    
    [ Upstream commit 7d537a8d2e76bc4fc71e34545ceaa463ac2cd928 ]
    
    A context_switch event can have no tid because pids can be detached from
    a task while the task is still running (in do_exit()). Note this won't
    happen with per-task contexts because then tracing stops at
    perf_event_exit_task()
    
    If a task with no tid gets preempted, or a dying task gets preempted and
    its parent releases it, when it subsequently gets switched back in,
    Intel PT will not be able to determine what task is running and prints
    an error "context_switch event has no tid". However, it is not really an
    error because the task is in kernel space and the decoder can continue
    to decode successfully. Fix by changing the error to be only a logged
    message, and make allowance for tid == -1.
    
    Example:
    
      Using 5.9-rc4 with Preemptible Kernel (Low-Latency Desktop) e.g.
      $ uname -r
      5.9.0-rc4
      $ grep PREEMPT .config
      # CONFIG_PREEMPT_NONE is not set
      # CONFIG_PREEMPT_VOLUNTARY is not set
      CONFIG_PREEMPT=y
      CONFIG_PREEMPT_COUNT=y
      CONFIG_PREEMPTION=y
      CONFIG_PREEMPT_RCU=y
      CONFIG_PREEMPT_NOTIFIERS=y
      CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
      CONFIG_DEBUG_PREEMPT=y
      # CONFIG_PREEMPT_TRACER is not set
      # CONFIG_PREEMPTIRQ_DELAY_TEST is not set
    
    Before:
    
      $ cat forkit.c
    
      #include <sys/types.h>
      #include <unistd.h>
      #include <sys/wait.h>
    
      int main()
      {
              pid_t child;
              int status = 0;
    
              child = fork();
              if (child == 0)
                      return 123;
              wait(&status);
              return 0;
      }
    
      $ gcc -o forkit forkit.c
      $ sudo ~/bin/perf record --kcore -a -m,64M -e intel_pt/cyc/k &
      [1] 11016
      $ taskset 2 ./forkit
      $ sudo pkill perf
      $ [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 17.262 MB perf.data ]
    
      [1]+  Terminated              sudo ~/bin/perf record --kcore -a -m,64M -e intel_pt/cyc/k
      $ sudo ~/bin/perf script --show-task-events --show-switch-events --itrace=iqqe-o -C 1 --ns | grep -C 2 forkit
      context_switch event has no tid
               taskset 11019 [001] 66663.270045029:          1 instructions:k:  ffffffffb1d9f844 strnlen_user+0xb4 ([kernel.kallsyms])
               taskset 11019 [001] 66663.270201816:          1 instructions:k:  ffffffffb1a83121 unmap_page_range+0x561 ([kernel.kallsyms])
                forkit 11019 [001] 66663.270327553: PERF_RECORD_COMM exec: forkit:11019/11019
                forkit 11019 [001] 66663.270420028:          1 instructions:k:  ffffffffb1db9537 __clear_user+0x27 ([kernel.kallsyms])
                forkit 11019 [001] 66663.270648704:          1 instructions:k:  ffffffffb18829e6 do_user_addr_fault+0xf6 ([kernel.kallsyms])
                forkit 11019 [001] 66663.270833163:          1 instructions:k:  ffffffffb230a825 irqentry_exit_to_user_mode+0x15 ([kernel.kallsyms])
                forkit 11019 [001] 66663.271092359:          1 instructions:k:  ffffffffb1aea3d9 lock_page_memcg+0x9 ([kernel.kallsyms])
                forkit 11019 [001] 66663.271207092: PERF_RECORD_FORK(11020:11020):(11019:11019)
                forkit 11019 [001] 66663.271234775: PERF_RECORD_SWITCH_CPU_WIDE OUT          next pid/tid: 11020/11020
                forkit 11020 [001] 66663.271238407: PERF_RECORD_SWITCH_CPU_WIDE IN           prev pid/tid: 11019/11019
                forkit 11020 [001] 66663.271312066:          1 instructions:k:  ffffffffb1a88140 handle_mm_fault+0x10 ([kernel.kallsyms])
                forkit 11020 [001] 66663.271476225: PERF_RECORD_EXIT(11020:11020):(11019:11019)
                forkit 11020 [001] 66663.271497488: PERF_RECORD_SWITCH_CPU_WIDE OUT preempt  next pid/tid: 11019/11019
                forkit 11019 [001] 66663.271500523: PERF_RECORD_SWITCH_CPU_WIDE IN           prev pid/tid: 11020/11020
                forkit 11019 [001] 66663.271517241:          1 instructions:k:  ffffffffb24012cd error_entry+0x6d ([kernel.kallsyms])
                forkit 11019 [001] 66663.271664080: PERF_RECORD_EXIT(11019:11019):(1386:1386)
    
    After:
    
      $ sudo ~/bin/perf script --show-task-events --show-switch-events --itrace=iqqe-o -C 1 --ns | grep -C 2 forkit
               taskset 11019 [001] 66663.270045029:          1 instructions:k:  ffffffffb1d9f844 strnlen_user+0xb4 ([kernel.kallsyms])
               taskset 11019 [001] 66663.270201816:          1 instructions:k:  ffffffffb1a83121 unmap_page_range+0x561 ([kernel.kallsyms])
                forkit 11019 [001] 66663.270327553: PERF_RECORD_COMM exec: forkit:11019/11019
                forkit 11019 [001] 66663.270420028:          1 instructions:k:  ffffffffb1db9537 __clear_user+0x27 ([kernel.kallsyms])
                forkit 11019 [001] 66663.270648704:          1 instructions:k:  ffffffffb18829e6 do_user_addr_fault+0xf6 ([kernel.kallsyms])
                forkit 11019 [001] 66663.270833163:          1 instructions:k:  ffffffffb230a825 irqentry_exit_to_user_mode+0x15 ([kernel.kallsyms])
                forkit 11019 [001] 66663.271092359:          1 instructions:k:  ffffffffb1aea3d9 lock_page_memcg+0x9 ([kernel.kallsyms])
                forkit 11019 [001] 66663.271207092: PERF_RECORD_FORK(11020:11020):(11019:11019)
                forkit 11019 [001] 66663.271234775: PERF_RECORD_SWITCH_CPU_WIDE OUT          next pid/tid: 11020/11020
                forkit 11020 [001] 66663.271238407: PERF_RECORD_SWITCH_CPU_WIDE IN           prev pid/tid: 11019/11019
                forkit 11020 [001] 66663.271312066:          1 instructions:k:  ffffffffb1a88140 handle_mm_fault+0x10 ([kernel.kallsyms])
                forkit 11020 [001] 66663.271476225: PERF_RECORD_EXIT(11020:11020):(11019:11019)
                forkit 11020 [001] 66663.271497488: PERF_RECORD_SWITCH_CPU_WIDE OUT preempt  next pid/tid: 11019/11019
                forkit 11019 [001] 66663.271500523: PERF_RECORD_SWITCH_CPU_WIDE IN           prev pid/tid: 11020/11020
                forkit 11019 [001] 66663.271517241:          1 instructions:k:  ffffffffb24012cd error_entry+0x6d ([kernel.kallsyms])
                forkit 11019 [001] 66663.271664080: PERF_RECORD_EXIT(11019:11019):(1386:1386)
                forkit 11019 [001] 66663.271688752: PERF_RECORD_SWITCH_CPU_WIDE OUT          next pid/tid:    -1/-1
                   :-1    -1 [001] 66663.271692086: PERF_RECORD_SWITCH_CPU_WIDE IN           prev pid/tid: 11019/11019
                    :-1    -1 [001] 66663.271707466:          1 instructions:k:  ffffffffb18eb096 update_load_avg+0x306 ([kernel.kallsyms])
    
    Fixes: 86c2786994bd7c ("perf intel-pt: Add support for PERF_RECORD_SWITCH")
    Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Yu-cheng Yu <yu-cheng.yu@intel.com>
    Link: http://lore.kernel.org/lkml/20200909084923.9096-3-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit bd2ad814f4600b7472febe75bdecae178c68e4bc
Author: Jason Gunthorpe <jgg@ziepe.ca>
Date:   Wed Sep 2 11:11:21 2020 +0300

    RDMA/cma: Consolidate the destruction of a cma_multicast in one place
    
    [ Upstream commit 3788d2997bc0150ea911a964d5b5a2e11808a936 ]
    
    Two places were open coding this sequence, and also pull in
    cma_leave_roce_mc_group() which was called only once.
    
    Link: https://lore.kernel.org/r/20200902081122.745412-8-leon@kernel.org
    Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit b4612866af7a2d5fcb776dd21c58ddefe3b2718a
Author: Jason Gunthorpe <jgg@ziepe.ca>
Date:   Wed Sep 2 11:11:20 2020 +0300

    RDMA/cma: Remove dead code for kernel rdmacm multicast
    
    [ Upstream commit 1bb5091def706732c749df9aae45fbca003696f2 ]
    
    There is no kernel user of RDMA CM multicast so this code managing the
    multicast subscription of the kernel-only internal QP is dead. Remove it.
    
    This makes the bug fixes in the next patches much simpler.
    
    Link: https://lore.kernel.org/r/20200902081122.745412-7-leon@kernel.org
    Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
    Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit e8122b11d18025ad825fb013671989f29d05e467
Author: Nicholas Piggin <npiggin@gmail.com>
Date:   Mon Sep 14 14:52:19 2020 +1000

    powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm
    
    [ Upstream commit a665eec0a22e11cdde708c1c256a465ebe768047 ]
    
    Commit 0cef77c7798a7 ("powerpc/64s/radix: flush remote CPUs out of
    single-threaded mm_cpumask") added a mechanism to trim the mm_cpumask of
    a process under certain conditions. One of the assumptions is that
    mm_users would not be incremented via a reference outside the process
    context with mmget_not_zero() then go on to kthread_use_mm() via that
    reference.
    
    That invariant was broken by io_uring code (see previous sparc64 fix),
    but I'll point Fixes: to the original powerpc commit because we are
    changing that assumption going forward, so this will make backports
    match up.
    
    Fix this by no longer relying on that assumption, but by having each CPU
    check the mm is not being used, and clearing their own bit from the mask
    only if it hasn't been switched-to by the time the IPI is processed.
    
    This relies on commit 38cf307c1f20 ("mm: fix kthread_use_mm() vs TLB
    invalidate") and ARCH_WANT_IRQS_OFF_ACTIVATE_MM to disable irqs over mm
    switch sequences.
    
    Fixes: 0cef77c7798a7 ("powerpc/64s/radix: flush remote CPUs out of single-threaded mm_cpumask")
    Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
    Reviewed-by: Michael Ellerman <mpe@ellerman.id.au>
    Depends-on: 38cf307c1f20 ("mm: fix kthread_use_mm() vs TLB invalidate")
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200914045219.3736466-5-npiggin@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit 69d28fa62e8e2c670d993c13c87129706b8b6832
Author: Finn Thain <fthain@telegraphics.com.au>
Date:   Sat Sep 5 09:02:20 2020 +1000

    powerpc/tau: Disable TAU between measurements
    
    [ Upstream commit e63d6fb5637e92725cf143559672a34b706bca4f ]
    
    Enabling CONFIG_TAU_INT causes random crashes:
    
    Unrecoverable exception 1700 at c0009414 (msr=1000)
    Oops: Unrecoverable exception, sig: 6 [#1]
    BE PAGE_SIZE=4K MMU=Hash SMP NR_CPUS=2 PowerMac
    Modules linked in:
    CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.7.0-pmac-00043-gd5f545e1a8593 #5
    NIP:  c0009414 LR: c0009414 CTR: c00116fc
    REGS: c0799eb8 TRAP: 1700   Not tainted  (5.7.0-pmac-00043-gd5f545e1a8593)
    MSR:  00001000 <ME>  CR: 22000228  XER: 00000100
    
    GPR00: 00000000 c0799f70 c076e300 00800000 0291c0ac 00e00000 c076e300 00049032
    GPR08: 00000001 c00116fc 00000000 dfbd3200 ffffffff 007f80a8 00000000 00000000
    GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 c075ce04
    GPR24: c075ce04 dfff8880 c07b0000 c075ce04 00080000 00000001 c079ef98 c079ef5c
    NIP [c0009414] arch_cpu_idle+0x24/0x6c
    LR [c0009414] arch_cpu_idle+0x24/0x6c
    Call Trace:
    [c0799f70] [00000001] 0x1 (unreliable)
    [c0799f80] [c0060990] do_idle+0xd8/0x17c
    [c0799fa0] [c0060ba4] cpu_startup_entry+0x20/0x28
    [c0799fb0] [c072d220] start_kernel+0x434/0x44c
    [c0799ff0] [00003860] 0x3860
    Instruction dump:
    XXXXXXXX XXXXXXXX XXXXXXXX 3d20c07b XXXXXXXX XXXXXXXX XXXXXXXX 7c0802a6
    XXXXXXXX XXXXXXXX XXXXXXXX 4e800421 XXXXXXXX XXXXXXXX XXXXXXXX 7d2000a6
    ---[ end trace 3a0c9b5cb216db6b ]---
    
    Resolve this problem by disabling each THRMn comparator when handling
    the associated THRMn interrupt and by disabling the TAU entirely when
    updating THRMn thresholds.
    
    Fixes: 1da177e4c3f41 ("Linux-2.6.12-rc2")
    Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
    Tested-by: Stan Johnson <userm57@yahoo.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/5a0ba3dc5612c7aac596727331284a3676c08472.1599260540.git.fthain@telegraphics.com.au
    Signed-off-by: Sasha Levin <sashal@kernel.org>

commit df58e9b23aed06fa3a883dee5075bff2bd549854
Author: Finn Thain <fthain@telegraphics.com.au>
Date:   Sat Sep 5 09:02:20 2020 +1000

    powerpc/tau: Check processor type before enabling TAU interrupt
    
    [ Upstream commit 5e3119e15fed5b9a9a7e528665ff098a4a8dbdbc ]
    
    According to Freescale's documentation, MPC74XX processors have an
    erratum that prevents the TAU interrupt from working, so don't try to
    use it when running on those processors.
    
    Fixes: 1da177e4c3f41 ("Linux-2.6.12-rc2")
    Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
    Tested-by: Stan Johnson <userm57@yahoo.com>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/c281611544768e758bd58fe812cf702a5bd2d042.1599260540.git.fthain@telegraphics.com.au
    Signed-off-by: Sasha Levin <sashal@kernel.org>