Linux/linux a93289bdrivers/acpi cppc_acpi.c, drivers/acpi/x86 s2idle.c

Merge tag 'acpi-6.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI fixes from Rafael Wysocki:
 "These fix three recent regressions, one introduced while enabling a
  new platform firmware feature for power management, and two introduced
  by a recent CPPC library update.

  Specifics:

   - Allow two overlapping Low-Power S0 Idle _DSM function sets to be
     used at the same time (Rafael Wysocki)

   - Fix bit offset computation in MASK_VAL() macro used for applying a
     bitmask to a new CPPC register value (Jarred White)

   - Fix access width field usage for PCC registers in CPPC (Vanshidhar
     Konda)"

* tag 'acpi-6.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:

    [3 lines not shown]
DeltaFile
+39-18drivers/acpi/cppc_acpi.c
+3-5drivers/acpi/x86/s2idle.c
+42-232 files

Linux/linux 52afb15drivers/dpll dpll_core.c, drivers/net macsec.c

Merge tag 'net-6.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Pull networking fixes from Jakub Kicinski:
 "Including fixes from netfilter, wireless and bluetooth.

  Nothing major, regression fixes are mostly in drivers, two more of
  those are flowing towards us thru various trees. I wish some of the
  changes went into -rc5, we'll try to keep an eye on frequency of PRs
  from sub-trees.

  Also disproportional number of fixes for bugs added in v6.4, strange
  coincidence.

  Current release - regressions:

   - igc: fix LED-related deadlock on driver unbind

   - wifi: mac80211: small fixes to recent clean up of the connection
     process

    [67 lines not shown]
DeltaFile
+72-43drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c
+46-36drivers/net/ethernet/broadcom/bnxt/bnxt.c
+33-25drivers/dpll/dpll_core.c
+52-4drivers/net/dsa/mv88e6xxx/chip.c
+36-10drivers/net/macsec.c
+26-17drivers/net/phy/mediatek-ge-soc.c
+265-13579 files not shown
+831-38585 files

Linux/linux 2ad9846drivers/acpi cppc_acpi.c

Merge branch 'acpi-cppc'

* acpi-cppc:
  ACPI: CPPC: Fix access width used for PCC registers
  ACPI: CPPC: Fix bit_offset shift in MASK_VAL() macro
DeltaFile
+39-18drivers/acpi/cppc_acpi.c
+39-181 files

Linux/linux e33c496fs/nfsd nfs4callback.c state.h

Merge tag 'nfsd-6.9-5' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux

Pull nfsd fixes from Chuck Lever:

 - Revert some backchannel fixes that went into v6.9-rc

* tag 'nfsd-6.9-5' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
  Revert "NFSD: Convert the callback workqueue to use delayed_work"
  Revert "NFSD: Reschedule CB operations when backchannel rpc_clnt is shut down"
DeltaFile
+5-21fs/nfsd/nfs4callback.c
+1-1fs/nfsd/state.h
+6-222 files

Linux/linux f9e0232. MAINTAINERS .mailmap, drivers/hid hid-nintendo.c hid-logitech-dj.c

Merge tag 'for-linus-2024042501' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid

Pull HID fixes from Benjamin Tissoires:

 - A couple of i2c-hid fixes (Kenny Levinsen & Nam Cao)

 - A config issue with mcp-2221 when CONFIG_IIO is not enabled
   (Abdelrahman Morsy)

 - A dev_err fix in intel-ish-hid (Zhang Lixu)

 - A couple of mouse fixes for both nintendo and Logitech-dj (Nuno
   Pereira and Yaraslau Furman)

 - I'm changing my main kernel email address as it's way simpler for me
   than the Red Hat one (Benjamin Tissoires)

* tag 'for-linus-2024042501' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
  HID: mcp-2221: cancel delayed_work only when CONFIG_IIO is enabled

    [6 lines not shown]
