Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 5.10.x+fslc up to v5.10.32 #313

Merged
merged 104 commits into from
Apr 22, 2021
Merged

Commits on Apr 21, 2021

  1. net/sctp: fix race condition in sctp_destroy_sock

    commit b166a20 upstream.
    
    If sctp_destroy_sock is called without sock_net(sk)->sctp.addr_wq_lock
    held and sp->do_auto_asconf is true, then an element is removed
    from the auto_asconf_splist without any proper locking.
    
    This can happen in the following functions:
    1. In sctp_accept, if sctp_sock_migrate fails.
    2. In inet_create or inet6_create, if there is a bpf program
       attached to BPF_CGROUP_INET_SOCK_CREATE which denies
       creation of the sctp socket.
    
    The bug is fixed by acquiring addr_wq_lock in sctp_destroy_sock
    instead of sctp_close.
    
    This addresses CVE-2021-23133.
    
    Reported-by: Or Cohen <orcohen@paloaltonetworks.com>
    Reviewed-by: Xin Long <lucien.xin@gmail.com>
    Fixes: 6102365 ("bpf: Add new cgroup attach type to enable sock modifications")
    Signed-off-by: Or Cohen <orcohen@paloaltonetworks.com>
    Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Or Cohen authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    5a62702 View commit details
    Browse the repository at this point in the history
  2. mtd: rawnand: mtk: Fix WAITRDY break condition and timeout

    [ Upstream commit 2fb164f ]
    
    This fixes NAND_OP_WAITRDY_INSTR operation in the driver. Without this
    change the driver waits till the system is busy, but we should wait till
    the busy flag is cleared. The readl_poll_timeout() function gets a break
    condition, not a wait condition.
    
    In addition fix the timeout. The timeout_ms is given in ms, but the
    readl_poll_timeout() function takes the timeout in us. Multiple the
    given timeout by 1000 to convert it.
    
    Without this change, the driver does not work at all, it doesn't even
    identify the NAND chip.
    
    Fixes: 5197360 ("mtd: rawnand: mtk: Convert the driver to exec_op()")
    Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
    Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
    Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
    Link: https://lore.kernel.org/linux-mtd/20210309000107.1368404-1-hauke@hauke-m.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    hauke authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    b80ea54 View commit details
    Browse the repository at this point in the history
  3. Input: nspire-keypad - enable interrupts only when opened

    [ Upstream commit 69d5ff3 ]
    
    The driver registers an interrupt handler in _probe, but didn't configure
    them until later when the _open function is called. In between, the keypad
    can fire an IRQ due to touchpad activity, which the handler ignores. This
    causes the kernel to disable the interrupt, blocking the keypad from
    working.
    
    Fix this by disabling interrupts before registering the handler.
    Additionally, disable them in _close, so that they're only enabled while
    open.
    
    Fixes: fc4f314 ("Input: add TI-Nspire keypad support")
    Signed-off-by: Fabian Vogt <fabian@ritter-vogt.de>
    Link: https://lore.kernel.org/r/3383725.iizBOSrK1V@linux-e202.suse.de
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Vogtinator authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    dfed481 View commit details
    Browse the repository at this point in the history
  4. gpio: sysfs: Obey valid_mask

    [ Upstream commit 23cf00d ]
    
    Do not allow exporting GPIOs which are set invalid
    by the driver's valid mask.
    
    Fixes: 726cb3b ("gpiolib: Support 'gpio-reserved-ranges' property")
    Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
    Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
    Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    M-Vaittinen authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    f567fde View commit details
    Browse the repository at this point in the history
  5. dmaengine: idxd: Fix clobbering of SWERR overflow bit on writeback

    [ Upstream commit ea941ac ]
    
    Current code blindly writes over the SWERR and the OVERFLOW bits. Write
    back the bits actually read instead so the driver avoids clobbering the
    OVERFLOW bit that comes after the register is read.
    
    Fixes: bfe1d56 ("dmaengine: idxd: Init and probe for Intel data accelerators")
    Reported-by: Sanjay Kumar <sanjay.k.kumar@intel.com>
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/161352082229.3511254.1002151220537623503.stgit@djiang5-desk3.ch.intel.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    davejiang authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    a5ad12d View commit details
    Browse the repository at this point in the history
  6. dmaengine: idxd: fix delta_rec and crc size field for completion record

    [ Upstream commit 4ac823e ]
    
    The delta_rec_size and crc_val in the completion record should
    be 32bits and not 16bits.
    
    Fixes: bfe1d56 ("dmaengine: idxd: Init and probe for Intel data accelerators")
    Reported-by: Nikhil Rao <nikhil.rao@intel.com>
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/161645618572.2003490.14466173451736323035.stgit@djiang5-desk3.ch.intel.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    davejiang authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    0e3f147 View commit details
    Browse the repository at this point in the history
  7. dmaengine: idxd: fix opcap sysfs attribute output

    [ Upstream commit ea6a573 ]
    
    The operation capability register is 256bits. The current output only
    prints out the first 64bits. Fix to output the entire 256bits. The current
    code omits operation caps from IAX devices.
    
    Fixes: c52ca47 ("dmaengine: idxd: add configuration component of driver")
    Reported-by: Lucas Van <lucas.van@intel.com>
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/161645624963.2003736.829798666998490151.stgit@djiang5-desk3.ch.intel.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    davejiang authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    db23b7b View commit details
    Browse the repository at this point in the history
  8. dmaengine: idxd: fix wq size store permission state

    [ Upstream commit 0fff71c ]
    
    WQ size can only be changed when the device is disabled. Current code
    allows change when device is enabled but wq is disabled. Change the check
    to detect device state.
    
    Fixes: c52ca47 ("dmaengine: idxd: add configuration component of driver")
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/161782558755.107710.18138252584838406025.stgit@djiang5-desk3.ch.intel.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    davejiang authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    4ecf255 View commit details
    Browse the repository at this point in the history
  9. dmaengine: dw: Make it dependent to HAS_IOMEM

    [ Upstream commit 88cd1d6 ]
    
    Some architectures do not provide devm_*() APIs. Hence make the driver
    dependent on HAVE_IOMEM.
    
    Fixes: dbde5c2 ("dw_dmac: use devm_* functions to simplify code")
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
    Link: https://lore.kernel.org/r/20210324141757.24710-1-andriy.shevchenko@linux.intel.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    andy-shev authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    56f9c04 View commit details
    Browse the repository at this point in the history
  10. dmaengine: Fix a double free in dma_async_device_register

    [ Upstream commit ea45b60 ]
    
    In the first list_for_each_entry() macro of dma_async_device_register,
    it gets the chan from list and calls __dma_async_device_channel_register
    (..,chan). We can see that chan->local is allocated by alloc_percpu() and
    it is freed chan->local by free_percpu(chan->local) when
    __dma_async_device_channel_register() failed.
    
    But after __dma_async_device_channel_register() failed, the caller will
    goto err_out and freed the chan->local in the second time by free_percpu().
    
    The cause of this problem is forget to set chan->local to NULL when
    chan->local was freed in __dma_async_device_channel_register(). My
    patch sets chan->local to NULL when the callee failed to avoid double free.
    
    Fixes: d2fb0a0 ("dmaengine: break out channel registration")
    Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
    Reviewed-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/20210331014458.3944-1-lyl2019@mail.ustc.edu.cn
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Yunlongs authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    ac030f5 View commit details
    Browse the repository at this point in the history
  11. dmaengine: plx_dma: add a missing put_device() on error path

    [ Upstream commit 07503e6 ]
    
    Add a missing put_device(&pdev->dev) if the call to
    dma_async_device_register(dma); fails.
    
    Fixes: 905ca51 ("dmaengine: plx-dma: Introduce PLX DMA engine PCI driver skeleton")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
    Link: https://lore.kernel.org/r/YFnq/0IQzixtAbC1@mwanda
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Dan Carpenter authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    4c59c5c View commit details
    Browse the repository at this point in the history
  12. dmaengine: idxd: fix wq cleanup of WQCFG registers

    [ Upstream commit ea9aadc ]
    
    A pre-release silicon erratum workaround where wq reset does not clear
    WQCFG registers was leaked into upstream code. Use wq reset command
    instead of blasting the MMIO region. This also address an issue where
    we clobber registers in future devices.
    
    Fixes: da32b28 ("dmaengine: idxd: cleanup workqueue config after disabling")
    Reported-by: Shreenivaas Devarajan <shreenivaas.devarajan@intel.com>
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/161824330020.881560.16375921906426627033.stgit@djiang5-desk3.ch.intel.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    davejiang authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    e5eb975 View commit details
    Browse the repository at this point in the history
  13. ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade()

    [ Upstream commit 6998a88 ]
    
    Commit 1a1c130 ("ACPI: tables: x86: Reserve memory occupied by
    ACPI tables") attempted to address an issue with reserving the memory
    occupied by ACPI tables, but it broke the initrd-based table override
    mechanism relied on by multiple users.
    
    To restore the initrd-based ACPI table override functionality, move
    the acpi_boot_table_init() invocation in setup_arch() on x86 after
    the acpi_table_upgrade() one.
    
    Fixes: 1a1c130 ("ACPI: tables: x86: Reserve memory occupied by ACPI tables")
    Reported-by: Hans de Goede <hdegoede@redhat.com>
    Tested-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    rafaeljw authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    f338b8f View commit details
    Browse the repository at this point in the history
  14. ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race

    [ Upstream commit 140a776 ]
    
    We have a duplicate legacy clock defined for sha2md5_fck that can
    sometimes race with clk_disable() with the dts configured clock
    for OMAP4_SHA2MD5_CLKCTRL when unused clocks are disabled during
    boot causing an "Unhandled fault: imprecise external abort".
    
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tmlind authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    9f399a9 View commit details
    Browse the repository at this point in the history
  15. ARM: dts: Fix moving mmc devices with aliases for omap4 & 5

    [ Upstream commit 77335a0 ]
    
    Fix moving mmc devices with dts aliases as discussed on the lists.
    Without this we now have internal eMMC mmc1 show up as mmc2 compared
    to the earlier order of devices.
    
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tmlind authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    a55de4f View commit details
    Browse the repository at this point in the history
  16. lockdep: Add a missing initialization hint to the "INFO: Trying to re…

    …gister non-static key" message
    
    [ Upstream commit 3a85969 ]
    
    Since this message is printed when dynamically allocated spinlocks (e.g.
    kzalloc()) are used without initialization (e.g. spin_lock_init()),
    suggest to developers to check whether initialization functions for objects
    were called, before making developers wonder what annotation is missing.
    
    [ mingo: Minor tweaks to the message. ]
    
    Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Link: https://lore.kernel.org/r/20210321064913.4619-1-penguin-kernel@I-love.SAKURA.ne.jp
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Tetsuo Handa authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    f12e8cf View commit details
    Browse the repository at this point in the history
  17. arc: kernel: Return -EFAULT if copy_to_user() fails

    [ Upstream commit 46e1521 ]
    
    The copy_to_user() function returns the number of bytes remaining to be
    copied, but we want to return -EFAULT if the copy doesn't complete.
    
    Signed-off-by: Wang Qing <wangqing@vivo.com>
    Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Wang Qing authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    b448a6a View commit details
    Browse the repository at this point in the history
  18. iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd()

    [ Upstream commit 2800aad ]
    
    It's possible for iwl_pcie_enqueue_hcmd() to be called with hard IRQs
    disabled (e.g. from LED core). We can't enable BHs in such a situation.
    
    Turn the unconditional BH-enable/BH-disable code into
    hardirq-disable/conditional-enable.
    
    This fixes the warning below.
    
     WARNING: CPU: 1 PID: 1139 at kernel/softirq.c:178 __local_bh_enable_ip+0xa5/0xf0
     CPU: 1 PID: 1139 Comm: NetworkManager Not tainted 5.12.0-rc1-00004-gb4ded168af79 Freescale#7
     Hardware name: LENOVO 20K5S22R00/20K5S22R00, BIOS R0IET38W (1.16 ) 05/31/2017
     RIP: 0010:__local_bh_enable_ip+0xa5/0xf0
     Code: f7 69 e8 ee 23 14 00 fb 66 0f 1f 44 00 00 65 8b 05 f0 f4 f7 69 85 c0 74 3f 48 83 c4 08 5b c3 65 8b 05 9b fe f7 69 85 c0 75 8e <0f> 0b eb 8a 48 89 3c 24 e8 4e 20 14 00 48 8b 3c 24 eb 91 e8 13 4e
     RSP: 0018:ffffafd580b13298 EFLAGS: 00010046
     RAX: 0000000000000000 RBX: 0000000000000201 RCX: 0000000000000000
     RDX: 0000000000000003 RSI: 0000000000000201 RDI: ffffffffc1272389
     RBP: ffff96517ae4c018 R08: 0000000000000001 R09: 0000000000000000
     R10: ffffafd580b13178 R11: 0000000000000001 R12: ffff96517b060000
     R13: 0000000000000000 R14: ffffffff80000000 R15: 0000000000000001
     FS:  00007fc604ebefc0(0000) GS:ffff965267480000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 000055fb3fef13b2 CR3: 0000000109112004 CR4: 00000000003706e0
     Call Trace:
      ? _raw_spin_unlock_bh+0x1f/0x30
      iwl_pcie_enqueue_hcmd+0x5d9/0xa00 [iwlwifi]
      iwl_trans_txq_send_hcmd+0x6c/0x430 [iwlwifi]
      iwl_trans_send_cmd+0x88/0x170 [iwlwifi]
      ? lock_acquire+0x277/0x3d0
      iwl_mvm_send_cmd+0x32/0x80 [iwlmvm]
      iwl_mvm_led_set+0xc2/0xe0 [iwlmvm]
      ? led_trigger_event+0x46/0x70
      led_trigger_event+0x46/0x70
      ieee80211_do_open+0x5c5/0xa20 [mac80211]
      ieee80211_open+0x67/0x90 [mac80211]
      __dev_open+0xd4/0x150
      __dev_change_flags+0x19e/0x1f0
      dev_change_flags+0x23/0x60
      do_setlink+0x30d/0x1230
      ? lock_is_held_type+0xb4/0x120
      ? __nla_validate_parse.part.7+0x57/0xcb0
      ? __lock_acquire+0x2e1/0x1a50
      __rtnl_newlink+0x560/0x910
      ? __lock_acquire+0x2e1/0x1a50
      ? __lock_acquire+0x2e1/0x1a50
      ? lock_acquire+0x277/0x3d0
      ? sock_def_readable+0x5/0x290
      ? lock_is_held_type+0xb4/0x120
      ? find_held_lock+0x2d/0x90
      ? sock_def_readable+0xb3/0x290
      ? lock_release+0x166/0x2a0
      ? lock_is_held_type+0x90/0x120
      rtnl_newlink+0x47/0x70
      rtnetlink_rcv_msg+0x25c/0x470
      ? netlink_deliver_tap+0x97/0x3e0
      ? validate_linkmsg+0x350/0x350
      netlink_rcv_skb+0x50/0x100
      netlink_unicast+0x1b2/0x280
      netlink_sendmsg+0x336/0x450
      sock_sendmsg+0x5b/0x60
      ____sys_sendmsg+0x1ed/0x250
      ? copy_msghdr_from_user+0x5c/0x90
      ___sys_sendmsg+0x88/0xd0
      ? lock_is_held_type+0xb4/0x120
      ? find_held_lock+0x2d/0x90
      ? lock_release+0x166/0x2a0
      ? __fget_files+0xfe/0x1d0
      ? __sys_sendmsg+0x5e/0xa0
      __sys_sendmsg+0x5e/0xa0
      ? lockdep_hardirqs_on_prepare+0xd9/0x170
      do_syscall_64+0x33/0x80
      entry_SYSCALL_64_after_hwframe+0x44/0xae
     RIP: 0033:0x7fc605c9572d
     Code: 28 89 54 24 1c 48 89 74 24 10 89 7c 24 08 e8 da ee ff ff 8b 54 24 1c 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 33 44 89 c7 48 89 44 24 08 e8 2e ef ff ff 48
     RSP: 002b:00007fffc83789f0 EFLAGS: 00000293 ORIG_RAX: 000000000000002e
     RAX: ffffffffffffffda RBX: 000055ef468570c0 RCX: 00007fc605c9572d
     RDX: 0000000000000000 RSI: 00007fffc8378a30 RDI: 000000000000000c
     RBP: 0000000000000010 R08: 0000000000000000 R09: 0000000000000000
     R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
     R13: 00007fffc8378b80 R14: 00007fffc8378b7c R15: 0000000000000000
     irq event stamp: 170785
     hardirqs last  enabled at (170783): [<ffffffff9609a8c2>] __local_bh_enable_ip+0x82/0xf0
     hardirqs last disabled at (170784): [<ffffffff96a8613d>] _raw_read_lock_irqsave+0x8d/0x90
     softirqs last  enabled at (170782): [<ffffffffc1272389>] iwl_pcie_enqueue_hcmd+0x5d9/0xa00 [iwlwifi]
     softirqs last disabled at (170785): [<ffffffffc1271ec6>] iwl_pcie_enqueue_hcmd+0x116/0xa00 [iwlwifi]
    
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Tested-by: Sedat Dilek <sedat.dilek@gmail.com> # LLVM/Clang v12.0.0-rc3
    Acked-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/nycvar.YFH.7.76.2103021125430.12405@cbobk.fhfr.pm
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Jiri Kosina authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    806adda View commit details
    Browse the repository at this point in the history
  19. xfrm: BEET mode doesn't support fragments for inner packets

    [ Upstream commit 68dc022 ]
    
    BEET mode replaces the IP(6) Headers with new IP(6) Headers when sending
    packets. However, when it's a fragment before the replacement, currently
    kernel keeps the fragment flag and replace the address field then encaps
    it with ESP. It would cause in RX side the fragments to get reassembled
    before decapping with ESP, which is incorrect.
    
    In Xiumei's testing, these fragments went over an xfrm interface and got
    encapped with ESP in the device driver, and the traffic was broken.
    
    I don't have a good way to fix it, but only to warn this out in dmesg.
    
    Reported-by: Xiumei Mu <xmu@redhat.com>
    Signed-off-by: Xin Long <lucien.xin@gmail.com>
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    lxin authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    b2f8476 View commit details
    Browse the repository at this point in the history
  20. ASoC: max98373: Changed amp shutdown register as volatile

    [ Upstream commit a23f909 ]
    
    0x20FF(amp global enable) register was defined as non-volatile,
    but it is not. Overheating, overcurrent can cause amp shutdown
    in hardware.
    'regmap_write' compare register readback value before writing
    to avoid same value writing. 'regmap_read' just read cache
    not actual hardware value for the non-volatile register.
    When amp is internally shutdown by some reason, next 'AMP ON'
    command can be ignored because regmap think amp is already ON.
    
    Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com>
    Link: https://lore.kernel.org/r/20210325033555.29377-1-ryans.lee@maximintegrated.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Ryan Lee authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    58d59d9 View commit details
    Browse the repository at this point in the history
  21. ASoC: max98373: Added 30ms turn on/off time delay

    [ Upstream commit 3a27875 ]
    
    Amp requires 10 ~ 30ms for the power ON and OFF.
    Added 30ms delay for stability.
    
    Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com>
    Link: https://lore.kernel.org/r/20210325033555.29377-2-ryans.lee@maximintegrated.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Ryan Lee authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    bfb5a15 View commit details
    Browse the repository at this point in the history
  22. gpu/xen: Fix a use after free in xen_drm_drv_init

    [ Upstream commit 52762ef ]
    
    In function displback_changed, has the call chain
    displback_connect(front_info)->xen_drm_drv_init(front_info).
    We can see that drm_info is assigned to front_info->drm_info
    and drm_info is freed in fail branch in xen_drm_drv_init().
    
    Later displback_disconnect(front_info) is called and it calls
    xen_drm_drv_fini(front_info) cause a use after free by
    drm_info = front_info->drm_info statement.
    
    My patch has done two things. First fixes the fail label which
    drm_info = kzalloc() failed and still free the drm_info.
    Second sets front_info->drm_info to NULL to avoid uaf.
    
    Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
    Reviewed-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
    Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210323014656.10068-1-lyl2019@mail.ustc.edu.cn
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Yunlongs authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    7a1cd90 View commit details
    Browse the repository at this point in the history
  23. neighbour: Disregard DEAD dst in neigh_update

    [ Upstream commit d47ec7a ]
    
    After a short network outage, the dst_entry is timed out and put
    in DST_OBSOLETE_DEAD. We are in this code because arp reply comes
    from this neighbour after network recovers. There is a potential
    race condition that dst_entry is still in DST_OBSOLETE_DEAD.
    With that, another neighbour lookup causes more harm than good.
    
    In best case all packets in arp_queue are lost. This is
    counterproductive to the original goal of finding a better path
    for those packets.
    
    I observed a worst case with 4.x kernel where a dst_entry in
    DST_OBSOLETE_DEAD state is associated with loopback net_device.
    It leads to an ethernet header with all zero addresses.
    A packet with all zero source MAC address is quite deadly with
    mac80211, ath9k and 802.11 block ack.  It fails
    ieee80211_find_sta_by_ifaddr in ath9k (xmit.c). Ath9k flushes tx
    queue (ath_tx_complete_aggr). BAW (block ack window) is not
    updated. BAW logic is damaged and ath9k transmission is disabled.
    
    Signed-off-by: Tong Zhu <zhutong@amazon.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Tong Zhu authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    0d0ad98 View commit details
    Browse the repository at this point in the history
  24. ARM: keystone: fix integer overflow warning

    [ Upstream commit 844b85d ]
    
    clang warns about an impossible condition when building with 32-bit
    phys_addr_t:
    
    arch/arm/mach-keystone/keystone.c:79:16: error: result of comparison of constant 51539607551 with expression of type 'phys_addr_t' (aka 'unsigned int') is always false [-Werror,-Wtautological-constant-out-of-range-compare]
                mem_end   > KEYSTONE_HIGH_PHYS_END) {
                ~~~~~~~   ^ ~~~~~~~~~~~~~~~~~~~~~~
    arch/arm/mach-keystone/keystone.c:78:16: error: result of comparison of constant 34359738368 with expression of type 'phys_addr_t' (aka 'unsigned int') is always true [-Werror,-Wtautological-constant-out-of-range-compare]
            if (mem_start < KEYSTONE_HIGH_PHYS_START ||
                ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~
    
    Change the temporary variable to a fixed-size u64 to avoid the warning.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Nathan Chancellor <nathan@kernel.org>
    Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
    Link: https://lore.kernel.org/r/20210323131814.2751750-1-arnd@kernel.org'
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    arndb authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    505c489 View commit details
    Browse the repository at this point in the history
  25. ARM: omap1: fix building with clang IAS

    [ Upstream commit 28399a5 ]
    
    The clang integrated assembler fails to build one file with
    a complex asm instruction:
    
    arch/arm/mach-omap1/ams-delta-fiq-handler.S:249:2: error: invalid instruction, any one of the following would fix this:
     mov r10, #(1 << (((NR_IRQS_LEGACY + 12) - NR_IRQS_LEGACY) % 32)) @ set deferred_fiq bit
     ^
    arch/arm/mach-omap1/ams-delta-fiq-handler.S:249:2: note: instruction requires: armv6t2
     mov r10, #(1 << (((NR_IRQS_LEGACY + 12) - NR_IRQS_LEGACY) % 32)) @ set deferred_fiq bit
     ^
    arch/arm/mach-omap1/ams-delta-fiq-handler.S:249:2: note: instruction requires: thumb2
     mov r10, #(1 << (((NR_IRQS_LEGACY + 12) - NR_IRQS_LEGACY) % 32)) @ set deferred_fiq bit
     ^
    
    The problem is that 'NR_IRQS_LEGACY' is not defined here. Apparently
    gas does not care because we first add and then subtract this number,
    leading to the immediate value to be the same regardless of the
    specific definition of NR_IRQS_LEGACY.
    
    Neither the way that 'gas' just silently builds this file, nor the
    way that clang IAS makes nonsensical suggestions for how to fix it
    is great. Fortunately there is an easy fix, which is to #include
    the header that contains the definition.
    
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Link: https://lore.kernel.org/r/20210308153430.2530616-1-arnd@kernel.org'
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    arndb authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    d61238a View commit details
    Browse the repository at this point in the history
  26. drm/msm: Fix a5xx/a6xx timestamps

    [ Upstream commit 9fbd308 ]
    
    They were reading a counter that was configured to ALWAYS_COUNT (ie.
    cycles that the GPU is doing something) rather than ALWAYS_ON.  This
    isn't the thing that userspace is looking for.
    
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Acked-by: Jordan Crouse <jordan@cosmicpenguin.net>
    Message-Id: <20210325012358.1759770-2-robdclark@gmail.com>
    Signed-off-by: Rob Clark <robdclark@chromium.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    robclark authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    79ef0e6 View commit details
    Browse the repository at this point in the history
  27. ASoC: fsl_esai: Fix TDM slot setup for I2S mode

    [ Upstream commit e7a48c7 ]
    
    When using the driver in I2S TDM mode, the fsl_esai_startup()
    function rewrites the number of slots previously set by the
    fsl_esai_set_dai_tdm_slot() function to 2.
    To fix this, let's use the saved slot count value or, if TDM
    is not used and the number of slots is not set, the driver will use
    the default value (2), which is set by fsl_esai_probe().
    
    Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
    Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
    Link: https://lore.kernel.org/r/20210402081405.9892-1-shc_work@mail.ru
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    shcgit authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    d9fc084 View commit details
    Browse the repository at this point in the history
  28. scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state

    [ Upstream commit 5cd0f6f ]
    
    rport_dev_loss_timedout() sets the rport state to SRP_PORT_LOST and the
    SCSI target state to SDEV_TRANSPORT_OFFLINE. If this races with
    srp_reconnect_work(), a warning is printed:
    
    Mar 27 18:48:07 ictm1604s01h4 kernel: dev_loss_tmo expired for SRP port-18:1 / host18.
    Mar 27 18:48:07 ictm1604s01h4 kernel: ------------[ cut here ]------------
    Mar 27 18:48:07 ictm1604s01h4 kernel: scsi_internal_device_block(18:0:0:100) failed: ret = -22
    Mar 27 18:48:07 ictm1604s01h4 kernel: Call Trace:
    Mar 27 18:48:07 ictm1604s01h4 kernel:  ? scsi_target_unblock+0x50/0x50 [scsi_mod]
    Mar 27 18:48:07 ictm1604s01h4 kernel:  starget_for_each_device+0x80/0xb0 [scsi_mod]
    Mar 27 18:48:07 ictm1604s01h4 kernel:  target_block+0x24/0x30 [scsi_mod]
    Mar 27 18:48:07 ictm1604s01h4 kernel:  device_for_each_child+0x57/0x90
    Mar 27 18:48:07 ictm1604s01h4 kernel:  srp_reconnect_rport+0xe4/0x230 [scsi_transport_srp]
    Mar 27 18:48:07 ictm1604s01h4 kernel:  srp_reconnect_work+0x40/0xc0 [scsi_transport_srp]
    
    Avoid this by not trying to block targets for rports in SRP_PORT_LOST
    state.
    
    Link: https://lore.kernel.org/r/20210401091105.8046-1-mwilck@suse.com
    Reviewed-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Martin Wilck <mwilck@suse.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    mwilck authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    c836374 View commit details
    Browse the repository at this point in the history
  29. iwlwifi: add support for Qu with AX201 device

    [ Upstream commit 97195d3 ]
    
    Add this specific Samsung AX201 sku to driver so it can be
    detected and initialized successfully.
    
    Signed-off-by: Matt Chen <matt.chen@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Link: https://lore.kernel.org/r/iwlwifi.20210326125611.30b622037714.Id9fd709cf1c8261c097bbfd7453f6476077dcafc@changeid
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    matt680209 authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    8b9485b View commit details
    Browse the repository at this point in the history
  30. net: ieee802154: stop dump llsec keys for monitors

    [ Upstream commit fb3c5cd ]
    
    This patch stops dumping llsec keys for monitors which we don't support
    yet. Otherwise we will access llsec mib which isn't initialized for
    monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-4-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    c09075d View commit details
    Browse the repository at this point in the history
  31. net: ieee802154: forbid monitor for add llsec key

    [ Upstream commit 08470c5 ]
    
    This patch forbids to add llsec key for monitor interfaces which we
    don't support yet. Otherwise we will access llsec mib which isn't
    initialized for monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-5-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    7edf4d2 View commit details
    Browse the repository at this point in the history
  32. net: ieee802154: forbid monitor for del llsec key

    [ Upstream commit b6e2949 ]
    
    This patch forbids to del llsec key for monitor interfaces which we
    don't support yet. Otherwise we will access llsec mib which isn't
    initialized for monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-6-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    08744a6 View commit details
    Browse the repository at this point in the history
  33. net: ieee802154: stop dump llsec devs for monitors

    [ Upstream commit 5582d64 ]
    
    This patch stops dumping llsec devs for monitors which we don't support
    yet. Otherwise we will access llsec mib which isn't initialized for
    monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-7-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    2f80452 View commit details
    Browse the repository at this point in the history
  34. net: ieee802154: forbid monitor for add llsec dev

    [ Upstream commit 5303f95 ]
    
    This patch forbids to add llsec dev for monitor interfaces which we
    don't support yet. Otherwise we will access llsec mib which isn't
    initialized for monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-8-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    813b131 View commit details
    Browse the repository at this point in the history
  35. net: ieee802154: forbid monitor for del llsec dev

    [ Upstream commit ad8f9de ]
    
    This patch forbids to del llsec dev for monitor interfaces which we
    don't support yet. Otherwise we will access llsec mib which isn't
    initialized for monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-9-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    4c1775d View commit details
    Browse the repository at this point in the history
  36. net: ieee802154: stop dump llsec devkeys for monitors

    [ Upstream commit 080d1a5 ]
    
    This patch stops dumping llsec devkeys for monitors which we don't support
    yet. Otherwise we will access llsec mib which isn't initialized for
    monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-10-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    0771422 View commit details
    Browse the repository at this point in the history
  37. net: ieee802154: forbid monitor for add llsec devkey

    [ Upstream commit a347b3b ]
    
    This patch forbids to add llsec devkey for monitor interfaces which we
    don't support yet. Otherwise we will access llsec mib which isn't
    initialized for monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-11-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    4846c2d View commit details
    Browse the repository at this point in the history
  38. net: ieee802154: forbid monitor for del llsec devkey

    [ Upstream commit 6fb8045 ]
    
    This patch forbids to del llsec devkey for monitor interfaces which we
    don't support yet. Otherwise we will access llsec mib which isn't
    initialized for monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-12-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    ab9f9a1 View commit details
    Browse the repository at this point in the history
  39. net: ieee802154: stop dump llsec seclevels for monitors

    [ Upstream commit 4c9b4f5 ]
    
    This patch stops dumping llsec seclevels for monitors which we don't
    support yet. Otherwise we will access llsec mib which isn't initialized
    for monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-13-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    b97c7bc View commit details
    Browse the repository at this point in the history
  40. net: ieee802154: forbid monitor for add llsec seclevel

    [ Upstream commit 9ec87e3 ]
    
    This patch forbids to add llsec seclevel for monitor interfaces which we
    don't support yet. Otherwise we will access llsec mib which isn't
    initialized for monitors.
    
    Signed-off-by: Alexander Aring <aahringo@redhat.com>
    Link: https://lore.kernel.org/r/20210405003054.256017-14-aahringo@redhat.com
    Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Alexander Aring authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    248b9b6 View commit details
    Browse the repository at this point in the history
  41. pcnet32: Use pci_resource_len to validate PCI resource

    [ Upstream commit 66c3f05 ]
    
    pci_resource_start() is not a good indicator to determine if a PCI
    resource exists or not, since the resource may start at address 0.
    This is seen when trying to instantiate the driver in qemu for riscv32
    or riscv64.
    
    pci 0000:00:01.0: reg 0x10: [io  0x0000-0x001f]
    pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x0000001f]
    ...
    pcnet32: card has no PCI IO resources, aborting
    
    Use pci_resouce_len() instead.
    
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    groeck authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    2e08d9a View commit details
    Browse the repository at this point in the history
  42. mac80211: clear sta->fast_rx when STA removed from 4-addr VLAN

    [ Upstream commit dd0b455 ]
    
    In some race conditions, with more clients and traffic configuration,
    below crash is seen when making the interface down. sta->fast_rx wasn't
    cleared when STA gets removed from 4-addr AP_VLAN interface. The crash is
    due to try accessing 4-addr AP_VLAN interface's net_device (fast_rx->dev)
    which has been deleted already.
    
    Resolve this by clearing sta->fast_rx pointer when STA removes
    from a 4-addr VLAN.
    
    [  239.449529] Unable to handle kernel NULL pointer dereference at virtual address 00000004
    [  239.449531] pgd = 80204000
    ...
    [  239.481496] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.4.60 Freescale#227
    [  239.481591] Hardware name: Generic DT based system
    [  239.487665] task: be05b700 ti: be08e000 task.ti: be08e000
    [  239.492360] PC is at get_rps_cpu+0x2d4/0x31c
    [  239.497823] LR is at 0xbe08fc54
    ...
    [  239.778574] [<80739740>] (get_rps_cpu) from [<8073cb10>] (netif_receive_skb_internal+0x8c/0xac)
    [  239.786722] [<8073cb10>] (netif_receive_skb_internal) from [<8073d578>] (napi_gro_receive+0x48/0xc4)
    [  239.795267] [<8073d578>] (napi_gro_receive) from [<c7b83e8c>] (ieee80211_mark_rx_ba_filtered_frames+0xbcc/0x12d4 [mac80211])
    [  239.804776] [<c7b83e8c>] (ieee80211_mark_rx_ba_filtered_frames [mac80211]) from [<c7b84d4c>] (ieee80211_rx_napi+0x7b8/0x8c8 [mac8
                0211])
    [  239.815857] [<c7b84d4c>] (ieee80211_rx_napi [mac80211]) from [<c7f63d7c>] (ath11k_dp_process_rx+0x7bc/0x8c8 [ath11k])
    [  239.827757] [<c7f63d7c>] (ath11k_dp_process_rx [ath11k]) from [<c7f5b6c4>] (ath11k_dp_service_srng+0x2c0/0x2e0 [ath11k])
    [  239.838484] [<c7f5b6c4>] (ath11k_dp_service_srng [ath11k]) from [<7f55b7dc>] (ath11k_ahb_ext_grp_napi_poll+0x20/0x84 [ath11k_ahb]
                )
    [  239.849419] [<7f55b7dc>] (ath11k_ahb_ext_grp_napi_poll [ath11k_ahb]) from [<8073ce1c>] (net_rx_action+0xe0/0x28c)
    [  239.860945] [<8073ce1c>] (net_rx_action) from [<80324868>] (__do_softirq+0xe4/0x228)
    [  239.871269] [<80324868>] (__do_softirq) from [<80324c48>] (irq_exit+0x98/0x108)
    [  239.879080] [<80324c48>] (irq_exit) from [<8035c59c>] (__handle_domain_irq+0x90/0xb4)
    [  239.886114] [<8035c59c>] (__handle_domain_irq) from [<8030137c>] (gic_handle_irq+0x50/0x94)
    [  239.894100] [<8030137c>] (gic_handle_irq) from [<803024c0>] (__irq_svc+0x40/0x74)
    
    Signed-off-by: Seevalamuthu Mariappan <seevalam@codeaurora.org>
    Link: https://lore.kernel.org/r/1616163532-3881-1-git-send-email-seevalam@codeaurora.org
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Seevalamuthu Mariappan authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    cc413b3 View commit details
    Browse the repository at this point in the history
  43. virt_wifi: Return micros for BSS TSF values

    [ Upstream commit b57aa17 ]
    
    cfg80211_inform_bss expects to receive a TSF value, but is given the
    time since boot in nanoseconds. TSF values are expected to be at
    microsecond scale rather than nanosecond scale.
    
    Signed-off-by: A. Cody Schuffelen <schuffelen@google.com>
    Link: https://lore.kernel.org/r/20210318200419.1421034-1-schuffelen@google.com
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Databean authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    024f9d0 View commit details
    Browse the repository at this point in the history
  44. lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS

    [ Upstream commit 7d37cb2 ]
    
    When LATENCYTOP, LOCKDEP, or FAULT_INJECTION_STACKTRACE_FILTER is
    enabled and ARCH_WANT_FRAME_POINTERS is disabled, Kbuild gives a warning
    such as:
    
      WARNING: unmet direct dependencies detected for FRAME_POINTER
        Depends on [n]: DEBUG_KERNEL [=y] && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS [=n] || MCOUNT [=n]
        Selected by [y]:
        - LATENCYTOP [=y] && DEBUG_KERNEL [=y] && STACKTRACE_SUPPORT [=y] && PROC_FS [=y] && !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86
    
    Depending on ARCH_WANT_FRAME_POINTERS causes a recursive dependency
    error.  ARCH_WANT_FRAME_POINTERS is to be selected by the architecture,
    and is not supposed to be overridden by other config options.
    
    Link: https://lkml.kernel.org/r/20210329165329.27994-1-julianbraha@gmail.com
    Signed-off-by: Julian Braha <julianbraha@gmail.com>
    Cc: Andreas Schwab <schwab@linux-m68k.org>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Necip Fazil Yildiran <fazilyildiran@gmail.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    julianbraha authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    955da2b View commit details
    Browse the repository at this point in the history
  45. Input: s6sy761 - fix coordinate read bit shift

    commit 30b3f68 upstream.
    
    The touch coordinate register contains the following:
    
            byte 3             byte 2             byte 1
    +--------+--------+ +-----------------+ +-----------------+
    |        |        | |                 | |                 |
    | X[3:0] | Y[3:0] | |     Y[11:4]     | |     X[11:4]     |
    |        |        | |                 | |                 |
    +--------+--------+ +-----------------+ +-----------------+
    
    Bytes 2 and 1 need to be shifted left by 4 bits, the least significant
    nibble of each is stored in byte 3. Currently they are only
    being shifted by 3 causing the reported coordinates to be incorrect.
    
    This matches downstream examples, and has been confirmed on my
    device (OnePlus 7 Pro).
    
    Fixes: 0145a71 ("Input: add support for the Samsung S6SY761 touchscreen")
    Signed-off-by: Caleb Connolly <caleb@connolly.tech>
    Reviewed-by: Andi Shyti <andi@etezian.org>
    Link: https://lore.kernel.org/r/20210305185710.225168-1-caleb@connolly.tech
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    calebccff authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    8b97875 View commit details
    Browse the repository at this point in the history
  46. Input: i8042 - fix Pegatron C15B ID entry

    commit daa58c8 upstream.
    
    The Zenbook Flip entry that was added overwrites a previous one
    because of a typo:
    
    In file included from drivers/input/serio/i8042.h:23,
                     from drivers/input/serio/i8042.c:131:
    drivers/input/serio/i8042-x86ia64io.h:591:28: error: initialized field overwritten [-Werror=override-init]
      591 |                 .matches = {
          |                            ^
    drivers/input/serio/i8042-x86ia64io.h:591:28: note: (near initialization for 'i8042_dmi_noselftest_table[0].matches')
    
    Add the missing separator between the two.
    
    Fixes: b5d6e7a ("Input: i8042 - add ASUS Zenbook Flip to noselftest list")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>
    Reviewed-by: Marcos Paulo de Souza <mpdesouza@suse.com>
    Link: https://lore.kernel.org/r/20210323130623.2302402-1-arnd@kernel.org
    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    arndb authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    dedf75a View commit details
    Browse the repository at this point in the history
  47. HID: wacom: set EV_KEY and EV_ABS only for non-HID_GENERIC type of de…

    …vices
    
    commit 276559d upstream.
    
    Valid HID_GENERIC type of devices set EV_KEY and EV_ABS by wacom_map_usage.
    When *_input_capabilities are reached, those devices should already have
    their proper EV_* set. EV_KEY and EV_ABS only need to be set for
    non-HID_GENERIC type of devices in *_input_capabilities.
    
    Devices that don't support HID descitoprs will pass back to hid-input for
    registration without being accidentally rejected by the introduction of
    patch: "Input: refuse to register absolute devices without absinfo"
    
    Fixes: 6ecfe51 ("Input: refuse to register absolute devices without absinfo")
    Signed-off-by: Ping Cheng <ping.cheng@wacom.com>
    Reviewed-by: Jason Gerecke <Jason.Gerecke@wacom.com>
    Tested-by: Juan Garrido <Juan.Garrido@wacom.com>
    CC: stable@vger.kernel.org
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Pinglinux authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    18ba387 View commit details
    Browse the repository at this point in the history
  48. dm verity fec: fix misaligned RS roots IO

    commit 8ca7cab upstream.
    
    commit df7b59b ("dm verity: fix FEC for RS roots unaligned to
    block size") introduced the possibility for misaligned roots IO
    relative to the underlying device's logical block size. E.g. Android's
    default RS roots=2 results in dm_bufio->block_size=1024, which causes
    the following EIO if the logical block size of the device is 4096,
    given v->data_dev_block_bits=12:
    
    E sd 0    : 0:0:0: [sda] tag#30 request not aligned to the logical block size
    E blk_update_request: I/O error, dev sda, sector 10368424 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
    E device-mapper: verity-fec: 254:8: FEC 9244672: parity read failed (block 18056): -5
    
    Fix this by onlu using f->roots for dm_bufio blocksize IFF it is
    aligned to v->data_dev_block_bits.
    
    Fixes: df7b59b ("dm verity: fix FEC for RS roots unaligned to block size")
    Cc: stable@vger.kernel.org
    Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
    Signed-off-by: Mike Snitzer <snitzer@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Jaegeuk Kim authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    2b83087 View commit details
    Browse the repository at this point in the history
  49. readdir: make sure to verify directory entry for legacy interfaces too

    commit 0c93ac6 upstream.
    
    This does the directory entry name verification for the legacy
    "fillonedir" (and compat) interface that goes all the way back to the
    dark ages before we had a proper dirent, and the readdir() system call
    returned just a single entry at a time.
    
    Nobody should use this interface unless you still have binaries from
    1991, but let's do it right.
    
    This came up during discussions about unsafe_copy_to_user() and proper
    checking of all the inputs to it, as the networking layer is looking to
    use it in a few new places.  So let's make sure the _old_ users do it
    all right and proper, before we add new ones.
    
    See also commit 8a23eb8 ("Make filldir[64]() verify the directory
    entry filename is valid") which did the proper modern interfaces that
    people actually use. It had a note:
    
        Note that I didn't bother adding the checks to any legacy interfaces
        that nobody uses.
    
    which this now corrects.  Note that we really don't care about POSIX and
    the presense of '/' in a directory entry, but verify_dirent_name() also
    ends up doing the proper name length verification which is what the
    input checking discussion was about.
    
    [ Another option would be to remove the support for this particular very
      old interface: any binaries that use it are likely a.out binaries, and
      they will no longer run anyway since we removed a.out binftm support
      in commit eac6165 ("x86: Deprecate a.out support").
    
      But I'm not sure which came first: getdents() or ELF support, so let's
      pretend somebody might still have a working binary that uses the
      legacy readdir() case.. ]
    
    Link: https://lore.kernel.org/lkml/CAHk-=wjbvzCAhAtvG0d81W5o0-KT5PPTHhfJ5ieDFq+bGtgOYg@mail.gmail.com/
    Acked-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    torvalds authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    957f83a View commit details
    Browse the repository at this point in the history
  50. arm64: fix inline asm in load_unaligned_zeropad()

    commit 185f2e5 upstream.
    
    The inline asm's addr operand is marked as input-only, however in
    the case where an exception is taken it may be modified by the BIC
    instruction on the exception path. Fix the problem by using a temporary
    register as the destination register for the BIC instruction.
    
    Signed-off-by: Peter Collingbourne <pcc@google.com>
    Cc: stable@vger.kernel.org
    Link: https://linux-review.googlesource.com/id/I84538c8a2307d567b4f45bb20b715451005f9617
    Link: https://lore.kernel.org/r/20210401165110.3952103-1-pcc@google.com
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    pcc authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    e2931f0 View commit details
    Browse the repository at this point in the history
  51. arm64: alternatives: Move length validation in alternative_{insn, endif}

    commit 22315a2 upstream.
    
    After commit 2decad9 ("arm64: mte: Ensure TIF_MTE_ASYNC_FAULT is
    set atomically"), LLVM's integrated assembler fails to build entry.S:
    
    <instantiation>:5:7: error: expected assembly-time absolute expression
     .org . - (664b-663b) + (662b-661b)
          ^
    <instantiation>:6:7: error: expected assembly-time absolute expression
     .org . - (662b-661b) + (664b-663b)
          ^
    
    The root cause is LLVM's assembler has a one-pass design, meaning it
    cannot figure out these instruction lengths when the .org directive is
    outside of the subsection that they are in, which was changed by the
    .arch_extension directive added in the above commit.
    
    Apply the same fix from commit 966a0ac ("arm64/alternatives: move
    length validation inside the subsection") to the alternative_endif
    macro, shuffling the .org directives so that the length validation
    happen will always happen in the same subsections. alternative_insn has
    not shown any issue yet but it appears that it could have the same issue
    in the future so just preemptively change it.
    
    Fixes: f7b93d4 ("arm64/alternatives: use subsections for replacement sequences")
    Cc: <stable@vger.kernel.org> # 5.8.x
    Link: ClangBuiltLinux#1347
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
    Tested-by: Sami Tolvanen <samitolvanen@google.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Tested-by: Nick Desaulniers <ndesaulniers@google.com>
    Link: https://lore.kernel.org/r/20210414000803.662534-1-nathan@kernel.org
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    nathanchance authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    e617799 View commit details
    Browse the repository at this point in the history
  52. vfio/pci: Add missing range check in vfio_pci_mmap

    commit 9092907 upstream.
    
    When mmaping an extra device region verify that the region index
    derived from the mmap offset is valid.
    
    Fixes: a15b188 ("vfio_pci: Allow mapping extra regions")
    Cc: stable@vger.kernel.org
    Signed-off-by: Christian A. Ehrhardt <lk@c--e.de>
    Message-Id: <20210412214124.GA241759@lisa.in-ulm.de>
    Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Christian A. Ehrhardt authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    f66d695 View commit details
    Browse the repository at this point in the history
  53. riscv: Fix spelling mistake "SPARSEMEM" to "SPARSMEM"

    commit 199fc6b upstream.
    
    There is a spelling mistake when SPARSEMEM Kconfig copy.
    
    Fixes: a5406a7 ("riscv: Correct SPARSEMEM configuration")
    Cc: stable@vger.kernel.org
    Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
    Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Kefeng Wang authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    6a70ab9 View commit details
    Browse the repository at this point in the history
  54. scsi: libsas: Reset num_scatter if libata marks qc as NODATA

    commit 176ddd8 upstream.
    
    When the cache_type for the SCSI device is changed, the SCSI layer issues a
    MODE_SELECT command. The caching mode details are communicated via a
    request buffer associated with the SCSI command with data direction set as
    DMA_TO_DEVICE (scsi_mode_select()). When this command reaches the libata
    layer, as a part of generic initial setup, libata layer sets up the
    scatterlist for the command using the SCSI command (ata_scsi_qc_new()).
    This command is then translated by the libata layer into
    ATA_CMD_SET_FEATURES (ata_scsi_mode_select_xlat()). The libata layer treats
    this as a non-data command (ata_mselect_caching()), since it only needs an
    ATA taskfile to pass the caching on/off information to the device. It does
    not need the scatterlist that has been setup, so it does not perform
    dma_map_sg() on the scatterlist (ata_qc_issue()). Unfortunately, when this
    command reaches the libsas layer (sas_ata_qc_issue()), libsas layer sees it
    as a non-data command with a scatterlist. It cannot extract the correct DMA
    length since the scatterlist has not been mapped with dma_map_sg() for a
    DMA operation. When this partially constructed SAS task reaches pm80xx
    LLDD, it results in the following warning:
    
    "pm80xx_chip_sata_req 6058: The sg list address
    start_addr=0x0000000000000000 data_len=0x0end_addr_high=0xffffffff
    end_addr_low=0xffffffff has crossed 4G boundary"
    
    Update libsas to handle ATA non-data commands separately so num_scatter and
    total_xfer_len remain 0.
    
    Link: https://lore.kernel.org/r/20210318225632.2481291-1-jollys@google.com
    Fixes: 53de092 ("scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA")
    Tested-by: Luo Jiaxing <luojiaxing@huawei.com>
    Reviewed-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Jolly Shah <jollys@google.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Jolly Shah authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    0ef9919 View commit details
    Browse the repository at this point in the history
  55. ixgbe: fix unbalanced device enable/disable in suspend/resume

    commit debb9df upstream.
    
    pci_disable_device() called in __ixgbe_shutdown() decreases
    dev->enable_cnt by 1. pci_enable_device_mem() which increases
    dev->enable_cnt by 1, was removed from ixgbe_resume() in commit
    6f82b25 ("ixgbe: use generic power management"). This caused
    unbalanced increase/decrease. So add pci_enable_device_mem() back.
    
    Fix the following call trace.
    
      ixgbe 0000:17:00.1: disabling already-disabled device
      Call Trace:
       __ixgbe_shutdown+0x10a/0x1e0 [ixgbe]
       ixgbe_suspend+0x32/0x70 [ixgbe]
       pci_pm_suspend+0x87/0x160
       ? pci_pm_freeze+0xd0/0xd0
       dpm_run_callback+0x42/0x170
       __device_suspend+0x114/0x460
       async_suspend+0x1f/0xa0
       async_run_entry_fn+0x3c/0xf0
       process_one_work+0x1dd/0x410
       worker_thread+0x34/0x3f0
       ? cancel_delayed_work+0x90/0x90
       kthread+0x14c/0x170
       ? kthread_park+0x90/0x90
       ret_from_fork+0x1f/0x30
    
    Fixes: 6f82b25 ("ixgbe: use generic power management")
    Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
    Tested-by: Dave Switzer <david.switzer@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    liux2085 authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    be07581 View commit details
    Browse the repository at this point in the history
  56. netfilter: flowtable: fix NAT IPv6 offload mangling

    commit 0e07e25 upstream.
    
    Fix out-of-bound access in the address array.
    
    Fixes: 5c27d8d ("netfilter: nf_flow_table_offload: add IPv6 support")
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ummakynes authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    394c81e View commit details
    Browse the repository at this point in the history
  57. netfilter: conntrack: do not print icmpv6 as unknown via /proc

    commit fbea318 upstream.
    
    /proc/net/nf_conntrack shows icmpv6 as unknown.
    
    Fixes: 09ec82f ("netfilter: conntrack: remove protocol name from l4proto struct")
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ummakynes authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    783645e View commit details
    Browse the repository at this point in the history
  58. ice: Fix potential infinite loop when using u8 loop counter

    commit ef963ae upstream.
    
    A for-loop is using a u8 loop counter that is being compared to
    a u32 cmp_dcbcfg->numapp to check for the end of the loop. If
    cmp_dcbcfg->numapp is larger than 255 then the counter j will wrap
    around to zero and hence an infinite loop occurs. Fix this by making
    counter j the same type as cmp_dcbcfg->numapp.
    
    Addresses-Coverity: ("Infinite loop")
    Fixes: aeac8ce ("ice: Recognize 860 as iSCSI port in CEE mode")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
    Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Colin Ian King authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    a2af8a0 View commit details
    Browse the repository at this point in the history
  59. libnvdimm/region: Fix nvdimm_has_flush() to handle ND_REGION_ASYNC

    commit a2948b1 upstream.
    
    In case a platform doesn't provide explicit flush-hints but provides an
    explicit flush callback via ND_REGION_ASYNC region flag, then
    nvdimm_has_flush() still returns '0' indicating that writes do not
    require flushing. This happens on PPC64 with patch at [1] applied, where
    'deep_flush' of a region was denied even though an explicit flush
    function was provided.
    
    Fix this by adding a condition to nvdimm_has_flush() to test for the
    ND_REGION_ASYNC flag on the region and see if a 'region->flush' callback
    is assigned.
    
    Link: http://lore.kernel.org/r/161703936121.36.7260632399582101498.stgit@e1fbed493c87 [1]
    Fixes: c5d4355 ("libnvdimm: nd_region flush callback support")
    Reported-by: Shivaprasad G Bhat <sbhat@linux.ibm.com>
    Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
    Link: https://lore.kernel.org/r/20210402092555.208590-1-vaibhav@linux.ibm.com
    Signed-off-by: Dan Williams <dan.j.williams@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    vaibhav92 authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    eb82199 View commit details
    Browse the repository at this point in the history
  60. netfilter: bridge: add pre_exit hooks for ebtable unregistration

    commit 7ee3c61 upstream.
    
    Just like ip/ip6/arptables, the hooks have to be removed, then
    synchronize_rcu() has to be called to make sure no more packets are being
    processed before the ruleset data is released.
    
    Place the hook unregistration in the pre_exit hook, then call the new
    ebtables pre_exit function from there.
    
    Years ago, when first netns support got added for netfilter+ebtables,
    this used an older (now removed) netfilter hook unregister API, that did
    a unconditional synchronize_rcu().
    
    Now that all is done with call_rcu, ebtable_{filter,nat,broute} pernet exit
    handlers may free the ebtable ruleset while packets are still in flight.
    
    This can only happens on module removal, not during netns exit.
    
    The new function expects the table name, not the table struct.
    
    This is because upcoming patch set (targeting -next) will remove all
    net->xt.{nat,filter,broute}_table instances, this makes it necessary
    to avoid external references to those member variables.
    
    The existing APIs will be converted, so follow the upcoming scheme of
    passing name + hook type instead.
    
    Fixes: aee12a0 ("ebtables: remove nf_hook_register usage")
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Florian Westphal authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    4d26865 View commit details
    Browse the repository at this point in the history
  61. netfilter: arp_tables: add pre_exit hook for table unregister

    commit d163a92 upstream.
    
    Same problem that also existed in iptables/ip(6)tables, when
    arptable_filter is removed there is no longer a wait period before the
    table/ruleset is free'd.
    
    Unregister the hook in pre_exit, then remove the table in the exit
    function.
    This used to work correctly because the old nf_hook_unregister API
    did unconditional synchronize_net.
    
    The per-net hook unregister function uses call_rcu instead.
    
    Fixes: b9e69e1 ("netfilter: xtables: don't hook tables by default")
    Signed-off-by: Florian Westphal <fw@strlen.de>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Florian Westphal authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    7824d5a View commit details
    Browse the repository at this point in the history
  62. libbpf: Fix potential NULL pointer dereference

    commit afd0be7 upstream.
    
    Wait until after the UMEM is checked for null to dereference it.
    
    Fixes: 43f1bc1 ("libbpf: Restore umem state after socket create failure")
    Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Link: https://lore.kernel.org/bpf/20210408052009.7844-1-ciara.loftus@intel.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    cloftus authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    7f8e59c View commit details
    Browse the repository at this point in the history
  63. net: macb: fix the restore of cmp registers

    commit a714e27 upstream.
    
    Commit a14d273 ("net: macb: restore cmp registers on resume path")
    introduces the restore of CMP registers on resume path. In case the IP
    doesn't support type 2 screeners (zero on DCFG8 register) the
    struct macb::rx_fs_list::list is not initialized and thus the
    list_for_each_entry(item, &bp->rx_fs_list.list, list) loop introduced in
    commit a14d273 ("net: macb: restore cmp registers on resume path")
    will access an uninitialized list leading to crash. Thus, initialize
    the struct macb::rx_fs_list::list without taking into account if the
    IP supports type 2 screeners or not.
    
    Fixes: a14d273 ("net: macb: restore cmp registers on resume path")
    Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    claudiubeznea authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    40ed1d2 View commit details
    Browse the repository at this point in the history
  64. net/mlx5e: fix ingress_ifindex check in mlx5e_flower_parse_meta

    commit e3e0f9b upstream.
    
    In the nft_offload there is the mate flow_dissector with no
    ingress_ifindex but with ingress_iftype that only be used
    in the software. So if the mask of ingress_ifindex in meta is
    0, this meta check should be bypass.
    
    Fixes: 6d65bc6 ("net/mlx5e: Add mlx5e_flower_parse_meta support")
    Signed-off-by: wenxu <wenxu@ucloud.cn>
    Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    wenxu authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    cda5507 View commit details
    Browse the repository at this point in the history
  65. netfilter: nft_limit: avoid possible divide error in nft_limit_init

    commit b895bdf upstream.
    
    div_u64() divides u64 by u32.
    
    nft_limit_init() wants to divide u64 by u64, use the appropriate
    math function (div64_u64)
    
    divide error: 0000 [Freescale#1] PREEMPT SMP KASAN
    CPU: 1 PID: 8390 Comm: syz-executor188 Not tainted 5.12.0-rc4-syzkaller #0
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    RIP: 0010:div_u64_rem include/linux/math64.h:28 [inline]
    RIP: 0010:div_u64 include/linux/math64.h:127 [inline]
    RIP: 0010:nft_limit_init+0x2a2/0x5e0 net/netfilter/nft_limit.c:85
    Code: ef 4c 01 eb 41 0f 92 c7 48 89 de e8 38 a5 22 fa 4d 85 ff 0f 85 97 02 00 00 e8 ea 9e 22 fa 4c 0f af f3 45 89 ed 31 d2 4c 89 f0 <49> f7 f5 49 89 c6 e8 d3 9e 22 fa 48 8d 7d 48 48 b8 00 00 00 00 00
    RSP: 0018:ffffc90009447198 EFLAGS: 00010246
    RAX: 0000000000000000 RBX: 0000200000000000 RCX: 0000000000000000
    RDX: 0000000000000000 RSI: ffffffff875152e6 RDI: 0000000000000003
    RBP: ffff888020f80908 R08: 0000200000000000 R09: 0000000000000000
    R10: ffffffff875152d8 R11: 0000000000000000 R12: ffffc90009447270
    R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
    FS:  000000000097a300(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 00000000200001c4 CR3: 0000000026a52000 CR4: 00000000001506e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:
     nf_tables_newexpr net/netfilter/nf_tables_api.c:2675 [inline]
     nft_expr_init+0x145/0x2d0 net/netfilter/nf_tables_api.c:2713
     nft_set_elem_expr_alloc+0x27/0x280 net/netfilter/nf_tables_api.c:5160
     nf_tables_newset+0x1997/0x3150 net/netfilter/nf_tables_api.c:4321
     nfnetlink_rcv_batch+0x85a/0x21b0 net/netfilter/nfnetlink.c:456
     nfnetlink_rcv_skb_batch net/netfilter/nfnetlink.c:580 [inline]
     nfnetlink_rcv+0x3af/0x420 net/netfilter/nfnetlink.c:598
     netlink_unicast_kernel net/netlink/af_netlink.c:1312 [inline]
     netlink_unicast+0x533/0x7d0 net/netlink/af_netlink.c:1338
     netlink_sendmsg+0x856/0xd90 net/netlink/af_netlink.c:1927
     sock_sendmsg_nosec net/socket.c:654 [inline]
     sock_sendmsg+0xcf/0x120 net/socket.c:674
     ____sys_sendmsg+0x6e8/0x810 net/socket.c:2350
     ___sys_sendmsg+0xf3/0x170 net/socket.c:2404
     __sys_sendmsg+0xe5/0x1b0 net/socket.c:2433
     do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
     entry_SYSCALL_64_after_hwframe+0x44/0xae
    
    Fixes: c26844e ("netfilter: nf_tables: Fix nft limit burst handling")
    Fixes: 3e0f64b ("netfilter: nft_limit: fix packet ratelimiting")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Diagnosed-by: Luigi Rizzo <lrizzo@google.com>
    Reported-by: syzbot <syzkaller@googlegroups.com>
    Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Eric Dumazet authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    dc1732b View commit details
    Browse the repository at this point in the history
  66. net/mlx5e: Fix setting of RS FEC mode

    commit 7a320c9 upstream.
    
    Change register setting from bit number to bit mask.
    
    Fixes: b5ede32 ("net/mlx5e: Add support for FEC modes based on 50G per lane links")
    Signed-off-by: Aya Levin <ayal@nvidia.com>
    Reviewed-by: Eran Ben Elisha <eranbe@nvidia.com>
    Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ayalevin authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    e072247 View commit details
    Browse the repository at this point in the history
  67. net: davicom: Fix regulator not turned off on failed probe

    commit 31457db upstream.
    
    When the probe fails, we must disable the regulator that was previously
    enabled.
    
    This patch is a follow-up to commit ac88c53
    ("net: davicom: Fix regulator not turned off on failed probe") which missed
    one case.
    
    Fixes: 7994fe5 ("dm9000: Add regulator and reset support to dm9000")
    Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    tititiou36 authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    154ac84 View commit details
    Browse the repository at this point in the history
  68. net: sit: Unregister catch-all devices

    commit 610f8c0 upstream.
    
    A sit interface created without a local or a remote address is linked
    into the `sit_net::tunnels_wc` list of its original namespace. When
    deleting a network namespace, delete the devices that have been moved.
    
    The following script triggers a null pointer dereference if devices
    linked in a deleted `sit_net` remain:
    
        for i in `seq 1 30`; do
            ip netns add ns-test
            ip netns exec ns-test ip link add dev veth0 type veth peer veth1
            ip netns exec ns-test ip link add dev sit$i type sit dev veth0
            ip netns exec ns-test ip link set dev sit$i netns $$
            ip netns del ns-test
        done
        for i in `seq 1 30`; do
            ip link del dev sit$i
        done
    
    Fixes: 5e6700b ("sit: add support of x-netns")
    Signed-off-by: Hristo Venev <hristo@venev.name>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    hvenev authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    ea0340e View commit details
    Browse the repository at this point in the history
  69. net: ip6_tunnel: Unregister catch-all devices

    commit 941ea91 upstream.
    
    Similarly to the sit case, we need to remove the tunnels with no
    addresses that have been moved to another network namespace.
    
    Fixes: 0bd8762 ("ip6tnl: add x-netns support")
    Signed-off-by: Hristo Venev <hristo@venev.name>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    hvenev authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    33f3dab View commit details
    Browse the repository at this point in the history
  70. mm: ptdump: fix build failure

    commit 4583769 upstream.
    
    READ_ONCE() cannot be used for reading PTEs.  Use ptep_get() instead, to
    avoid the following errors:
    
        CC      mm/ptdump.o
      In file included from <command-line>:
      mm/ptdump.c: In function 'ptdump_pte_entry':
      include/linux/compiler_types.h:320:38: error: call to '__compiletime_assert_207' declared with attribute error: Unsupported access size for {READ,WRITE}_ONCE().
        320 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
            |                                      ^
      include/linux/compiler_types.h:301:4: note: in definition of macro '__compiletime_assert'
        301 |    prefix ## suffix();    \
            |    ^~~~~~
      include/linux/compiler_types.h:320:2: note: in expansion of macro '_compiletime_assert'
        320 |  _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
            |  ^~~~~~~~~~~~~~~~~~~
      include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
         36 |  compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
            |  ^~~~~~~~~~~~~~~~~~
      include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
         49 |  compiletime_assert_rwonce_type(x);    \
            |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      mm/ptdump.c:114:14: note: in expansion of macro 'READ_ONCE'
        114 |  pte_t val = READ_ONCE(*pte);
            |              ^~~~~~~~~
      make[2]: *** [mm/ptdump.o] Error 1
    
    See commit 481e980 ("mm: Allow arches to provide ptep_get()") and
    commit c0e1c8c ("powerpc/8xx: Provide ptep_get() with 16k pages")
    for details.
    
    Link: https://lkml.kernel.org/r/912b349e2bcaa88939904815ca0af945740c6bd4.1618478922.git.christophe.leroy@csgroup.eu
    Fixes: 30d621f ("mm: add generic ptdump")
    Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Steven Price <steven.price@arm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    chleroy authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    76af812 View commit details
    Browse the repository at this point in the history
  71. net: Make tcp_allowed_congestion_control readonly in non-init netns

    commit 97684f0 upstream.
    
    Currently, tcp_allowed_congestion_control is global and writable;
    writing to it in any net namespace will leak into all other net
    namespaces.
    
    tcp_available_congestion_control and tcp_allowed_congestion_control are
    the only sysctls in ipv4_net_table (the per-netns sysctl table) with a
    NULL data pointer; their handlers (proc_tcp_available_congestion_control
    and proc_allowed_congestion_control) have no other way of referencing a
    struct net. Thus, they operate globally.
    
    Because ipv4_net_table does not use designated initializers, there is no
    easy way to fix up this one "bad" table entry. However, the data pointer
    updating logic shouldn't be applied to NULL pointers anyway, so we
    instead force these entries to be read-only.
    
    These sysctls used to exist in ipv4_table (init-net only), but they were
    moved to the per-net ipv4_net_table, presumably without realizing that
    tcp_allowed_congestion_control was writable and thus introduced a leak.
    
    Because the intent of that commit was only to know (i.e. read) "which
    congestion algorithms are available or allowed", this read-only solution
    should be sufficient.
    
    The logic added in recent commit
    31c4d2f: ("net: Ensure net namespace isolation of sysctls")
    does not and cannot check for NULL data pointers, because
    other table entries (e.g. /proc/sys/net/netfilter/nf_log/) have
    .data=NULL but use other methods (.extra2) to access the struct net.
    
    Fixes: 9cb8e04 ("net/ipv4/sysctl: show tcp_{allowed, available}_congestion_control in non-initial netns")
    Signed-off-by: Jonathon Reinhart <jonathon.reinhart@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    JonathonReinhart authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    35d7491 View commit details
    Browse the repository at this point in the history
  72. i40e: fix the panic when running bpf in xdpdrv mode

    commit 4e39a07 upstream.
    
    Fix this panic by adding more rules to calculate the value of @rss_size_max
    which could be used in allocating the queues when bpf is loaded, which,
    however, could cause the failure and then trigger the NULL pointer of
    vsi->rx_rings. Prio to this fix, the machine doesn't care about how many
    cpus are online and then allocates 256 queues on the machine with 32 cpus
    online actually.
    
    Once the load of bpf begins, the log will go like this "failed to get
    tracking for 256 queues for VSI 0 err -12" and this "setup of MAIN VSI
    failed".
    
    Thus, I attach the key information of the crash-log here.
    
    BUG: unable to handle kernel NULL pointer dereference at
    0000000000000000
    RIP: 0010:i40e_xdp+0xdd/0x1b0 [i40e]
    Call Trace:
    [2160294.717292]  ? i40e_reconfig_rss_queues+0x170/0x170 [i40e]
    [2160294.717666]  dev_xdp_install+0x4f/0x70
    [2160294.718036]  dev_change_xdp_fd+0x11f/0x230
    [2160294.718380]  ? dev_disable_lro+0xe0/0xe0
    [2160294.718705]  do_setlink+0xac7/0xe70
    [2160294.719035]  ? __nla_parse+0xed/0x120
    [2160294.719365]  rtnl_newlink+0x73b/0x860
    
    Fixes: 41c445f ("i40e: main driver core")
    Co-developed-by: Shujin Li <lishujin@kuaishou.com>
    Signed-off-by: Shujin Li <lishujin@kuaishou.com>
    Signed-off-by: Jason Xing <xingwanli@kuaishou.com>
    Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Jason Xing authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    44ef38c View commit details
    Browse the repository at this point in the history
  73. ethtool: pause: make sure we init driver stats

    commit 16756d3 upstream.
    
    The intention was for pause statistics to not be reported
    when driver does not have the relevant callback (only
    report an empty netlink nest). What happens currently
    we report all 0s instead. Make sure statistics are
    initialized to "not set" (which is -1) so the dumping
    code skips them.
    
    Fixes: 9a27a33 ("ethtool: add standard pause stats")
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    kuba-moo authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    1aec111 View commit details
    Browse the repository at this point in the history
  74. ia64: remove duplicate entries in generic_defconfig

    commit 19d000d upstream.
    
    Fix ia64 generic_defconfig duplicate entries, as warned by:
    
      arch/ia64/configs/generic_defconfig: warning: override: reassigning to symbol ATA:  => 58
      arch/ia64/configs/generic_defconfig: warning: override: reassigning to symbol ATA_PIIX:  => 59
    
    These 2 symbols still have the same value as in the removed lines.
    
    Link: https://lkml.kernel.org/r/20210411020255.18052-1-rdunlap@infradead.org
    Fixes: c331649 ("ia64: Use libata instead of the legacy ide driver in defconfigs")
    Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
    Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    rddunlap authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    f8f01fc View commit details
    Browse the repository at this point in the history
  75. ia64: tools: remove inclusion of ia64-specific version of errno.h header

    commit 17786fe upstream.
    
    There is no longer an ia64-specific version of the errno.h header below
    arch/ia64/include/uapi/asm/, so trying to build tools/bpf fails with:
    
        CC       /usr/src/linux/tools/bpf/bpftool/btf_dumper.o
      In file included from /usr/src/linux/tools/include/linux/err.h:8,
                       from btf_dumper.c:11:
      /usr/src/linux/tools/include/uapi/asm/errno.h:13:10: fatal error: ../../../arch/ia64/include/uapi/asm/errno.h: No such file or directory
         13 | #include "../../../arch/ia64/include/uapi/asm/errno.h"
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      compilation terminated.
    
    Thus, just remove the inclusion of the ia64-specific errno.h so that the
    build will use the generic errno.h header on this target which was used
    there anyway as the ia64-specific errno.h was just a wrapper for the
    generic header.
    
    Fixes: c25f867 ("ia64: remove unneeded uapi asm-generic wrappers")
    Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    John Paul Adrian Glaubitz authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    e154b50 View commit details
    Browse the repository at this point in the history
  76. ibmvnic: avoid calling napi_disable() twice

    commit 0775ebc upstream.
    
    __ibmvnic_open calls napi_disable without checking whether NAPI polling
    has already been disabled or not. This could cause napi_disable
    being called twice, which could generate deadlock. For example,
    the first napi_disable will spin until NAPI_STATE_SCHED is cleared
    by napi_complete_done, then set it again.
    When napi_disable is called the second time, it will loop infinitely
    because no dev->poll will be running to clear NAPI_STATE_SCHED.
    
    To prevent above scenario from happening, call ibmvnic_napi_disable()
    which checks if napi is disabled or not before calling napi_disable.
    
    Fixes: bfc32f2 ("ibmvnic: Move resource initialization to its own routine")
    Suggested-by: Thomas Falcon <tlfalcon@linux.ibm.com>
    Signed-off-by: Lijun Pan <lijunp213@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Lijun Pan authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    685bc73 View commit details
    Browse the repository at this point in the history
  77. ibmvnic: remove duplicate napi_schedule call in do_reset function

    commit d3a6abc upstream.
    
    During adapter reset, do_reset/do_hard_reset calls ibmvnic_open(),
    which will calls napi_schedule if previous state is VNIC_CLOSED
    (i.e, the reset case, and "ifconfig down" case). So there is no need
    for do_reset to call napi_schedule again at the end of the function
    though napi_schedule will neglect the request if napi is already
    scheduled.
    
    Fixes: ed651a1 ("ibmvnic: Updated reset handling")
    Signed-off-by: Lijun Pan <lijunp213@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Lijun Pan authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    008885a View commit details
    Browse the repository at this point in the history
  78. ibmvnic: remove duplicate napi_schedule call in open function

    commit 7c451f3 upstream.
    
    Remove the unnecessary napi_schedule() call in __ibmvnic_open() since
    interrupt_rx() calls napi_schedule_prep/__napi_schedule during every
    receive interrupt.
    
    Fixes: ed651a1 ("ibmvnic: Updated reset handling")
    Signed-off-by: Lijun Pan <lijunp213@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Lijun Pan authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    976da1b View commit details
    Browse the repository at this point in the history
  79. ch_ktls: Fix kernel panic

    commit 1a73e42 upstream.
    
    Taking page refcount is not ideal and causes kernel panic
    sometimes. It's better to take tx_ctx lock for the complete
    skb transmit, to avoid page cleanup if ACK received in middle.
    
    Fixes: 5a4b9fe ("cxgb4/chcr: complete record tx handling")
    Signed-off-by: Vinay Kumar Yadav <vinay.yadav@chelsio.com>
    Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    vinaychelsio authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    8d5a9db View commit details
    Browse the repository at this point in the history
  80. ch_ktls: fix device connection close

    commit bc16efd upstream.
    
    When sge queue is full and chcr_ktls_xmit_wr_complete()
    returns failure, skb is not freed if it is not the last tls record in
    this skb, causes refcount never gets freed and tls_dev_del()
    never gets called on this connection.
    
    Fixes: 5a4b9fe ("cxgb4/chcr: complete record tx handling")
    Signed-off-by: Vinay Kumar Yadav <vinay.yadav@chelsio.com>
    Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    vinaychelsio authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    5f3c278 View commit details
    Browse the repository at this point in the history
  81. ch_ktls: tcb close causes tls connection failure

    commit 21d8c25 upstream.
    
    HW doesn't need marking TCB closed. This TCB state change
    sometimes causes problem to the new connection which gets
    the same tid.
    
    Fixes: 34aba2c ("cxgb4/chcr : Register to tls add and del callback")
    Signed-off-by: Vinay Kumar Yadav <vinay.yadav@chelsio.com>
    Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    vinaychelsio authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    65bdd56 View commit details
    Browse the repository at this point in the history
  82. ch_ktls: do not send snd_una update to TCB in middle

    commit e8a4155 upstream.
    
    snd_una update should not be done when the same skb is being
    sent out.chcr_short_record_handler() sends it again even
    though SND_UNA update is already sent for the skb in
    chcr_ktls_xmit(), which causes mismatch in un-acked
    TCP seq number, later causes problem in sending out
    complete record.
    
    Fixes: 429765a ("chcr: handle partial end part of a record")
    Signed-off-by: Vinay Kumar Yadav <vinay.yadav@chelsio.com>
    Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    vinaychelsio authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    fd766f7 View commit details
    Browse the repository at this point in the history
  83. gro: ensure frag0 meets IP header alignment

    commit 38ec494 upstream.
    
    After commit 0f6925b ("virtio_net: Do not pull payload in skb->head")
    Guenter Roeck reported one failure in his tests using sh architecture.
    
    After much debugging, we have been able to spot silent unaligned accesses
    in inet_gro_receive()
    
    The issue at hand is that upper networking stacks assume their header
    is word-aligned. Low level drivers are supposed to reserve NET_IP_ALIGN
    bytes before the Ethernet header to make that happen.
    
    This patch hardens skb_gro_reset_offset() to not allow frag0 fast-path
    if the fragment is not properly aligned.
    
    Some arches like x86, arm64 and powerpc do not care and define NET_IP_ALIGN
    as 0, this extra check will be a NOP for them.
    
    Note that if frag0 is not used, GRO will call pskb_may_pull()
    as many times as needed to pull network and transport headers.
    
    Fixes: 0f6925b ("virtio_net: Do not pull payload in skb->head")
    Fixes: 78a478d ("gro: Inline skb_gro_header and cache frag0 virtual address")
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Reported-by: Guenter Roeck <linux@roeck-us.net>
    Cc: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: Jason Wang <jasowang@redhat.com>
    Acked-by: Michael S. Tsirkin <mst@redhat.com>
    Tested-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Eric Dumazet authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    9143158 View commit details
    Browse the repository at this point in the history
  84. ARM: OMAP2+: Fix warning for omap_init_time_of()

    [ Upstream commit a3efe3f ]
    
    Fix warning: no previous prototype for 'omap_init_time_of'.
    
    Fixes: e69b4e1 ("ARM: OMAP2+: Add omap_init_time_of()")
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tmlind authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    a13d4a1 View commit details
    Browse the repository at this point in the history
  85. ARM: 9069/1: NOMMU: Fix conversion for_each_membock() to for_each_mem…

    …_range()
    
    [ Upstream commit 45c2f70 ]
    
    for_each_mem_range() uses a loop variable, yet looking into code it is
    not just iteration counter but more complex entity which encodes
    information about memblock. Thus condition i == 0 looks fragile.
    Indeed, it broke boot of R-class platforms since it never took i == 0
    path (due to i was set to 1). Fix that with restoring original flag
    check.
    
    Fixes: b10d6bc ("arch, drivers: replace for_each_membock() with for_each_mem_range()")
    Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
    Acked-by: Mike Rapoport <rppt@linux.ibm.com>
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Vladimir Murzin authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    11a718e View commit details
    Browse the repository at this point in the history
  86. ARM: footbridge: fix PCI interrupt mapping

    [ Upstream commit 30e3b4f ]
    
    Since commit 30fdfb9 ("PCI: Add a call to pci_assign_irq() in
    pci_device_probe()"), the PCI code will call the IRQ mapping function
    whenever a PCI driver is probed. If these are marked as __init, this
    causes an oops if a PCI driver is loaded or bound after the kernel has
    initialised.
    
    Fixes: 30fdfb9 ("PCI: Add a call to pci_assign_irq() in pci_device_probe()")
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Russell King authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    1fc087f View commit details
    Browse the repository at this point in the history
  87. ARM: OMAP2+: Fix uninitialized sr_inst

    [ Upstream commit fc85dc4 ]
    
    Fix uninitialized sr_inst.
    
    Fixes: fbfa463 ("ARM: OMAP2+: Fix smartreflex init regression after dropping legacy data")
    Reported-by: kernel test robot <lkp@intel.com>
    Signed-off-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    tmlind authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    4f90db2 View commit details
    Browse the repository at this point in the history
  88. arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems

    [ Upstream commit 3dd4ce4 ]
    
    Commit 941432d ("arm64: dts: allwinner: Drop non-removable from
    SoPine/LTS SD card") enabled the card detect GPIO for the SOPine module,
    along the way with the Pine64-LTS, which share the same base .dtsi.
    
    However while both boards indeed have a working CD GPIO on PF6, the
    polarity is different: the SOPine modules uses a "push-pull" socket,
    which has an active-high switch, while the Pine64-LTS use the more
    traditional push-push socket and the common active-low switch.
    
    Fix the polarity in the sopine.dtsi, and overwrite it in the LTS
    board .dts, to make the SD card work again on systems using SOPine
    modules.
    
    Fixes: 941432d ("arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card")
    Reported-by: Ashley <contact@victorianfox.com>
    Signed-off-by: Andre Przywara <andre.przywara@arm.com>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210316144219.5973-1-andre.przywara@arm.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Andre-ARM authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    286c39d View commit details
    Browse the repository at this point in the history
  89. arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference

    [ Upstream commit 7a2f6e6 ]
    
    Although every Beelink GS1 seems to have external 32768 Hz oscillator,
    it works only on one from four tested. There are more reports of RTC
    issues elsewhere, like Armbian forum.
    
    One Beelink GS1 owner read RTC osc status register on Android which
    shipped with the box. Reported value indicated problems with external
    oscillator.
    
    In order to fix RTC and related issues (HDMI-CEC and suspend/resume with
    Crust) on all boards, switch to internal oscillator.
    
    Fixes: 32507b8 ("arm64: dts: allwinner: h6: Move ext. oscillator to board DTs")
    Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
    Tested-by: Clément Péron <peron.clem@gmail.com>
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    Link: https://lore.kernel.org/r/20210330184218.279738-1-jernej.skrabec@siol.net
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    jernejsk authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    8d7906c View commit details
    Browse the repository at this point in the history
  90. bpf: Use correct permission flag for mixed signed bounds arithmetic

    [ Upstream commit 9601148 ]
    
    We forbid adding unknown scalars with mixed signed bounds due to the
    spectre v1 masking mitigation. Hence this also needs bypass_spec_v1
    flag instead of allow_ptr_leaks.
    
    Fixes: 2c78ee8 ("bpf: Implement CAP_BPF")
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: John Fastabend <john.fastabend@gmail.com>
    Acked-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    borkmann authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    4f3ff11 View commit details
    Browse the repository at this point in the history
  91. KVM: VMX: Convert vcpu_vmx.exit_reason to a union

    [ Upstream commit 8e53324 ]
    
    Convert vcpu_vmx.exit_reason from a u32 to a union (of size u32).  The
    full VM_EXIT_REASON field is comprised of a 16-bit basic exit reason in
    bits 15:0, and single-bit modifiers in bits 31:16.
    
    Historically, KVM has only had to worry about handling the "failed
    VM-Entry" modifier, which could only be set in very specific flows and
    required dedicated handling.  I.e. manually stripping the FAILED_VMENTRY
    bit was a somewhat viable approach.  But even with only a single bit to
    worry about, KVM has had several bugs related to comparing a basic exit
    reason against the full exit reason store in vcpu_vmx.
    
    Upcoming Intel features, e.g. SGX, will add new modifier bits that can
    be set on more or less any VM-Exit, as opposed to the significantly more
    restricted FAILED_VMENTRY, i.e. correctly handling everything in one-off
    flows isn't scalable.  Tracking exit reason in a union forces code to
    explicitly choose between consuming the full exit reason and the basic
    exit, and is a convenient way to document and access the modifiers.
    
    No functional change intended.
    
    Cc: Xiaoyao Li <xiaoyao.li@intel.com>
    Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
    Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com>
    Message-Id: <20201106090315.18606-2-chenyi.qiang@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    Sean Christopherson authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    c670ff8 View commit details
    Browse the repository at this point in the history
  92. KVM: VMX: Don't use vcpu->run->internal.ndata as an array index

    [ Upstream commit 04c4f2e ]
    
    __vmx_handle_exit() uses vcpu->run->internal.ndata as an index for
    an array access.  Since vcpu->run is (can be) mapped to a user address
    space with a writer permission, the 'ndata' could be updated by the
    user process at anytime (the user process can set it to outside the
    bounds of the array).
    So, it is not safe that __vmx_handle_exit() uses the 'ndata' that way.
    
    Fixes: 1aa561b ("kvm: x86: Add "last CPU" to some KVM_EXIT information")
    Signed-off-by: Reiji Watanabe <reijiw@google.com>
    Reviewed-by: Jim Mattson <jmattson@google.com>
    Message-Id: <20210413154739.490299-1-reijiw@google.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    reijiw-kvm authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    7f64753 View commit details
    Browse the repository at this point in the history
  93. r8169: tweak max read request size for newer chips also in jumbo mtu …

    …mode
    
    [ Upstream commit 5e00e16 ]
    
    So far we don't increase the max read request size if we switch to
    jumbo mode before bringing up the interface for the first time.
    Let's change this.
    
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    hkallweit authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    154fb9c View commit details
    Browse the repository at this point in the history
  94. r8169: don't advertise pause in jumbo mode

    [ Upstream commit 453a778 ]
    
    It has been reported [0] that using pause frames in jumbo mode impacts
    performance. There's no available chip documentation, but vendor
    drivers r8168 and r8125 don't advertise pause in jumbo mode. So let's
    do the same, according to Roman it fixes the issue.
    
    [0] https://bugzilla.kernel.org/show_bug.cgi?id=212617
    
    Fixes: 9cf9b84 ("r8169: make use of phy_set_asym_pause")
    Reported-by: Roman Mamedov <rm+bko@romanrm.net>
    Tested-by: Roman Mamedov <rm+bko@romanrm.net>
    Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    hkallweit authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    b2df20c View commit details
    Browse the repository at this point in the history
  95. bpf: Ensure off_reg has no mixed signed bounds for all types

    [ Upstream commit 24c109b ]
    
    The mixed signed bounds check really belongs into retrieve_ptr_limit()
    instead of outside of it in adjust_ptr_min_max_vals(). The reason is
    that this check is not tied to PTR_TO_MAP_VALUE only, but to all pointer
    types that we handle in retrieve_ptr_limit() and given errors from the latter
    propagate back to adjust_ptr_min_max_vals() and lead to rejection of the
    program, it's a better place to reside to avoid anything slipping through
    for future types. The reason why we must reject such off_reg is that we
    otherwise would not be able to derive a mask, see details in 9d7ecee
    ("bpf: restrict unknown scalars of mixed signed bounds for unprivileged").
    
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: John Fastabend <john.fastabend@gmail.com>
    Acked-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    borkmann authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    589fd96 View commit details
    Browse the repository at this point in the history
  96. bpf: Move off_reg into sanitize_ptr_alu

    [ Upstream commit 6f55b2f ]
    
    Small refactor to drag off_reg into sanitize_ptr_alu(), so we later on can
    use off_reg for generalizing some of the checks for all pointer types.
    
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: John Fastabend <john.fastabend@gmail.com>
    Acked-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    borkmann authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    480d875 View commit details
    Browse the repository at this point in the history
  97. ARM: 9071/1: uprobes: Don't hook on thumb instructions

    commit d2f7eca upstream.
    
    Since uprobes is not supported for thumb, check that the thumb bit is
    not set when matching the uprobes instruction hooks.
    
    The Arm UDF instructions used for uprobes triggering
    (UPROBE_SWBP_ARM_INSN and UPROBE_SS_ARM_INSN) coincidentally share the
    same encoding as a pair of unallocated 32-bit thumb instructions (not
    UDF) when the condition code is 0b1111 (0xf). This in effect makes it
    possible to trigger the uprobes functionality from thumb, and at that
    using two unallocated instructions which are not permanently undefined.
    
    Signed-off-by: Fredrik Strupe <fredrik@strupe.net>
    Cc: stable@vger.kernel.org
    Fixes: c7edc9e ("ARM: add uprobes support")
    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    frestr authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    cada2ed View commit details
    Browse the repository at this point in the history
  98. arm64: mte: Ensure TIF_MTE_ASYNC_FAULT is set atomically

    commit 2decad9 upstream.
    
    The entry from EL0 code checks the TFSRE0_EL1 register for any
    asynchronous tag check faults in user space and sets the
    TIF_MTE_ASYNC_FAULT flag. This is not done atomically, potentially
    racing with another CPU calling set_tsk_thread_flag().
    
    Replace the non-atomic ORR+STR with an STSET instruction. While STSET
    requires ARMv8.1 and an assembler that understands LSE atomics, the MTE
    feature is part of ARMv8.5 and already requires an updated assembler.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Fixes: 637ec83 ("arm64: mte: Handle synchronous and asynchronous tag check faults")
    Cc: <stable@vger.kernel.org> # 5.10.x
    Reported-by: Will Deacon <will@kernel.org>
    Cc: Will Deacon <will@kernel.org>
    Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Link: https://lore.kernel.org/r/20210409173710.18582-1-catalin.marinas@arm.com
    Signed-off-by: Will Deacon <will@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ctmarinas authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    496e2fa View commit details
    Browse the repository at this point in the history
  99. bpf: Rework ptr_limit into alu_limit and add common error path

    commit b658bbb upstream.
    
    Small refactor with no semantic changes in order to consolidate the max
    ptr_limit boundary check.
    
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: John Fastabend <john.fastabend@gmail.com>
    Acked-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    borkmann authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    55565c3 View commit details
    Browse the repository at this point in the history
  100. bpf: Improve verifier error messages for users

    commit a6aaece upstream.
    
    Consolidate all error handling and provide more user-friendly error messages
    from sanitize_ptr_alu() and sanitize_val_alu().
    
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: John Fastabend <john.fastabend@gmail.com>
    Acked-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    borkmann authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    7723d32 View commit details
    Browse the repository at this point in the history
  101. bpf: Move sanitize_val_alu out of op switch

    commit f528819 upstream.
    
    Add a small sanitize_needed() helper function and move sanitize_val_alu()
    out of the main opcode switch. In upcoming work, we'll move sanitize_ptr_alu()
    as well out of its opcode switch so this helps to streamline both.
    
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Reviewed-by: John Fastabend <john.fastabend@gmail.com>
    Acked-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    borkmann authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    fbe6603 View commit details
    Browse the repository at this point in the history
  102. net: phy: marvell: fix detection of PHY on Topaz switches

    commit 1fe976d upstream.
    
    Since commit fee2d54 ("net: phy: marvell: mv88e6390 temperature
    sensor reading"), Linux reports the temperature of Topaz hwmon as
    constant -75°C.
    
    This is because switches from the Topaz family (88E6141 / 88E6341) have
    the address of the temperature sensor register different from Peridot.
    
    This address is instead compatible with 88E1510 PHYs, as was used for
    Topaz before the above mentioned commit.
    
    Create a new mapping table between switch family and PHY ID for families
    which don't have a model number. And define PHY IDs for Topaz and Peridot
    families.
    
    Create a new PHY ID and a new PHY driver for Topaz's internal PHY.
    The only difference from Peridot's PHY driver is the HWMON probing
    method.
    
    Prior this change Topaz's internal PHY is detected by kernel as:
    
      PHY [...] driver [Marvell 88E6390] (irq=63)
    
    And afterwards as:
    
      PHY [...] driver [Marvell 88E6341 Family] (irq=63)
    
    Signed-off-by: Pali Rohár <pali@kernel.org>
    BugLink: globalscaletechnologies/linux#1
    Fixes: fee2d54 ("net: phy: marvell: mv88e6390 temperature sensor reading")
    Reviewed-by: Marek Behún <kabel@kernel.org>
    Reviewed-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    pali authored and gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    6ac98ee View commit details
    Browse the repository at this point in the history
  103. Linux 5.10.32

    Tested-by: Fox Chen <foxhlchen@gmail.com>
    Tested-By: Patrick McCormick <pmccormick@digitalocean.com>
    Tested-by: Salvatore Bonaccorso <carnil@debian.org>
    Tested-by: Florian Fainelli <f.fainelli@gmail.com>
    Tested-by: Pavel Machek (CIP) <pavel@denx.de>
    Tested-by: Jason Self <jason@bluehome.net>
    Tested-by: Shuah Khan <skhan@linuxfoundation.org>
    Tested-by: Jon Hunter <jonathanh@nvidia.com>
    Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
    Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
    Tested-by: Andrei Rabusov <a.rabusov@tum.de>
    Tested-by: Hulk Robot <hulkrobot@huawei.com>
    Link: https://lore.kernel.org/r/20210419130527.791982064@linuxfoundation.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    gregkh committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    aea70bd View commit details
    Browse the repository at this point in the history
  104. Merge tag 'v5.10.32' into 5.10.x+fslc

    This is the 5.10.32 stable release
    
    Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
    zandrey committed Apr 21, 2021
    Configuration menu
    Copy the full SHA
    1ab532e View commit details
    Browse the repository at this point in the history