Linux/linux 9c69f88fs/bcachefs alloc_foreground.c fs.c

Merge tag 'bcachefs-2025-05-08' of git://evilpiepirate.org/bcachefs

Pull bcachefs fixes from Kent Overstreet:

 - Some fixes to help with filesystem analysis: ensure superblock
   error count gets written if we go ERO, don't discard the journal
   aggressively (so it's available for list_journal -a)

 - Fix lost wakeup on arm causing us to get stuck when reading btree
   nodes

 - Fix fsck failing to exit on ctrl-c

 - An additional fix for filesystems with misaligned bucket sizes: we
   now ensure that allocations are properly aligned

 - Setting background target but not promote target will now leave that
   data cached on the foreground target, as it used to


    [19 lines not shown]
DeltaFile
+21-1fs/bcachefs/alloc_foreground.c
+3-8fs/bcachefs/fs.c
+8-1fs/bcachefs/btree_io.c
+4-3fs/bcachefs/journal_reclaim.c
+5-0fs/bcachefs/super.c
+3-2fs/bcachefs/extents.c
+44-156 files not shown
+55-1912 files

Linux/linux acaa3e7drivers/vfio/pci vfio_pci_core.c

Merge tag 'vfio-v6.15-rc6' of https://github.com/awilliam/linux-vfio

Pull vfio fix from Alex Williamson:

 - Fix an issue in vfio-pci huge_fault handling by aligning faults to
   the order, resulting in deterministic use of huge pages.  This
   avoids a race where simultaneous aligned and unaligned faults to
   the same PMD can result in a VM_FAULT_OOM and subsequent VM crash.
   (Alex Williamson)

* tag 'vfio-v6.15-rc6' of https://github.com/awilliam/linux-vfio:
  vfio/pci: Align huge faults to order
DeltaFile
+6-6drivers/vfio/pci/vfio_pci_core.c
+6-61 files

Linux/linux 2c89c1bDocumentation/devicetree/bindings/net ethernet-controller.yaml, drivers/net/dsa/b53 b53_common.c

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

Pull networking fixes from Paolo Abeni:
 "Including fixes from CAN, WiFi and netfilter.

  We have still a comple of regressions open due to the recent
  drivers locking refactor. The patches are in-flight, but not
  ready yet.

  Current release - regressions:

   - core: lock netdevices during dev_shutdown

   - sch_htb: make htb_deactivate() idempotent

   - eth: virtio-net: don't re-enable refill work too early

  Current release - new code bugs:


    [47 lines not shown]
DeltaFile
+153-60drivers/net/dsa/b53/b53_common.c
+119-78drivers/net/ethernet/meta/fbnic/fbnic_fw.c
+177-0tools/testing/selftests/net/gre_ipv6_lladdr.sh
+91-60net/can/gw.c
+99-49drivers/net/ethernet/meta/fbnic/fbnic_irq.c
+90-7Documentation/devicetree/bindings/net/ethernet-controller.yaml
+729-25438 files not shown
+1,056-43644 files

Linux/linux 26a9a47arch/s390/configs debug_defconfig defconfig, arch/s390/kernel entry.S

Merge tag 's390-6.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Heiko Carstens:

 - Fix potential use-after-free bug and missing error handling in PCI
   code

 - Fix dcssblk build error

 - Fix last breaking event handling in case of stack corruption to allow
   for better error reporting

 - Update defconfigs

* tag 's390-6.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/pci: Fix duplicate pci_dev_put() in disable_slot() when PF has child VFs
  s390/pci: Fix missing check for zpci_create_device() error return
  s390: Update defconfigs
  s390/dcssblk: Fix build error with CONFIG_DAX=m and CONFIG_DCSSBLK=y

    [3 lines not shown]
DeltaFile
+19-9arch/s390/configs/debug_defconfig
+17-7arch/s390/configs/defconfig
+1-2drivers/s390/block/Kconfig
+2-1arch/s390/kernel/entry.S
+2-0arch/s390/pci/pci_clp.c
+0-1drivers/pci/hotplug/s390_pci_hpc.c
+41-201 files not shown
+41-217 files

Linux/linux 80ae5fbfs/smb/server vfs_cache.c oplock.c

Merge tag 'v6.15-rc5-ksmbd-server-fixes' of git://git.samba.org/ksmbd

Pull smb server fixes from Steve French:

 - Fix UAF closing file table (e.g. in tree disconnect)

 - Fix potential out of bounds write

 - Fix potential memory leak parsing lease state in open

 - Fix oops in rename with empty target

* tag 'v6.15-rc5-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
  ksmbd: Fix UAF in __close_file_table_ids
  ksmbd: prevent out-of-bounds stream writes by validating *pos
  ksmbd: fix memory leak in parse_lease_state()
  ksmbd: prevent rename with empty string
DeltaFile
+26-7fs/smb/server/vfs_cache.c
+5-2fs/smb/server/oplock.c
+7-0fs/smb/server/vfs.c
+5-0fs/smb/server/smb2pdu.c
+43-94 files

Linux/linux 3c44b2ddrivers/net virtio_net.c, include/net netdev_queues.h

Merge branch 'virtio-net-fix-total-qstat-values'

Jakub Kicinski says:

====================
virtio-net: fix total qstat values

Another small fix discovered after we enabled virtio multi-queue
in netdev CI. The queue stat test fails:

  # Exception| Exception: Qstats are lower, fetched later
  not ok 3 stats.pkt_byte_sum

The queue stats from disabled queues are supposed to be reported
in the "base" stats.
====================

Link: https://patch.msgid.link/20250507003221.823267-1-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
DeltaFile
+50-19net/core/netdev-genl.c
+6-0include/net/netdev_queues.h
+4-0drivers/net/virtio_net.c
+60-193 files

Linux/linux 23fa6a2include/net netdev_queues.h, net/core netdev-genl.c

net: export a helper for adding up queue stats

Older drivers and drivers with lower queue counts often have a static
array of queues, rather than allocating structs for each queue on demand.
Add a helper for adding up qstats from a queue range. Expectation is
that driver will pass a queue range [netdev->real_num_*x_queues, MAX).
It was tempting to always use num_*x_queues as the end, but virtio
seems to clamp its queue count after allocating the netdev. And this
way we can trivaly reuse the helper for [0, real_..).

Signed-off-by: Jakub Kicinski <kuba at kernel.org>
Link: https://patch.msgid.link/20250507003221.823267-2-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni at redhat.com>

DeltaFile
+50-19net/core/netdev-genl.c
+6-0include/net/netdev_queues.h
+56-192 files

Linux/linux 001160edrivers/net virtio_net.c

virtio-net: fix total qstat values

NIPA tests report that the interface statistics reported
via qstat are lower than those reported via ip link.
Looks like this is because some tests flip the queue
count up and down, and we end up with some of the traffic
accounted on disabled queues.

Add up counters from disabled queues.

Fixes: d888f04c09bb ("virtio-net: support queue stat")
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
Link: https://patch.msgid.link/20250507003221.823267-3-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni at redhat.com>

DeltaFile
+4-0drivers/net/virtio_net.c
+4-01 files

Linux/linux 95d2f25drivers/net/ethernet/meta/fbnic fbnic_fw.c fbnic_irq.c

Merge branch 'fbnic-fw-ipc-mailbox-fixes'

Alexander Duyck says:

====================
fbnic: FW IPC Mailbox fixes

This series is meant to address a number of issues that have been found in
the FW IPC mailbox over the past several months.

The main issues addressed are:
1. Resolve a potential race between host and FW during initialization that
can cause the FW to only have the lower 32b of an address.
2. Block the FW from issuing DMA requests after we have closed the mailbox
and before we have started issuing requests on it.
3. Fix races in the IRQ handlers that can cause the IRQ to unmask itself if
it is being processed while we are trying to disable it.
4. Cleanup the Tx flush logic so that we actually lock down the Tx path
before we start flushing it instead of letting it free run while we are

    [21 lines not shown]
DeltaFile
+119-78drivers/net/ethernet/meta/fbnic/fbnic_fw.c
+99-49drivers/net/ethernet/meta/fbnic/fbnic_irq.c
+7-7drivers/net/ethernet/meta/fbnic/fbnic_pci.c
+4-4drivers/net/ethernet/meta/fbnic/fbnic.h
+0-6drivers/net/ethernet/meta/fbnic/fbnic_mac.c
+3-2drivers/net/ethernet/meta/fbnic/fbnic_netdev.c
+232-1461 files not shown
+234-1467 files

Linux/linux cdbb2dcdrivers/net/ethernet/meta/fbnic fbnic_fw.c

fbnic: Cleanup handling of completions

There was an issue in that if we were to shutdown we could be left with
a completion in flight as the mailbox went away. To address that I have
added an fbnic_mbx_evict_all_cmpl function that is meant to essentially
create a "broken pipe" type response so that all callers will receive an
error indicating that the connection has been broken as a result of us
shutting down the mailbox.

Fixes: 378e5cc1c6c6 ("eth: fbnic: hwmon: Add completion infrastructure for firmware requests")
Signed-off-by: Alexander Duyck <alexanderduyck at fb.com>
Reviewed-by: Jacob Keller <jacob.e.keller at intel.com>
Link: https://patch.msgid.link/174654720578.499179.380252598204530873.stgit@ahduyck-xeon-server.home.arpa
Reviewed-by: Jakub Kicinski <kuba at kernel.org>
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
DeltaFile
+17-0drivers/net/ethernet/meta/fbnic/fbnic_fw.c
+17-01 files

Linux/linux ce2fa1ddrivers/net/ethernet/meta/fbnic fbnic_fw.c

fbnic: Do not allow mailbox to toggle to ready outside fbnic_mbx_poll_tx_ready

We had originally thought to have the mailbox go to ready in the background
while we were doing other things. One issue with this though is that we
can't disable it by clearing the ready state without also blocking
interrupts or calls to mbx_poll as it will just pop back to life during an
interrupt.

In order to prevent that from happening we can pull the code for toggling
to ready out of the interrupt path and instead place it in the
fbnic_mbx_poll_tx_ready path so that it becomes the only spot where the
Rx/Tx can toggle to the ready state. By doing this we can prevent races
where we disable the DMA and/or free buffers only to have an interrupt fire
and undo what we have done.

Fixes: da3cde08209e ("eth: fbnic: Add FW communication mechanism")
Signed-off-by: Alexander Duyck <alexanderduyck at fb.com>
Reviewed-by: Jacob Keller <jacob.e.keller at intel.com>
Link: https://patch.msgid.link/174654722518.499179.11612865740376848478.stgit@ahduyck-xeon-server.home.arpa

    [2 lines not shown]
DeltaFile
+10-17drivers/net/ethernet/meta/fbnic/fbnic_fw.c
+10-171 files

Linux/linux 0f9a959drivers/net/ethernet/meta/fbnic fbnic_fw.c

fbnic: Actually flush_tx instead of stalling out

The fbnic_mbx_flush_tx function had a number of issues.

First, we were waiting 200ms for the firmware to process the packets. We
can drop this to 20ms and in almost all cases this should be more than
enough time. So by changing this we can significantly reduce shutdown time.

Second, we were not making sure that the Tx path was actually shut off. As
such we could still have packets added while we were flushing the mailbox.
To prevent that we can now clear the ready flag for the Tx side and it
should stay down since the interrupt is disabled.

Third, we kept re-reading the tail due to the second issue. The tail should
not move after we have started the flush so we can just read it once while
we are holding the mailbox Tx lock. By doing that we are guaranteed that
the value should be consistent.

Fourth, we were keeping a count of descriptors cleaned due to the second

    [19 lines not shown]
DeltaFile
+16-15drivers/net/ethernet/meta/fbnic/fbnic_fw.c
+16-151 files

Linux/linux f34343cdrivers/net/ethernet/meta/fbnic fbnic_fw.c

fbnic: Fix initialization of mailbox descriptor rings

Address to issues with the FW mailbox descriptor initialization.

We need to reverse the order of accesses when we invalidate an entry versus
writing an entry. When writing an entry we write upper and then lower as
the lower 32b contain the valid bit that makes the entire address valid.
However for invalidation we should write it in the reverse order so that
the upper is marked invalid before we update it.

Without this change we may see FW attempt to access pages with the upper
32b of the address set to 0 which will likely result in DMAR faults due to
write access failures on mailbox shutdown.

Fixes: da3cde08209e ("eth: fbnic: Add FW communication mechanism")
Signed-off-by: Alexander Duyck <alexanderduyck at fb.com>
Reviewed-by: Simon Horman <horms at kernel.org>
Reviewed-by: Jacob Keller <jacob.e.keller at intel.com>
Link: https://patch.msgid.link/174654717972.499179.8083789731819297034.stgit@ahduyck-xeon-server.home.arpa

    [2 lines not shown]
DeltaFile
+23-9drivers/net/ethernet/meta/fbnic/fbnic_fw.c
+23-91 files

Linux/linux 1b34d1cdrivers/net/ethernet/meta/fbnic fbnic_fw.c

fbnic: Pull fbnic_fw_xmit_cap_msg use out of interrupt context

This change pulls the call to fbnic_fw_xmit_cap_msg out of
fbnic_mbx_init_desc_ring and instead places it in the polling function for
getting the Tx ready. Doing that we can avoid the potential issue with an
interrupt coming in later from the firmware that causes it to get fired in
interrupt context.

Fixes: 20d2e88cc746 ("eth: fbnic: Add initial messaging to notify FW of our presence")
Signed-off-by: Alexander Duyck <alexanderduyck at fb.com>
Reviewed-by: Jacob Keller <jacob.e.keller at intel.com>
Link: https://patch.msgid.link/174654721876.499179.9839651602256668493.stgit@ahduyck-xeon-server.home.arpa
Reviewed-by: Jakub Kicinski <kuba at kernel.org>
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
DeltaFile
+16-27drivers/net/ethernet/meta/fbnic/fbnic_fw.c
+16-271 files

Linux/linux ab064f6drivers/net/ethernet/meta/fbnic fbnic_fw.c

fbnic: Improve responsiveness of fbnic_mbx_poll_tx_ready

There were a couple different issues found in fbnic_mbx_poll_tx_ready.
Among them were the fact that we were sleeping much longer than we actually
needed to as the actual FW could respond in under 20ms. The other issue was
that we would just keep polling the mailbox even if the device itself had
gone away.

To address the responsiveness issues we can decrease the sleeps to 20ms and
use a jiffies based timeout value rather than just counting the number of
times we slept and then polled.

To address the hardware going away we can move the check for the firmware
BAR being present from where it was and place it inside the loop after the
mailbox descriptor ring is initialized and before we sleep so that we just
abort and return an error if the device went away during initialization.

With these two changes we see a significant improvement in boot times for
the driver.

    [7 lines not shown]
DeltaFile
+11-8drivers/net/ethernet/meta/fbnic/fbnic_fw.c
+11-81 files

Linux/linux 3b12f00drivers/net/ethernet/meta/fbnic fbnic_fw.c fbnic_mac.c

fbnic: Gate AXI read/write enabling on FW mailbox

In order to prevent the device from throwing spurious writes and/or reads
at us we need to gate the AXI fabric interface to the PCIe until such time
as we know the FW is in a known good state.

To accomplish this we use the mailbox as a mechanism for us to recognize
that the FW has acknowledged our presence and is no longer sending any
stale message data to us.

We start in fbnic_mbx_init by calling fbnic_mbx_reset_desc_ring function,
disabling the DMA in both directions, and then invalidating all the
descriptors in each ring.

We then poll the mailbox in fbnic_mbx_poll_tx_ready and when the interrupt
is set by the FW we pick it up and mark the mailboxes as ready, while also
enabling the DMA.

Once we have completed all the transactions and need to shut down we call

    [11 lines not shown]
DeltaFile
+31-7drivers/net/ethernet/meta/fbnic/fbnic_fw.c
+0-6drivers/net/ethernet/meta/fbnic/fbnic_mac.c
+2-0drivers/net/ethernet/meta/fbnic/fbnic_csr.h
+33-133 files

Linux/linux 682a612drivers/net/ethernet/meta/fbnic fbnic_irq.c fbnic_pci.c

fbnic: Add additional handling of IRQs

We have two issues that need to be addressed in our IRQ handling.

One is the fact that we can end up double-freeing IRQs in the event of an
exception handling error such as a PCIe reset/recovery that fails. To
prevent that from becoming an issue we can use the msix_vector values to
indicate that we have successfully requested/freed the IRQ by only setting
or clearing them when we have completed the given action.

The other issue is that we have several potential races in our IRQ path due
to us manipulating the mask before the vector has been truly disabled. In
order to handle that in the case of the FW mailbox we need to not
auto-enable the IRQ and instead will be enabling/disabling it separately.
In the case of the PCS vector we can mitigate this by unmapping it and
synchronizing the IRQ before we clear the mask.

The general order of operations after this change is now to request the
interrupt, poll the FW mailbox to ready, and then enable the interrupt. For

    [14 lines not shown]
DeltaFile
+99-49drivers/net/ethernet/meta/fbnic/fbnic_irq.c
+7-7drivers/net/ethernet/meta/fbnic/fbnic_pci.c
+4-4drivers/net/ethernet/meta/fbnic/fbnic.h
+3-2drivers/net/ethernet/meta/fbnic/fbnic_netdev.c
+113-624 files

Linux/linux bdc6470drivers/net/dsa bcm_sf2.c, drivers/net/dsa/b53 b53_common.c b53_priv.h

Merge branch 'net-dsa-b53-accumulated-fixes'

Jonas Gorski says:

====================
net: dsa: b53: accumulated fixes

This patchset aims at fixing most issues observed while running the
vlan_unaware_bridge, vlan_aware_bridge and local_termination selftests.

Most tests succeed with these patches on BCM53115, connected to a
BCM6368.

It took me a while to figure out that a lot of tests will fail if all
ports have the same MAC address, as the switches drop any frames with
DA == SA. Luckily BCM63XX boards often have enough MACs allocated for
all ports, so I just needed to assign them.

The still failing tests are:

    [36 lines not shown]
DeltaFile
+153-60drivers/net/dsa/b53/b53_common.c
+3-0drivers/net/dsa/b53/b53_priv.h
+1-0drivers/net/dsa/bcm_sf2.c
+157-603 files

Linux/linux f089652drivers/net/dsa/b53 b53_common.c

net: dsa: b53: do not program vlans when vlan filtering is off

Documentation/networking/switchdev.rst says:

- with VLAN filtering turned off: the bridge is strictly VLAN unaware and its
  data path will process all Ethernet frames as if they are VLAN-untagged.
  The bridge VLAN database can still be modified, but the modifications should
  have no effect while VLAN filtering is turned off.

This breaks if we immediately apply the VLAN configuration, so skip
writing it when vlan_filtering is off.

Fixes: 0ee2af4ebbe3 ("net: dsa: set configure_vlan_while_not_filtering to true by default")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
Link: https://patch.msgid.link/20250429201710.330937-9-jonas.gorski@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+28-20drivers/net/dsa/b53/b53_common.c
+28-201 files

Linux/linux 2e7179cdrivers/net/dsa bcm_sf2.c, drivers/net/dsa/b53 b53_common.c b53_priv.h

net: dsa: b53: do not set learning and unicast/multicast on up

When a port gets set up, b53 disables learning and enables the port for
flooding. This can undo any bridge configuration on the port.

E.g. the following flow would disable learning on a port:

$ ip link add br0 type bridge
$ ip link set sw1p1 master br0 <- enables learning for sw1p1
$ ip link set br0 up
$ ip link set sw1p1 up <- disables learning again

Fix this by populating dsa_switch_ops::port_setup(), and set up initial
config there.

Fixes: f9b3827ee66c ("net: dsa: b53: Support setting learning on port")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>

    [2 lines not shown]
DeltaFile
+13-8drivers/net/dsa/b53/b53_common.c
+1-0drivers/net/dsa/b53/b53_priv.h
+1-0drivers/net/dsa/bcm_sf2.c
+15-83 files

Linux/linux 2dc2bd5drivers/net/dsa/b53 b53_common.c b53_priv.h

net: dsa: b53: fix toggling vlan_filtering

To allow runtime switching between vlan aware and vlan non-aware mode,
we need to properly keep track of any bridge VLAN configuration.
Likewise, we need to know when we actually switch between both modes, to
not have to rewrite the full VLAN table every time we update the VLANs.

So keep track of the current vlan_filtering mode, and on changes, apply
the appropriate VLAN configuration.

Fixes: 0ee2af4ebbe3 ("net: dsa: set configure_vlan_while_not_filtering to true by default")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
Link: https://patch.msgid.link/20250429201710.330937-10-jonas.gorski@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+76-34drivers/net/dsa/b53/b53_common.c
+2-0drivers/net/dsa/b53/b53_priv.h
+78-342 files

Linux/linux 45e9d59drivers/net/dsa/b53 b53_common.c

net: dsa: b53: do not allow to configure VLAN 0

Since we cannot set forwarding destinations per VLAN, we should not have
a VLAN 0 configured, as it would allow untagged traffic to work across
ports on VLAN aware bridges regardless if a PVID untagged VLAN exists.

So remove the VLAN 0 on join, an re-add it on leave. But only do so if
we have a VLAN aware bridge, as without it, untagged traffic would
become tagged with VID 0 on a VLAN unaware bridge.

Fixes: a2482d2ce349 ("net: dsa: b53: Plug in VLAN support")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
Link: https://patch.msgid.link/20250429201710.330937-8-jonas.gorski@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+27-9drivers/net/dsa/b53/b53_common.c
+27-91 files

Linux/linux 9f34ad8drivers/net/dsa/b53 b53_common.c

net: dsa: b53: fix learning on VLAN unaware bridges

When VLAN filtering is off, we configure the switch to forward, but not
learn on VLAN table misses. This effectively disables learning while not
filtering.

Fix this by switching to forward and learn. Setting the learning disable
register will still control whether learning actually happens.

Fixes: dad8d7c6452b ("net: dsa: b53: Properly account for VLAN filtering")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
Link: https://patch.msgid.link/20250429201710.330937-11-jonas.gorski@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-1drivers/net/dsa/b53/b53_common.c
+1-11 files

Linux/linux 13b152adrivers/net/dsa/b53 b53_common.c

net: dsa: b53: always rejoin default untagged VLAN on bridge leave

While JOIN_ALL_VLAN allows to join all VLANs, we still need to keep the
default VLAN enabled so that untagged traffic stays untagged.

So rejoin the default VLAN even for switches with JOIN_ALL_VLAN support.

Fixes: 48aea33a77ab ("net: dsa: b53: Add JOIN_ALL_VLAN support")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
Link: https://patch.msgid.link/20250429201710.330937-7-jonas.gorski@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+5-5drivers/net/dsa/b53/b53_common.c
+5-51 files

Linux/linux 083c6b2drivers/net/dsa/b53 b53_common.c

net: dsa: b53: fix flushing old pvid VLAN on pvid change

Presumably the intention here was to flush the VLAN of the old pvid, not
the added VLAN again, which we already flushed before.

Fixes: a2482d2ce349 ("net: dsa: b53: Plug in VLAN support")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
Link: https://patch.msgid.link/20250429201710.330937-5-jonas.gorski@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-1drivers/net/dsa/b53/b53_common.c
+1-11 files

Linux/linux f480851drivers/net/dsa/b53 b53_common.c

net: dsa: b53: fix clearing PVID of a port

Currently the PVID of ports are only set when adding/updating VLANs with
PVID set or removing VLANs, but not when clearing the PVID flag of a
VLAN.

E.g. the following flow

$ ip link add br0 type bridge vlan_filtering 1
$ ip link set sw1p1 master bridge
$ bridge vlan add dev sw1p1 vid 10 pvid untagged
$ bridge vlan add dev sw1p1 vid 10 untagged

Would keep the PVID set as 10, despite the flag being cleared. Fix this
by checking if we need to unset the PVID on vlan updates.

Fixes: a2482d2ce349 ("net: dsa: b53: Plug in VLAN support")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>

    [3 lines not shown]
DeltaFile
+11-2drivers/net/dsa/b53/b53_common.c
+11-21 files

Linux/linux 5f93185drivers/net/dsa/b53 b53_common.c

net: dsa: b53: allow leaky reserved multicast

Allow reserved multicast to ignore VLAN membership so STP and other
management protocols work without a PVID VLAN configured when using a
vlan aware bridge.

Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
Link: https://patch.msgid.link/20250429201710.330937-2-jonas.gorski@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+4-2drivers/net/dsa/b53/b53_common.c
+4-21 files

Linux/linux a1c1901drivers/net/dsa/b53 b53_common.c

net: dsa: b53: fix VLAN ID for untagged vlan on bridge leave

The untagged default VLAN is added to the default vlan, which may be
one, but we modify the VLAN 0 entry on bridge leave.

Fix this to use the correct VLAN entry for the default pvid.

Fixes: fea83353177a ("net: dsa: b53: Fix default VLAN ID")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
Tested-by: Florian Fainelli <florian.fainelli at broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
Link: https://patch.msgid.link/20250429201710.330937-6-jonas.gorski@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+2-1drivers/net/dsa/b53/b53_common.c
+2-11 files

Linux/linux 425f11ddrivers/net/dsa/b53 b53_common.c

net: dsa: b53: keep CPU port always tagged again

The Broadcom management header does not carry the original VLAN tag
state information, just the ingress port, so for untagged frames we do
not know from which VLAN they originated.

Therefore keep the CPU port always tagged except for VLAN 0.

Fixes the following setup:

$ ip link add br0 type bridge vlan_filtering 1
$ ip link set sw1p1 master br0
$ bridge vlan add dev br0 pvid untagged self
$ ip link add sw1p2.10 link sw1p2 type vlan id 10

Where VID 10 would stay untagged on the CPU port.

Fixes: 2c32a3d3c233 ("net: dsa: b53: Do not force CPU to be always tagged")
Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>

    [4 lines not shown]
DeltaFile
+8-0drivers/net/dsa/b53/b53_common.c
+8-01 files

Linux/linux ea78f20drivers/net/ethernet/ti/icssg icssg_prueth.c icssg_common.c

Merge branch 'bug-fixes-from-xdp-patch-series'

Meghana Malladi says:

====================
Bug fixes from XDP patch series

This patch series fixes the bugs introduced while adding
xdp support in the icssg driver, and were reproduced while
running xdp-trafficgen to generate xdp traffic on icssg interfaces.

v1: https://lore.kernel.org/all/20250428120459.244525-1-m-malladi@ti.com/
====================

Link: https://patch.msgid.link/20250506110546.4065715-1-m-malladi@ti.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+10-6drivers/net/ethernet/ti/icssg/icssg_prueth.c
+13-2drivers/net/ethernet/ti/icssg/icssg_common.c
+23-82 files