DeltaFile
+8-30drivers/hid/i2c-hid/i2c-hid-core.c
+4-4drivers/hid/hid-nintendo.c
+2-2MAINTAINERS
+1-3drivers/hid/hid-logitech-dj.c
+2-0.mailmap
+1-1drivers/hid/intel-ish-hid/ipc/ipc.c
+18-401 files not shown
+20-407 files

Linux/linux e8baa63net/netfilter nft_chain_filter.c, net/netfilter/ipvs ip_vs_proto_sctp.c

Merge tag 'nf-24-04-25' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf

Pablo Neira Ayuso says:

====================
Netfilter/IPVS fixes for net

The following patchset contains two Netfilter/IPVS fixes for net:

Patch #1 fixes SCTP checksumming for IPVS with gso packets,
         from Ismael Luceno.

Patch #2 honor dormant flag from netdev event path to fix a possible
         double hook unregistration.

* tag 'nf-24-04-25' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
  netfilter: nf_tables: honor table dormant flag from netdev release event path
  ipvs: Fix checksumming on GSO of SCTP packets
====================

    [3 lines not shown]
DeltaFile
+4-2net/netfilter/ipvs/ip_vs_proto_sctp.c
+3-1net/netfilter/nft_chain_filter.c
+7-32 files

Linux/linux 1971d13include/net af_unix.h, net/unix garbage.c

af_unix: Suppress false-positive lockdep splat for spin_lock() in __unix_gc().

syzbot reported a lockdep splat regarding unix_gc_lock and
unix_state_lock().

One is called from recvmsg() for a connected socket, and another
is called from GC for TCP_LISTEN socket.

So, the splat is false-positive.

Let's add a dedicated lock class for the latter to suppress the splat.

Note that this change is not necessary for net-next.git as the issue
is only applied to the old GC impl.

[0]:
WARNING: possible circular locking dependency detected
6.9.0-rc5-syzkaller-00007-g4d2008430ce8 #0 Not tainted
 -----------------------------------------------------

    [108 lines not shown]
DeltaFile
+3-0include/net/af_unix.h
+1-1net/unix/garbage.c
+4-12 files

Linux/linux e3eb7dddrivers/net/ethernet/broadcom b44.c

net: b44: set pause params only when interface is up

b44_free_rings() accesses b44::rx_buffers (and ::tx_buffers)
unconditionally, but b44::rx_buffers is only valid when the
device is up (they get allocated in b44_open(), and deallocated
again in b44_close()), any other time these are just a NULL pointers.

So if you try to change the pause params while the network interface
is disabled/administratively down, everything explodes (which likely
netifd tries to do).

Link: https://github.com/openwrt/openwrt/issues/13789
Fixes: 1da177e4c3f4 (Linux-2.6.12-rc2)
Cc: stable at vger.kernel.org
Reported-by: Peter Münster <pm at a16n.net>
Suggested-by: Jonas Gorski <jonas.gorski at gmail.com>
Signed-off-by: Vaclav Svoboda <svoboda at neng.cz>
Tested-by: Peter Münster <pm at a16n.net>
Reviewed-by: Andrew Lunn <andrew at lunn.ch>

    [4 lines not shown]
DeltaFile
+8-6drivers/net/ethernet/broadcom/b44.c
+8-61 files

Linux/linux 0844370include/net tls.h, net/tls tls_strp.c tls.h

tls: fix lockless read of strp->msg_ready in ->poll

tls_sk_poll is called without locking the socket, and needs to read
strp->msg_ready (via tls_strp_msg_ready). Convert msg_ready to a bool
and use READ_ONCE/WRITE_ONCE where needed. The remaining reads are
only performed when the socket is locked.

