1. 07 Oct, 2023 4 commits
    • Linus Torvalds's avatar
      Merge tag 'media/v6.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · b036cda9
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
      
       - two Kconfig build fixes under randconfig
      
       - pxa_camera: Fix an error handling path
      
       - mediatek: vcodec: Fix a NULL-access pointer
      
       - tegra-video: fix an infinite recursion regression
      
      * tag 'media/v6.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        media: mediatek: vcodec: Fix encoder access NULL pointer
        staging: media: tegra-video: fix infinite recursion regression
        media: pci: intel: ivsc: select V4L2_FWNODE
        media: ipu-bridge: Fix Kconfig dependencies
        media: pxa_camera: Fix an error handling path in pxa_camera_probe()
      b036cda9
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-6.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 5e5558f5
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Fix potential memory leak in of_changeset_action()
      
       - Fix some i.MX binding warnings
      
       - Fix typo in renesas,vin binding field-even-active property
      
       - Fix andestech,ax45mp-cache example unit-address
      
       - Add missing additionalProperties on RiscV CPU interrupt-controller
         node
      
       - Add missing unevaluatedProperties on media bindings
      
       - Fix brcm,iproc-pcie binding 'msi' child node schema
      
       - Fix MEMSIC MXC4005 compatible string
      
      * tag 'devicetree-fixes-for-6.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: trivial-devices: Fix MEMSIC MXC4005 compatible string
        dt-bindings: PCI: brcm,iproc-pcie: Fix 'msi' child node schema
        dt-bindings: PCI: brcm,iproc-pcie: Drop common pci-bus properties
        dt-bindings: PCI: brcm,iproc-pcie: Fix example indentation
        media: dt-bindings: Add missing unevaluatedProperties on child node schemas
        dt-bindings: bus: fsl,imx8qxp-pixel-link-msi-bus: Drop child 'reg' property
        media: dt-bindings: imx7-csi: Make power-domains not required for imx8mq
        dt-bindings: media: renesas,vin: Fix field-even-active spelling
        dt-bindings: cache: andestech,ax45mp-cache: Fix unit address in example
        of: overlay: Reorder struct fragment fields kerneldoc
        dt-bindings: display: fsl,imx6-hdmi: Change to 'unevaluatedProperties: false'
        dt-bindings: riscv: cpus: Add missing additionalProperties on interrupt-controller node
        of: dynamic: Fix potential memory leak in of_changeset_action()
      5e5558f5
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 22823378
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "Another round of driver one-liners from the GPIO subsystem:
      
         - disable pin control on MMP GPIOs in gpio-pxa
      
         - fix the GPIO number passed to one of the pinctrl callbacks in
           gpio-aspeed"
      
      * tag 'gpio-fixes-for-v6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: aspeed: fix the GPIO number passed to pinctrl_gpio_set_config()
        gpio: pxa: disable pinctrl calls for MMP_GPIO
      22823378
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 8fea9f8f
      Linus Torvalds authored
      Pull rdma fixes from Jason Gunthorpe:
       "This includes a fix for a significant security miss in checking the
        RDMA_NLDEV_CMD_SYS_SET operation.
      
        Summary:
      
         - UAF in SRP
      
         - Error unwind failure in siw connection management
      
         - Missing error checks
      
         - NULL/ERR_PTR confusion in erdma
      
         - Possible string truncation in CMA configfs and mlx4
      
         - Data ordering issue in bnxt_re
      
         - Missing stats decrement on object destroy in bnxt_re
      
         - Mlx5 bugs in this merge window:
            * Incorrect access_flag in the new mkey cache
            * Missing unlock on error in flow steering
            * lockdep possible deadlock on new mkey cache destruction (Plus a
              fix for this too)
      
         - Don't leak kernel stack memory to userspace in the CM
      
         - Missing permission validation for RDMA_NLDEV_CMD_SYS_SET"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        RDMA/core: Require admin capabilities to set system parameters
        RDMA/mlx5: Remove not-used cache disable flag
        RDMA/cma: Initialize ib_sa_multicast structure to 0 when join
        RDMA/mlx5: Fix mkey cache possible deadlock on cleanup
        RDMA/mlx5: Fix NULL string error
        RDMA/mlx5: Fix mutex unlocking on error flow for steering anchor creation
        RDMA/mlx5: Fix assigning access flags to cache mkeys
        IB/mlx4: Fix the size of a buffer in add_port_entries()
        RDMA/bnxt_re: Decrement resource stats correctly
        RDMA/bnxt_re: Fix the handling of control path response data
        RDMA/cma: Fix truncation compilation warning in make_cma_ports
        RDMA/erdma: Fix NULL pointer access in regmr_cmd
        RDMA/erdma: Fix error code in erdma_create_scatter_mtt()
        RDMA/uverbs: Fix typo of sizeof argument
        RDMA/cxgb4: Check skb value for failure to allocate
        RDMA/siw: Fix connection failure handling
        RDMA/srp: Do not call scsi_done() from srp_abort()
      8fea9f8f
  2. 06 Oct, 2023 21 commits
  3. 05 Oct, 2023 15 commits
    • Jeff Moyer's avatar
      io-wq: fully initialize wqe before calling cpuhp_state_add_instance_nocalls() · 0f8baa3c
      Jeff Moyer authored
      I received a bug report with the following signature:
      
      [ 1759.937637] BUG: unable to handle page fault for address: ffffffffffffffe8
      [ 1759.944564] #PF: supervisor read access in kernel mode
      [ 1759.949732] #PF: error_code(0x0000) - not-present page
      [ 1759.954901] PGD 7ab615067 P4D 7ab615067 PUD 7ab617067 PMD 0
      [ 1759.960596] Oops: 0000 1 PREEMPT SMP PTI
      [ 1759.964804] CPU: 15 PID: 109 Comm: cpuhp/15 Kdump: loaded Tainted: G X ------- — 5.14.0-362.3.1.el9_3.x86_64 #1
      [ 1759.976609] Hardware name: HPE ProLiant DL380 Gen10/ProLiant DL380 Gen10, BIOS U30 06/20/2018
      [ 1759.985181] RIP: 0010:io_wq_for_each_worker.isra.0+0x24/0xa0
      [ 1759.990877] Code: 90 90 90 90 90 90 0f 1f 44 00 00 41 56 41 55 41 54 55 48 8d 6f 78 53 48 8b 47 78 48 39 c5 74 4f 49 89 f5 49 89 d4 48 8d 58 e8 <8b> 13 85 d2 74 32 8d 4a 01 89 d0 f0 0f b1 0b 75 5c 09 ca 78 3d 48
      [ 1760.009758] RSP: 0000:ffffb6f403603e20 EFLAGS: 00010286
      [ 1760.015013] RAX: 0000000000000000 RBX: ffffffffffffffe8 RCX: 0000000000000000
      [ 1760.022188] RDX: ffffb6f403603e50 RSI: ffffffffb11e95b0 RDI: ffff9f73b09e9400
      [ 1760.029362] RBP: ffff9f73b09e9478 R08: 000000000000000f R09: 0000000000000000
      [ 1760.036536] R10: ffffffffffffff00 R11: ffffb6f403603d80 R12: ffffb6f403603e50
      [ 1760.043712] R13: ffffffffb11e95b0 R14: ffffffffb28531e8 R15: ffff9f7a6fbdf548
      [ 1760.050887] FS: 0000000000000000(0000) GS:ffff9f7a6fbc0000(0000) knlGS:0000000000000000
      [ 1760.059025] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 1760.064801] CR2: ffffffffffffffe8 CR3: 00000007ab610002 CR4: 00000000007706e0
      [ 1760.071976] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [ 1760.079150] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [ 1760.086325] PKRU: 55555554
      [ 1760.089044] Call Trace:
      [ 1760.091501] <TASK>
      [ 1760.093612] ? show_trace_log_lvl+0x1c4/0x2df
      [ 1760.097995] ? show_trace_log_lvl+0x1c4/0x2df
      [ 1760.102377] ? __io_wq_cpu_online+0x54/0xb0
      [ 1760.106584] ? __die_body.cold+0x8/0xd
      [ 1760.110356] ? page_fault_oops+0x134/0x170
      [ 1760.114479] ? kernelmode_fixup_or_oops+0x84/0x110
      [ 1760.119298] ? exc_page_fault+0xa8/0x150
      [ 1760.123247] ? asm_exc_page_fault+0x22/0x30
      [ 1760.127458] ? __pfx_io_wq_worker_affinity+0x10/0x10
      [ 1760.132453] ? __pfx_io_wq_worker_affinity+0x10/0x10
      [ 1760.137446] ? io_wq_for_each_worker.isra.0+0x24/0xa0
      [ 1760.142527] __io_wq_cpu_online+0x54/0xb0
      [ 1760.146558] cpuhp_invoke_callback+0x109/0x460
      [ 1760.151029] ? __pfx_io_wq_cpu_offline+0x10/0x10
      [ 1760.155673] ? __pfx_smpboot_thread_fn+0x10/0x10
      [ 1760.160320] cpuhp_thread_fun+0x8d/0x140
      [ 1760.164266] smpboot_thread_fn+0xd3/0x1a0
      [ 1760.168297] kthread+0xdd/0x100
      [ 1760.171457] ? __pfx_kthread+0x10/0x10
      [ 1760.175225] ret_from_fork+0x29/0x50
      [ 1760.178826] </TASK>
      [ 1760.181022] Modules linked in: rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace fscache netfs rfkill sunrpc vfat fat dm_multipath intel_rapl_msr intel_rapl_common isst_if_common ipmi_ssif nfit libnvdimm mgag200 i2c_algo_bit ioatdma drm_shmem_helper drm_kms_helper acpi_ipmi syscopyarea x86_pkg_temp_thermal sysfillrect ipmi_si intel_powerclamp sysimgblt ipmi_devintf coretemp acpi_power_meter ipmi_msghandler rapl pcspkr dca intel_pch_thermal intel_cstate ses lpc_ich intel_uncore enclosure hpilo mei_me mei acpi_tad fuse drm xfs sd_mod sg bnx2x nvme nvme_core crct10dif_pclmul crc32_pclmul nvme_common ghash_clmulni_intel smartpqi tg3 t10_pi mdio uas libcrc32c crc32c_intel scsi_transport_sas usb_storage hpwdt wmi dm_mirror dm_region_hash dm_log dm_mod
      [ 1760.248623] CR2: ffffffffffffffe8
      
      A cpu hotplug callback was issued before wq->all_list was initialized.
      This results in a null pointer dereference.  The fix is to fully setup
      the io_wq before calling cpuhp_state_add_instance_nocalls().
      Signed-off-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Link: https://lore.kernel.org/r/x49y1ghnecs.fsf@segfault.boston.devel.redhat.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
      0f8baa3c
    • Renan Guilherme Lebre Ramos's avatar
    • Linus Torvalds's avatar
      Merge tag 'net-6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · f291209e
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from Bluetooth, netfilter, BPF and WiFi.
      
        I didn't collect precise data but feels like we've got a lot of 6.5
        fixes here. WiFi fixes are most user-awaited.
      
        Current release - regressions:
      
         - Bluetooth: fix hci_link_tx_to RCU lock usage
      
        Current release - new code bugs:
      
         - bpf: mprog: fix maximum program check on mprog attachment
      
         - eth: ti: icssg-prueth: fix signedness bug in prueth_init_tx_chns()
      
        Previous releases - regressions:
      
         - ipv6: tcp: add a missing nf_reset_ct() in 3WHS handling
      
         - vringh: don't use vringh_kiov_advance() in vringh_iov_xfer(), it
           doesn't handle zero length like we expected
      
         - wifi:
            - cfg80211: fix cqm_config access race, fix crashes with brcmfmac
            - iwlwifi: mvm: handle PS changes in vif_cfg_changed
            - mac80211: fix mesh id corruption on 32 bit systems
            - mt76: mt76x02: fix MT76x0 external LNA gain handling
      
         - Bluetooth: fix handling of HCI_QUIRK_STRICT_DUPLICATE_FILTER
      
         - l2tp: fix handling of transhdrlen in __ip{,6}_append_data()
      
         - dsa: mv88e6xxx: avoid EEPROM timeout when EEPROM is absent
      
         - eth: stmmac: fix the incorrect parameter after refactoring
      
        Previous releases - always broken:
      
         - net: replace calls to sock->ops->connect() with kernel_connect(),
           prevent address rewrite in kernel_bind(); otherwise BPF hooks may
           modify arguments, unexpectedly to the caller
      
         - tcp: fix delayed ACKs when reads and writes align with MSS
      
         - bpf:
            - verifier: unconditionally reset backtrack_state masks on global
              func exit
            - s390: let arch_prepare_bpf_trampoline return program size, fix
              struct_ops offsets
            - sockmap: fix accounting of available bytes in presence of PEEKs
            - sockmap: reject sk_msg egress redirects to non-TCP sockets
      
         - ipv4/fib: send netlink notify when delete source address routes
      
         - ethtool: plca: fix width of reads when parsing netlink commands
      
         - netfilter: nft_payload: rebuild vlan header on h_proto access
      
         - Bluetooth: hci_codec: fix leaking memory of local_codecs
      
         - eth: intel: ice: always add legacy 32byte RXDID in supported_rxdids
      
         - eth: stmmac:
           - dwmac-stm32: fix resume on STM32 MCU
           - remove buggy and unneeded stmmac_poll_controller, depend on NAPI
      
         - ibmveth: always recompute TCP pseudo-header checksum, fix use of
           the driver with Open vSwitch
      
         - wifi:
            - rtw88: rtw8723d: fix MAC address offset in EEPROM
            - mt76: fix lock dependency problem for wed_lock
            - mwifiex: sanity check data reported by the device
            - iwlwifi: ensure ack flag is properly cleared
            - iwlwifi: mvm: fix a memory corruption due to bad pointer arithm
            - iwlwifi: mvm: fix incorrect usage of scan API
      
        Misc:
      
         - wifi: mac80211: work around Cisco AP 9115 VHT MPDU length"
      
      * tag 'net-6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (99 commits)
        MAINTAINERS: update Matthieu's email address
        mptcp: userspace pm allow creating id 0 subflow
        mptcp: fix delegated action races
        net: stmmac: remove unneeded stmmac_poll_controller
        net: lan743x: also select PHYLIB
        net: ethernet: mediatek: disable irq before schedule napi
        net: mana: Fix oversized sge0 for GSO packets
        net: mana: Fix the tso_bytes calculation
        net: mana: Fix TX CQE error handling
        netlink: annotate data-races around sk->sk_err
        sctp: update hb timer immediately after users change hb_interval
        sctp: update transport state when processing a dupcook packet
        tcp: fix delayed ACKs for MSS boundary condition
        tcp: fix quick-ack counting to count actual ACKs of new data
        page_pool: fix documentation typos
        tipc: fix a potential deadlock on &tx->lock
        net: stmmac: dwmac-stm32: fix resume on STM32 MCU
        ipv4: Set offload_failed flag in fibmatch results
        netfilter: nf_tables: nft_set_rbtree: fix spurious insertion failure
        netfilter: nf_tables: Deduplicate nft_register_obj audit logs
        ...
      f291209e
    • Linus Torvalds's avatar
      Merge tag 'integrity-v6.6-fix' of... · cb84fb87
      Linus Torvalds authored
      Merge tag 'integrity-v6.6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity
      
      Pull integrity fixes from Mimi Zohar:
       "Two additional patches to fix the removal of the deprecated
        IMA_TRUSTED_KEYRING Kconfig"
      
      * tag 'integrity-v6.6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        ima: rework CONFIG_IMA dependency block
        ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig
      cb84fb87
    • Linus Torvalds's avatar
      Merge tag 'leds-fixes-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds · e90822d7
      Linus Torvalds authored
      Pull LED fix from Lee Jones:
       "Just the one bug-fix:
      
         - Fix regression affecting LED_COLOR_ID_MULTI users"
      
      * tag 'leds-fixes-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds:
        leds: Drop BUG_ON check for LED_COLOR_ID_MULTI
      e90822d7
    • Linus Torvalds's avatar
      Merge tag 'mfd-fixes-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · bc622f16
      Linus Torvalds authored
      Pull MFD fixes from Lee Jones:
       "A couple of small fixes:
      
         - Potential build failure in CS42L43
      
         - Device Tree bindings clean-up for a superseded patch"
      
      * tag 'mfd-fixes-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd:
        dt-bindings: mfd: Revert "dt-bindings: mfd: maxim,max77693: Add USB connector"
        mfd: cs42l43: Fix MFD_CS42L43 dependency on REGMAP_IRQ
      bc622f16
    • Linus Torvalds's avatar
      Merge tag 'ovl-fixes-6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs · 403688e0
      Linus Torvalds authored
      Pull overlayfs fixes from Amir Goldstein:
      
       - Fix for file reference leak regression
      
       - Fix for NULL pointer deref regression
      
       - Fixes for RCU-walk race regressions:
      
         Two of the fixes were taken from Al's RCU pathwalk race fixes series
         with his consent [1].
      
         Note that unlike most of Al's series, these two patches are not about
         racing with ->kill_sb() and they are also very recent regressions
         from v6.5, so I think it's worth getting them into v6.5.y.
      
         There is also a fix for an RCU pathwalk race with ->kill_sb(), which
         may have been solved in vfs generic code as you suggested, but it
         also rids overlayfs from a nasty hack, so I think it's worth anyway.
      
      Link: https://lore.kernel.org/linux-fsdevel/20231003204749.GA800259@ZenIV/ [1]
      
      * tag 'ovl-fixes-6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs:
        ovl: fix NULL pointer defer when encoding non-decodable lower fid
        ovl: make use of ->layers safe in rcu pathwalk
        ovl: fetch inode once in ovl_dentry_revalidate_common()
        ovl: move freeing ovl_entry past rcu delay
        ovl: fix file reference leak when submitting aio
      403688e0
    • Leon Romanovsky's avatar
      RDMA/core: Require admin capabilities to set system parameters · c38d23a5
      Leon Romanovsky authored
      Like any other set command, require admin permissions to do it.
      
      Cc: stable@vger.kernel.org
      Fixes: 2b34c558 ("RDMA/core: Add command to set ib_core device net namspace sharing mode")
      Link: https://lore.kernel.org/r/75d329fdd7381b52cbdf87910bef16c9965abb1f.1696443438.git.leon@kernel.orgReviewed-by: default avatarParav Pandit <parav@nvidia.com>
      Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
      c38d23a5
    • Jakub Kicinski's avatar
      Merge branch 'mptcp-fixes-and-maintainer-email-update-for-v6-6' · c29d9845
      Jakub Kicinski authored
      Mat Martineau says:
      
      ====================
      mptcp: Fixes and maintainer email update for v6.6
      
      Patch 1 addresses a race condition in MPTCP "delegated actions"
      infrastructure. Affects v5.19 and later.
      
      Patch 2 removes an unnecessary restriction that did not allow additional
      outgoing subflows using the local address of the initial MPTCP subflow.
      v5.16 and later.
      
      Patch 3 updates Matthieu's email address.
      ====================
      
      Link: https://lore.kernel.org/r/20231004-send-net-20231004-v1-0-28de4ac663ae@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c29d9845
    • Matthieu Baerts's avatar
      MAINTAINERS: update Matthieu's email address · 8eed6ee3
      Matthieu Baerts authored
      Use my kernel.org account instead.
      
      The other one will bounce by the end of the year.
      Signed-off-by: default avatarMatthieu Baerts <matttbe@kernel.org>
      Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
      Link: https://lore.kernel.org/r/20231004-send-net-20231004-v1-3-28de4ac663ae@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8eed6ee3
    • Geliang Tang's avatar
      mptcp: userspace pm allow creating id 0 subflow · e5ed101a
      Geliang Tang authored
      This patch drops id 0 limitation in mptcp_nl_cmd_sf_create() to allow
      creating additional subflows with the local addr ID 0.
      
      There is no reason not to allow additional subflows from this local
      address: we should be able to create new subflows from the initial
      endpoint. This limitation was breaking fullmesh support from userspace.
      
      Fixes: 702c2f64 ("mptcp: netlink: allow userspace-driven subflow establishment")
      Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/391
      Cc: stable@vger.kernel.org
      Suggested-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Reviewed-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarGeliang Tang <geliang.tang@suse.com>
      Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
      Link: https://lore.kernel.org/r/20231004-send-net-20231004-v1-2-28de4ac663ae@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e5ed101a
    • Paolo Abeni's avatar
      mptcp: fix delegated action races · a5efdbce
      Paolo Abeni authored
      The delegated action infrastructure is prone to the following
      race: different CPUs can try to schedule different delegated
      actions on the same subflow at the same time.
      
      Each of them will check different bits via mptcp_subflow_delegate(),
      and will try to schedule the action on the related per-cpu napi
      instance.
      
      Depending on the timing, both can observe an empty delegated list
      node, causing the same entry to be added simultaneously on two different
      lists.
      
      The root cause is that the delegated actions infra does not provide
      a single synchronization point. Address the issue reserving an additional
      bit to mark the subflow as scheduled for delegation. Acquiring such bit
      guarantee the caller to own the delegated list node, and being able to
      safely schedule the subflow.
      
      Clear such bit only when the subflow scheduling is completed, ensuring
      proper barrier in place.
      
      Additionally swap the meaning of the delegated_action bitmask, to allow
      the usage of the existing helper to set multiple bit at once.
      
      Fixes: bcd97734 ("mptcp: use delegate action to schedule 3rd ack retrans")
      Cc: stable@vger.kernel.org
      Reviewed-by: default avatarMat Martineau <martineau@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarMat Martineau <martineau@kernel.org>
      Link: https://lore.kernel.org/r/20231004-send-net-20231004-v1-1-28de4ac663ae@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a5efdbce
    • Remi Pommarel's avatar
      net: stmmac: remove unneeded stmmac_poll_controller · 3eef8555
      Remi Pommarel authored
      Using netconsole netpoll_poll_dev could be called from interrupt
      context, thus using disable_irq() would cause the following kernel
      warning with CONFIG_DEBUG_ATOMIC_SLEEP enabled:
      
        BUG: sleeping function called from invalid context at kernel/irq/manage.c:137
        in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 10, name: ksoftirqd/0
        CPU: 0 PID: 10 Comm: ksoftirqd/0 Tainted: G        W         5.15.42-00075-g816b502b2298-dirty #117
        Hardware name: aml (r1) (DT)
        Call trace:
         dump_backtrace+0x0/0x270
         show_stack+0x14/0x20
         dump_stack_lvl+0x8c/0xac
         dump_stack+0x18/0x30
         ___might_sleep+0x150/0x194
         __might_sleep+0x64/0xbc
         synchronize_irq+0x8c/0x150
         disable_irq+0x2c/0x40
         stmmac_poll_controller+0x140/0x1a0
         netpoll_poll_dev+0x6c/0x220
         netpoll_send_skb+0x308/0x390
         netpoll_send_udp+0x418/0x760
         write_msg+0x118/0x140 [netconsole]
         console_unlock+0x404/0x500
         vprintk_emit+0x118/0x250
         dev_vprintk_emit+0x19c/0x1cc
         dev_printk_emit+0x90/0xa8
         __dev_printk+0x78/0x9c
         _dev_warn+0xa4/0xbc
         ath10k_warn+0xe8/0xf0 [ath10k_core]
         ath10k_htt_txrx_compl_task+0x790/0x7fc [ath10k_core]
         ath10k_pci_napi_poll+0x98/0x1f4 [ath10k_pci]
         __napi_poll+0x58/0x1f4
         net_rx_action+0x504/0x590
         _stext+0x1b8/0x418
         run_ksoftirqd+0x74/0xa4
         smpboot_thread_fn+0x210/0x3c0
         kthread+0x1fc/0x210
         ret_from_fork+0x10/0x20
      
      Since [0] .ndo_poll_controller is only needed if driver doesn't or
      partially use NAPI. Because stmmac does so, stmmac_poll_controller
      can be removed fixing the above warning.
      
      [0] commit ac3d9dd0 ("netpoll: make ndo_poll_controller() optional")
      
      Cc: <stable@vger.kernel.org> # 5.15.x
      Fixes: 47dd7a54 ("net: add support for STMicroelectronics Ethernet controllers")
      Signed-off-by: default avatarRemi Pommarel <repk@triplefau.lt>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://lore.kernel.org/r/1c156a6d8c9170bd6a17825f2277115525b4d50f.1696429960.git.repk@triplefau.ltSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3eef8555
    • Randy Dunlap's avatar
      net: lan743x: also select PHYLIB · 566aeed6
      Randy Dunlap authored
      Since FIXED_PHY depends on PHYLIB, PHYLIB needs to be set to avoid
      a kconfig warning:
      
      WARNING: unmet direct dependencies detected for FIXED_PHY
        Depends on [n]: NETDEVICES [=y] && PHYLIB [=n]
        Selected by [y]:
        - LAN743X [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_MICROCHIP [=y] && PCI [=y] && PTP_1588_CLOCK_OPTIONAL [=y]
      
      Fixes: 73c4d1b3 ("net: lan743x: select FIXED_PHY")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Closes: lore.kernel.org/r/202309261802.JPbRHwti-lkp@intel.com
      Cc: Bryan Whitehead <bryan.whitehead@microchip.com>
      Cc: UNGLinuxDriver@microchip.com
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Tested-by: Simon Horman <horms@kernel.org> # build-tested
      Link: https://lore.kernel.org/r/20231002193544.14529-1-rdunlap@infradead.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      566aeed6
    • Christian Marangi's avatar
      net: ethernet: mediatek: disable irq before schedule napi · fcdfc462
      Christian Marangi authored
      While searching for possible refactor of napi_schedule_prep and
      __napi_schedule it was notice that the mtk eth driver disable the
      interrupt for rx and tx AFTER napi is scheduled.
      
      While this is a very hard to repro case it might happen to have
      situation where the interrupt is disabled and never enabled again as the
      napi completes and the interrupt is enabled before.
      
      This is caused by the fact that a napi driven by interrupt expect a
      logic with:
      1. interrupt received. napi prepared -> interrupt disabled -> napi
         scheduled
      2. napi triggered. ring cleared -> interrupt enabled -> wait for new
         interrupt
      
      To prevent this case, disable the interrupt BEFORE the napi is
      scheduled.
      
      Fixes: 656e7052 ("net-next: mediatek: add support for MT7623 ethernet")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarChristian Marangi <ansuelsmth@gmail.com>
      Link: https://lore.kernel.org/r/20231002140805.568-1-ansuelsmth@gmail.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      fcdfc462