Fixes: 121dca784fc0 ("tls: suppress wakeups unless we have a full record")
Signed-off-by: Sabrina Dubroca <sd at queasysnail.net>
Link: https://lore.kernel.org/r/0b7ee062319037cf86af6b317b3d72f7bfcd2e97.1713797701.git.sd@queasysnail.net
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+3-3net/tls/tls_strp.c
+2-1include/net/tls.h
+1-1net/tls/tls.h
+6-53 files

Linux/linux 38d7b94drivers/dpll dpll_core.c

dpll: fix dpll_pin_on_pin_register() for multiple parent pins

In scenario where pin is registered with multiple parent pins via
dpll_pin_on_pin_register(..), all belonging to the same dpll device.
A second call to dpll_pin_on_pin_unregister(..) would cause a call trace,
as it tries to use already released registration resources (due to fix
introduced in b446631f355e). In this scenario pin was registered twice,
so resources are not yet expected to be release until each registered
pin/pin pair is unregistered.

Currently, the following crash/call trace is produced when ice driver is
removed on the system with installed E810T NIC which includes dpll device:

WARNING: CPU: 51 PID: 9155 at drivers/dpll/dpll_core.c:809 dpll_pin_ops+0x20/0x30
RIP: 0010:dpll_pin_ops+0x20/0x30
Call Trace:
 ? __warn+0x7f/0x130
 ? dpll_pin_ops+0x20/0x30
 dpll_msg_add_pin_freq+0x37/0x1d0

    [16 lines not shown]
DeltaFile
+33-25drivers/dpll/dpll_core.c
+33-251 files

Linux/linux 0c81ea5drivers/net/ethernet/renesas ravb_main.c

net: ravb: Fix registered interrupt names

As interrupts are now requested from ravb_probe(), before calling
register_netdev(), ndev->name still contains the template "eth%d",
leading to funny names in /proc/interrupts.  E.g. on R-Car E3:

        89:  0      0  GICv2  93 Level  eth%d:ch22:multi
        90:  0      3  GICv2  95 Level  eth%d:ch24:emac
        91:  0  23484  GICv2  71 Level  eth%d:ch0:rx_be
        92:  0      0  GICv2  72 Level  eth%d:ch1:rx_nc
        93:  0  13735  GICv2  89 Level  eth%d:ch18:tx_be
        94:  0      0  GICv2  90 Level  eth%d:ch19:tx_nc

Worse, on platforms with multiple RAVB instances (e.g. R-Car V4H), all
interrupts have similar names.

Fix this by using the device name instead, like is done in several other
drivers:


    [18 lines not shown]
DeltaFile
+5-6drivers/net/ethernet/renesas/ravb_main.c
+5-61 files

Linux/linux 6e965ebdrivers/net/ethernet/marvell/octeontx2/af rvu_npc.c

octeontx2-af: fix the double free in rvu_npc_freemem()

Clang static checker(scan-build) warning:
drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c:line 2184, column 2
Attempt to free released memory.

npc_mcam_rsrcs_deinit() has released 'mcam->counters.bmap'. Deleted this
redundant kfree() to fix this double free problem.

Fixes: dd7842878633 ("octeontx2-af: Add new devlink param to configure maximum usable NIX block LFs")
Signed-off-by: Su Hui <suhui at nfschina.com>
Reviewed-by: Geetha sowjanya <gakula at marvell.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Reviewed-by: Hariprasad Kelam <hkelam at marvell.com>
Link: https://lore.kernel.org/r/20240424022724.144587-1-suhui@nfschina.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+0-1drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c
+0-11 files

Linux/linux 96fdd1fdrivers/net/ethernet/intel/ice ice_vf_lib.c

ice: fix LAG and VF lock dependency in ice_reset_vf()

9f74a3dfcf83 ("ice: Fix VF Reset paths when interface in a failed over
aggregate"), the ice driver has acquired the LAG mutex in ice_reset_vf().
The commit placed this lock acquisition just prior to the acquisition of
the VF configuration lock.

If ice_reset_vf() acquires the configuration lock via the ICE_VF_RESET_LOCK
flag, this could deadlock with ice_vc_cfg_qs_msg() because it always
acquires the locks in the order of the VF configuration lock and then the
LAG mutex.

Lockdep reports this violation almost immediately on creating and then
removing 2 VF:

======================================================
WARNING: possible circular locking dependency detected
6.8.0-rc6 #54 Tainted: G        W  O
------------------------------------------------------

    [104 lines not shown]
DeltaFile
+8-8drivers/net/ethernet/intel/ice/ice_vf_lib.c
+8-81 files

Linux/linux 2cc7d15drivers/net/ethernet/intel/i40e i40e_main.c

i40e: Do not use WQ_MEM_RECLAIM flag for workqueue

Issue reported by customer during SRIOV testing, call trace:
When both i40e and the i40iw driver are loaded, a warning
in check_flush_dependency is being triggered. This seems
to be because of the i40e driver workqueue is allocated with
the WQ_MEM_RECLAIM flag, and the i40iw one is not.

Similar error was encountered on ice too and it was fixed by
removing the flag. Do the same for i40e too.

[Feb 9 09:08] ------------[ cut here ]------------
[  +0.000004] workqueue: WQ_MEM_RECLAIM i40e:i40e_service_task [i40e] is
flushing !WQ_MEM_RECLAIM infiniband:0x0
[  +0.000060] WARNING: CPU: 0 PID: 937 at kernel/workqueue.c:2966
check_flush_dependency+0x10b/0x120
[  +0.000007] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq
snd_timer snd_seq_device snd soundcore nls_utf8 cifs cifs_arc4
nls_ucs2_utils rdma_cm iw_cm ib_cm cifs_md4 dns_resolver netfs qrtr

    [78 lines not shown]
DeltaFile
+1-1drivers/net/ethernet/intel/i40e/i40e_main.c
+1-11 files

Linux/linux ef3c313drivers/net/ethernet/intel/i40e i40e_main.c

i40e: Report MFS in decimal base instead of hex

If the MFS is set below the default (0x2600), a warning message is
reported like the following :

        MFS for port 1 has been set below the default: 600

This message is a bit confusing as the number shown here (600) is in
fact an hexa number: 0x600 = 1536

Without any explicit "0x" prefix, this message is read like the MFS is
set to 600 bytes.

MFS, as per MTUs, are usually expressed in decimal base.

This commit reports both current and default MFS values in decimal
so it's less confusing for end-users.

A typical warning message looks like the following :

    [10 lines not shown]
DeltaFile
+2-2drivers/net/ethernet/intel/i40e/i40e_main.c
+2-21 files

Linux/linux 4334496drivers/net macsec.c, drivers/net/ethernet/mellanox/mlx5/core/en_accel macsec.c

Merge branch 'fix-isolation-of-broadcast-traffic-and-unmatched-unicast-traffic-with-macsec-offload'

Rahul Rameshbabu says:

====================
Fix isolation of broadcast traffic and unmatched unicast traffic with MACsec offload

Some device drivers support devices that enable them to annotate whether a
Rx skb refers to a packet that was processed by the MACsec offloading
functionality of the device. Logic in the Rx handling for MACsec offload
does not utilize this information to preemptively avoid forwarding to the
macsec netdev currently. Because of this, things like multicast messages or
unicast messages with an unmatched destination address such as ARP requests
are forwarded to the macsec netdev whether the message received was MACsec
encrypted or not. The goal of this patch series is to improve the Rx
handling for MACsec offload for devices capable of annotating skbs received
that were decrypted by the NIC offload for MACsec.

Here is a summary of the issue that occurs with the existing logic today.

    [126 lines not shown]
DeltaFile
+36-10drivers/net/macsec.c
+25-0include/linux/etherdevice.h
+1-11net/ethernet/eth.c
+2-0include/net/macsec.h
+1-0drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c
+65-215 files

Linux/linux 1b9e743drivers/net/ethernet/ti am65-cpts.c

net: ethernet: ti: am65-cpts: Fix PTPv1 message type on TX packets

The CPTS, by design, captures the messageType (Sync, Delay_Req, etc.)
field from the second nibble of the PTP header which is defined in the
PTPv2 (1588-2008) specification. In the PTPv1 (1588-2002) specification
the first two bytes of the PTP header are defined as the versionType
which is always 0x0001. This means that any PTPv1 packets that are
tagged for TX timestamping by the CPTS will have their messageType set
to 0x0 which corresponds to a Sync message type. This causes issues
when a PTPv1 stack is expecting a Delay_Req (messageType: 0x1)
timestamp that never appears.

Fix this by checking if the ptp_class of the timestamped TX packet is
PTP_CLASS_V1 and then matching the PTP sequence ID to the stored
sequence ID in the skb->cb data structure. If the sequence IDs match
and the packet is of type PTPv1 then there is a chance that the
messageType has been incorrectly stored by the CPTS so overwrite the
messageType stored by the CPTS with the messageType from the skb->cb
data structure. This allows the PTPv1 stack to receive TX timestamps

    [8 lines not shown]
DeltaFile
+5-0drivers/net/ethernet/ti/am65-cpts.c
+5-01 files

Linux/linux 179d516drivers/net/ethernet/intel/i40e i40e_main.c, drivers/net/ethernet/intel/iavf iavf_main.c

Merge branch 'intel-wired-lan-driver-updates-2024-04-23-i40e-iavf-ice'

Tony Nguyen says:

====================
Intel Wired LAN Driver Updates 2024-04-23 (i40e, iavf, ice)

This series contains updates to i40e, iavf, and ice drivers.

Sindhu removes WQ_MEM_RECLAIM flag from workqueue for i40e.

Erwan Velu adjusts message to avoid confusion on base being reported on
i40e.

Sudheer corrects insufficient check for TC equality on iavf.

Jake corrects ordering of locks to avoid possible deadlock on ice.
====================


    [2 lines not shown]
DeltaFile
+29-1drivers/net/ethernet/intel/iavf/iavf_main.c
+8-8drivers/net/ethernet/intel/ice/ice_vf_lib.c
+3-3drivers/net/ethernet/intel/i40e/i40e_main.c
+40-123 files

Linux/linux 54976cfdrivers/net/ethernet/intel/iavf iavf_main.c

iavf: Fix TC config comparison with existing adapter TC config

Same number of TCs doesn't imply that underlying TC configs are
same. The config could be different due to difference in number
of queues in each TC. Add utility function to determine if TC
configs are same.

Fixes: d5b33d024496 ("i40evf: add ndo_setup_tc callback to i40evf")
Signed-off-by: Sudheer Mogilappagari <sudheer.mogilappagari at intel.com>
Tested-by: Mineri Bhange <minerix.bhange at intel.com> (A Contingent Worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen at intel.com>
Link: https://lore.kernel.org/r/20240423182723.740401-4-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+29-1drivers/net/ethernet/intel/iavf/iavf_main.c
+29-11 files

Linux/linux 6e159fdinclude/linux etherdevice.h, net/ethernet eth.c

ethernet: Add helper for assigning packet type when dest address does not match device address

Enable reuse of logic in eth_type_trans for determining packet type.

Suggested-by: Sabrina Dubroca <sd at queasysnail.net>
Cc: stable at vger.kernel.org
Signed-off-by: Rahul Rameshbabu <rrameshbabu at nvidia.com>
Reviewed-by: Sabrina Dubroca <sd at queasysnail.net>
Link: https://lore.kernel.org/r/20240423181319.115860-3-rrameshbabu@nvidia.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+25-0include/linux/etherdevice.h
+1-11net/ethernet/eth.c
+26-112 files

Linux/linux 4dcd0e8drivers/net/ethernet/ti/icssg icssg_prueth.c

net: ti: icssg-prueth: Fix signedness bug in prueth_init_rx_chns()

The rx_chn->irq[] array is unsigned int but it should be signed for the
error handling to work.  Also if k3_udma_glue_rx_get_irq() returns zero
then we should return -ENXIO instead of success.

Fixes: 128d5874c082 ("net: ti: icssg-prueth: Add ICSSG ethernet driver")
Signed-off-by: Dan Carpenter <dan.carpenter at linaro.org>
Reviewed-by: Roger Quadros <rogerq at kernel.org>
Reviewed-by: MD Danish Anwar <danishanwar at ti.com>
Link: https://lore.kernel.org/r/05282415-e7f4-42f3-99f8-32fde8f30936@moroto.mountain
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+5-3drivers/net/ethernet/ti/icssg/icssg_prueth.c
+5-31 files

Linux/linux 642c984drivers/net macsec.c

macsec: Detect if Rx skb is macsec-related for offloading devices that update md_dst

Can now correctly identify where the packets should be delivered by using
md_dst or its absence on devices that provide it.

This detection is not possible without device drivers that update md_dst. A
fallback pattern should be used for supporting such device drivers. This
fallback mode causes multicast messages to be cloned to both the non-macsec
and macsec ports, independent of whether the multicast message received was
encrypted over MACsec or not. Other non-macsec traffic may also fail to be
handled correctly for devices in promiscuous mode.

Link: https://lore.kernel.org/netdev/ZULRxX9eIbFiVi7v@hog/
Cc: Sabrina Dubroca <sd at queasysnail.net>
Cc: stable at vger.kernel.org
Fixes: 860ead89b851 ("net/macsec: Add MACsec skb_metadata_dst Rx Data path support")
Signed-off-by: Rahul Rameshbabu <rrameshbabu at nvidia.com>
Reviewed-by: Benjamin Poirier <bpoirier at nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu at nvidia.com>

    [3 lines not shown]
DeltaFile
+36-10drivers/net/macsec.c
+36-101 files

Linux/linux 475747ainclude/net macsec.h

macsec: Enable devices to advertise whether they update sk_buff md_dst during offloads

Cannot know whether a Rx skb missing md_dst is intended for MACsec or not
without knowing whether the device is able to update this field during an
offload. Assume that an offload to a MACsec device cannot support updating
md_dst by default. Capable devices can advertise that they do indicate that
an skb is related to a MACsec offloaded packet using the md_dst.

Cc: Sabrina Dubroca <sd at queasysnail.net>
Cc: stable at vger.kernel.org
Fixes: 860ead89b851 ("net/macsec: Add MACsec skb_metadata_dst Rx Data path support")
Signed-off-by: Rahul Rameshbabu <rrameshbabu at nvidia.com>
Reviewed-by: Benjamin Poirier <bpoirier at nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu at nvidia.com>
Reviewed-by: Sabrina Dubroca <sd at queasysnail.net>
Link: https://lore.kernel.org/r/20240423181319.115860-2-rrameshbabu@nvidia.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+2-0include/net/macsec.h
+2-01 files

Linux/linux 39d26a8drivers/net/ethernet/mellanox/mlx5/core/en_accel macsec.c

net/mlx5e: Advertise mlx5 ethernet driver updates sk_buff md_dst for MACsec

mlx5 Rx flow steering and CQE handling enable the driver to be able to
update an skb's md_dst attribute as MACsec when MACsec traffic arrives when
a device is configured for offloading. Advertise this to the core stack to
take advantage of this capability.

Cc: stable at vger.kernel.org
Fixes: b7c9400cbc48 ("net/mlx5e: Implement MACsec Rx data path using MACsec skb_metadata_dst")
Signed-off-by: Rahul Rameshbabu <rrameshbabu at nvidia.com>
Reviewed-by: Benjamin Poirier <bpoirier at nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu at nvidia.com>
Reviewed-by: Sabrina Dubroca <sd at queasysnail.net>
Link: https://lore.kernel.org/r/20240423181319.115860-5-rrameshbabu@nvidia.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-0drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c
+1-01 files

Linux/linux 46bf0c9net/mac80211 mesh.h mlme.c

Merge tag 'wireless-2024-04-23' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless

Johannes berg says:

====================
Fixes for the current cycle:
 * ath11k: convert to correct RCU iteration of IPv6 addresses
 * iwlwifi: link ID, FW API version, scanning and PASN fixes
 * cfg80211: NULL-deref and tracing fixes
 * mac80211: connection mode, mesh fast-TX, multi-link and
             various other small fixes
====================

Signed-off-by: David S. Miller <davem at davemloft.net>
DeltaFile
+33-3net/mac80211/mesh.h
+21-10net/mac80211/mlme.c
+22-9net/mac80211/mesh_pathtbl.c
+22-5net/mac80211/chan.c
+14-3net/mac80211/rx.c
+9-4net/mac80211/tx.c
+121-3413 files not shown
+152-4419 files

Linux/linux 6c9cd59drivers/net/phy dp83869.c

net: phy: dp83869: Fix MII mode failure

The DP83869 driver sets the MII bit (needed for PHY to work in MII mode)
only if the op-mode is either DP83869_100M_MEDIA_CONVERT or
DP83869_RGMII_100_BASE.

Some drivers i.e. ICSSG support MII mode with op-mode as
DP83869_RGMII_COPPER_ETHERNET for which the MII bit is not set in dp83869
driver. As a result MII mode on ICSSG doesn't work and below log is seen.

TI DP83869 300b2400.mdio:0f: selected op-mode is not valid with MII mode
icssg-prueth icssg1-eth: couldn't connect to phy ethernet-phy at 0
icssg-prueth icssg1-eth: can't phy connect port MII0

Fix this by setting MII bit for DP83869_RGMII_COPPER_ETHERNET op-mode as
well.

Fixes: 94e86ef1b801 ("net: phy: dp83869: support mii mode when rgmii strap cfg is used")
Signed-off-by: MD Danish Anwar <danishanwar at ti.com>

    [2 lines not shown]
DeltaFile
+2-1drivers/net/phy/dp83869.c
+2-11 files

Linux/linux 8e30abcnet/netfilter nft_chain_filter.c

netfilter: nf_tables: honor table dormant flag from netdev release event path

Check for table dormant flag otherwise netdev release event path tries
to unregister an already unregistered hook.

[524854.857999] ------------[ cut here ]------------
[524854.858010] WARNING: CPU: 0 PID: 3386599 at net/netfilter/core.c:501 __nf_unregister_net_hook+0x21a/0x260
[...]
[524854.858848] CPU: 0 PID: 3386599 Comm: kworker/u32:2 Not tainted 6.9.0-rc3+ #365
[524854.858869] Workqueue: netns cleanup_net
[524854.858886] RIP: 0010:__nf_unregister_net_hook+0x21a/0x260
[524854.858903] Code: 24 e8 aa 73 83 ff 48 63 43 1c 83 f8 01 0f 85 3d ff ff ff e8 98 d1 f0 ff 48 8b 3c 24 e8 8f 73 83 ff 48 63 43 1c e9 26 ff ff ff <0f> 0b 48 83 c4 18 48 c7 c7 00 68 e9 82 5b 5d 41 5c 41 5d 41 5e 41
[524854.858914] RSP: 0018:ffff8881e36d79e0 EFLAGS: 00010246
[524854.858926] RAX: 0000000000000000 RBX: ffff8881339ae790 RCX: ffffffff81ba524a
[524854.858936] RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffff8881c8a16438
[524854.858945] RBP: ffff8881c8a16438 R08: 0000000000000001 R09: ffffed103c6daf34
[524854.858954] R10: ffff8881e36d79a7 R11: 0000000000000000 R12: 0000000000000005
[524854.858962] R13: ffff8881c8a16000 R14: 0000000000000000 R15: ffff8881351b5a00
[524854.858971] FS:  0000000000000000(0000) GS:ffff888390800000(0000) knlGS:0000000000000000

    [23 lines not shown]
DeltaFile
+3-1net/netfilter/nft_chain_filter.c
+3-11 files

Linux/linux e6b2190drivers/bluetooth btqca.c hci_qca.c, net/bluetooth hci_event.c mgmt.c

Merge tag 'for-net-2024-04-24' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth

Luiz Augusto von Dentz says:

====================
bluetooth pull request for net:

 - qca: set power_ctrl_enabled on NULL returned by gpiod_get_optional()
 - hci_sync: Using hci_cmd_sync_submit when removing Adv Monitor
 - qca: fix invalid device address check
 - hci_sync: Use advertised PHYs on hci_le_ext_create_conn_sync
 - Fix type of len in {l2cap,sco}_sock_getsockopt_old()
 - btusb: mediatek: Fix double free of skb in coredump
 - btusb: Add Realtek RTL8852BE support ID 0x0bda:0x4853
 - btusb: Fix triggering coredump implementation for QCA

* tag 'for-net-2024-04-24' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth:
  Bluetooth: qca: set power_ctrl_enabled on NULL returned by gpiod_get_optional()
  Bluetooth: hci_sync: Using hci_cmd_sync_submit when removing Adv Monitor

    [14 lines not shown]
DeltaFile
+38-0drivers/bluetooth/btqca.c
+20-9drivers/bluetooth/hci_qca.c
+14-11net/bluetooth/hci_event.c
+17-7net/bluetooth/mgmt.c
+6-5drivers/bluetooth/btusb.c
+6-3net/bluetooth/hci_sync.c
+101-356 files not shown
+124-4912 files

Linux/linux 7301177drivers/net/ethernet/broadcom/bnxt bnxt.c

eth: bnxt: fix counting packets discarded due to OOM and netpoll

I added OOM and netpoll discard counters, naively assuming that
the cpr pointer is pointing to a common completion ring.
Turns out that is usually *a* completion ring but not *the*
completion ring which bnapi->cp_ring points to. bnapi->cp_ring
is where the stats are read from, so we end up reporting 0
thru ethtool -S and qstat even though the drop events have happened.
Make 100% sure we're recording statistics in the correct structure.

Fixes: 907fd4a294db ("bnxt: count discards due to memory allocation errors")
Reviewed-by: Michael Chan <michael.chan at broadcom.com>
Link: https://lore.kernel.org/r/20240424002148.3937059-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+18-26drivers/net/ethernet/broadcom/bnxt/bnxt.c
+18-261 files

Linux/linux c04d1b9drivers/net/ethernet/intel/igc igc_leds.c igc_main.c

igc: Fix LED-related deadlock on driver unbind

Roman reports a deadlock on unplug of a Thunderbolt docking station
containing an Intel I225 Ethernet adapter.

The root cause is that led_classdev's for LEDs on the adapter are
registered such that they're device-managed by the netdev.  That
results in recursive acquisition of the rtnl_lock() mutex on unplug:

When the driver calls unregister_netdev(), it acquires rtnl_lock(),
then frees the device-managed resources.  Upon unregistering the LEDs,
netdev_trig_deactivate() invokes unregister_netdevice_notifier(),
which tries to acquire rtnl_lock() again.

Avoid by using non-device-managed LED registration.

Stack trace for posterity:

  schedule+0x6e/0xf0

    [29 lines not shown]
DeltaFile
+30-8drivers/net/ethernet/intel/igc/igc_leds.c
+3-0drivers/net/ethernet/intel/igc/igc_main.c
+2-0drivers/net/ethernet/intel/igc/igc.h
+35-83 files