Linux/linux d8a9a4bfs/smb/client fs_context.c

Merge tag 'v7.0-rc6-smb3-client-fix' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fix from Steve French:

 - Fix potential out of bounds read in mount

* tag 'v7.0-rc6-smb3-client-fix' of git://git.samba.org/sfrench/cifs-2.6:
  fs/smb/client: fix out-of-bounds read in cifs_sanitize_prepath
DeltaFile
+4-0fs/smb/client/fs_context.c
+4-01 files

Linux/linux 7b9e74cinclude/linux tracepoint.h bpf.h, kernel/bpf verifier.c syscall.c

Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

Pull bpf fixes from Alexei Starovoitov:

 - Fix register equivalence for pointers to packet (Alexei Starovoitov)

 - Fix incorrect pruning due to atomic fetch precision tracking (Daniel
   Borkmann)

 - Fix grace period wait for bpf_link-ed tracepoints (Kumar Kartikeya
   Dwivedi)

 - Fix use-after-free of sockmap's sk->sk_socket (Kuniyuki Iwashima)

 - Reject direct access to nullable PTR_TO_BUF pointers (Qi Tang)

 - Reject sleepable kprobe_multi programs at attach time (Varun R
   Mallya)


    [8 lines not shown]
DeltaFile
+341-0tools/testing/selftests/bpf/progs/verifier_precision.c
+32-5kernel/bpf/verifier.c
+23-2kernel/bpf/syscall.c
+20-0include/linux/tracepoint.h
+8-5net/core/skmsg.c
+4-0include/linux/bpf.h
+428-121 files not shown
+432-127 files

Linux/linux 5a9617dcrypto algif_aead.c af_alg.c, drivers/crypto/tegra tegra-se-hash.c tegra-se-aes.c

Merge tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Pull crypto fixes from Herbert Xu:

 - Add missing async markers to tegra

 - Fix long hmac key DMA handling in caam

 - Fix spurious ENOSPC errors in deflate

 - Fix SG chaining in af_alg

 - Do not use in-place process in algif_aead

 - Fix out-of-place destination overflow in authencesn

* tag 'v7.0-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: authencesn - Do not place hiseq at end of dst for out-of-place decryption
  crypto: algif_aead - Revert to operating out-of-place

    [5 lines not shown]
DeltaFile
+19-81crypto/algif_aead.c
+13-40crypto/af_alg.c
+30-20crypto/authencesn.c
+17-13drivers/crypto/tegra/tegra-se-hash.c
+7-4drivers/crypto/tegra/tegra-se-aes.c
+7-4crypto/deflate.c
+93-1624 files not shown
+102-17010 files

Linux/linux 19abf08fs/smb/server smb2pdu.c smbacl.c

Merge tag 'v7.0-rc6-ksmbd-server-fix' of git://git.samba.org/ksmbd

Pull smb server fix from Steve French:

 - Fix out of bound write

* tag 'v7.0-rc6-ksmbd-server-fix' of git://git.samba.org/ksmbd:
  ksmbd: fix OOB write in QUERY_INFO for compound requests
DeltaFile
+89-32fs/smb/server/smb2pdu.c
+43-0fs/smb/server/smbacl.c
+2-0fs/smb/server/smbacl.h
+134-323 files

Linux/linux 5619b09fs/btrfs extent-tree.c

Merge tag 'for-7.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux

Pull btrfs fix from David Sterba:
 "One more fix for a potential extent tree corruption due to an
  unexpected error value.

  When the search for an extent item failed, it under some circumstances
  was reported as a success to the caller"

* tag 'for-7.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
  btrfs: fix incorrect return value after changing leaf in lookup_extent_data_ref()
DeltaFile
+1-1fs/btrfs/extent-tree.c
+1-11 files

Linux/linux e1b5687tools/testing/selftests/bpf/progs verifier_precision.c

selftests/bpf: Add more precision tracking tests for atomics

Add verifier precision tracking tests for BPF atomic fetch operations.
Validate that backtrack_insn correctly propagates precision from the
fetch dst_reg to the stack slot for {fetch_add,xchg,cmpxchg} atomics.
For the first two src_reg gets the old memory value, and for the last
one r0. The fetched register is used for pointer arithmetic to trigger
backtracking. Also add coverage for fetch_{or,and,xor} flavors which
exercises the bitwise atomic fetch variants going through the same
insn->imm & BPF_FETCH check but with different imm values.

Add dual-precision regression tests for fetch_add and cmpxchg where
both the fetched value and a reread of the same stack slot are tracked
for precision. After the atomic operation, the stack slot is STACK_MISC,
so the ldx does not set INSN_F_STACK_ACCESS. These tests verify that
stack precision propagates solely through the atomic fetch's load side.

Add map-based tests for fetch_add and cmpxchg which validate that non-
stack atomic fetch completes precision tracking without falling back

    [44 lines not shown]
DeltaFile
+341-0tools/testing/selftests/bpf/progs/verifier_precision.c
+341-01 files

Linux/linux 179ee84kernel/bpf verifier.c

bpf: Fix incorrect pruning due to atomic fetch precision tracking

When backtrack_insn encounters a BPF_STX instruction with BPF_ATOMIC
and BPF_FETCH, the src register (or r0 for BPF_CMPXCHG) also acts as
a destination, thus receiving the old value from the memory location.

The current backtracking logic does not account for this. It treats
atomic fetch operations the same as regular stores where the src
register is only an input. This leads the backtrack_insn to fail to
propagate precision to the stack location, which is then not marked
as precise!

Later, the verifier's path pruning can incorrectly consider two states
equivalent when they differ in terms of stack state. Meaning, two
branches can be treated as equivalent and thus get pruned when they
should not be seen as such.

Fix it as follows: Extend the BPF_LDX handling in backtrack_insn to
also cover atomic fetch operations via is_atomic_fetch_insn() helper.

    [46 lines not shown]
DeltaFile
+24-3kernel/bpf/verifier.c
+24-31 files

Linux/linux f8f5627drivers/net/ethernet/broadcom/bnxt bnxt.c, drivers/net/ethernet/freescale/enetc enetc4_pf.c

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

Pull networking fixes from Jakub Kicinski:
 "With fixes from wireless, bluetooth and netfilter included we're back
  to each PR carrying 30%+ more fixes than in previous era.

  The good news is that so far none of the "extra" fixes are themselves
  causing real regressions. Not sure how much comfort that is.

  Current release - fix to a fix:

   - netdevsim: fix build if SKB_EXTENSIONS=n

   - eth: stmmac: skip VLAN restore when VLAN hash ops are missing

  Previous releases - regressions:

   - wifi: iwlwifi: mvm: don't send a 6E related command when
     not supported

    [51 lines not shown]
DeltaFile
+130-66net/netfilter/nf_flow_table_offload.c
+55-72net/bluetooth/hci_event.c
+104-14drivers/net/ethernet/freescale/enetc/enetc4_pf.c
+69-32drivers/net/wireless/intel/iwlwifi/mld/iface.c
+62-26net/bluetooth/hci_sync.c
+52-24drivers/net/ethernet/broadcom/bnxt/bnxt.c
+472-23492 files not shown
+1,147-49398 files

Linux/linux 4c2c526drivers/iommu/generic_pt iommu_pt.h, drivers/iommu/generic_pt/fmt amdv1.h

Merge tag 'iommu-fixes-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux

Pull iommu fixes from Joerg Roedel:

 - IOMMU-PT related compile breakage in for AMD driver

 - IOTLB flushing behavior when unmapped region is larger than requested
   due to page-sizes

 - Fix IOTLB flush behavior with empty gathers

* tag 'iommu-fixes-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux:
  iommupt/amdv1: mark amdv1pt_install_leaf_entry as __always_inline
  iommupt: Fix short gather if the unmap goes into a large mapping
  iommu: Do not call drivers for empty gathers
DeltaFile
+2-1include/linux/iommu.h
+1-1drivers/iommu/generic_pt/iommu_pt.h
+1-1drivers/iommu/generic_pt/fmt/amdv1.h
+4-33 files

Linux/linux eb7024bkernel/trace bpf_trace.c

bpf: Reject sleepable kprobe_multi programs at attach time

kprobe.multi programs run in atomic/RCU context and cannot sleep.
However, bpf_kprobe_multi_link_attach() did not validate whether the
program being attached had the sleepable flag set, allowing sleepable
helpers such as bpf_copy_from_user() to be invoked from a non-sleepable
context.

This causes a "sleeping function called from invalid context" splat:

  BUG: sleeping function called from invalid context at ./include/linux/uaccess.h:169
  in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1787, name: sudo
  preempt_count: 1, expected: 0
  RCU nest depth: 2, expected: 0

Fix this by rejecting sleepable programs early in
bpf_kprobe_multi_link_attach(), before any further processing.

Fixes: 0dcac2725406 ("bpf: Add multi kprobe link")

    [7 lines not shown]
DeltaFile
+4-0kernel/trace/bpf_trace.c
+4-01 files

Linux/linux b0db1ackernel/bpf verifier.c

bpf: reject direct access to nullable PTR_TO_BUF pointers

check_mem_access() matches PTR_TO_BUF via base_type() which strips
PTR_MAYBE_NULL, allowing direct dereference without a null check.

Map iterator ctx->key and ctx->value are PTR_TO_BUF | PTR_MAYBE_NULL.
On stop callbacks these are NULL, causing a kernel NULL dereference.

Add a type_may_be_null() guard to the PTR_TO_BUF branch, matching the
existing PTR_TO_BTF_ID pattern.

Fixes: 20b2aff4bc15 ("bpf: Introduce MEM_RDONLY flag")
Signed-off-by: Qi Tang <tpluszz77 at gmail.com>
Acked-by: Kumar Kartikeya Dwivedi <memxor at gmail.com>
Link: https://lore.kernel.org/r/20260402092923.38357-2-tpluszz77@gmail.com
Signed-off-by: Alexei Starovoitov <ast at kernel.org>

DeltaFile
+2-1kernel/bpf/verifier.c
+2-11 files

Linux/linux 2ec9074sound/hda/codecs/realtek alc269.c, sound/hda/controllers intel.c

Merge tag 'sound-7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "People have been so busy for hunting and we're still getting more
  changes than wished for, but it doesn't look too scary; almost all
  changes are device-specific small fixes.

  I guess it's rather a casual bump, and no more Easter eggs are left
  for 7.0 (hopefully)...

   - Fixes for the recent regression on ctxfi driver

   - Fix missing INIT_LIST_HEAD() for ASoC card_aux_list

   - Usual HD- and USB-audio, and ASoC AMD quirk updates

   - ASoC fixes for AMD and Intel"

* tag 'sound-7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (24 commits)

    [21 lines not shown]
DeltaFile
+51-31sound/pci/ctxfi/ctdaio.c
+24-10sound/soc/cirrus/ep93xx-i2s.c
+27-1sound/hda/codecs/realtek/alc269.c
+14-0sound/soc/amd/yc/acp6x-mach.c
+13-0sound/hda/controllers/intel.c
+7-3sound/pci/ctxfi/ctatc.c
+136-456 files not shown
+144-5012 files

Linux/linux 2064d77Documentation/devicetree/bindings/auxdisplay holtek,ht16k33.yaml, drivers/auxdisplay lcd2s.c line-display.c

Merge tag 'auxdisplay-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay

Pull auxdisplay fixes from Andy Shevchenko:

 - Fix NULL dereference in linedisp_release()

 - Fix ht16k33 DT bindings to avoid warnings

 - Handle errors in I²C transfers in lcd2s driver

* tag 'auxdisplay-v7.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay:
  auxdisplay: line-display: fix NULL dereference in linedisp_release
  auxdisplay: lcd2s: add error handling for i2c transfers
  dt-bindings: auxdisplay: ht16k33: Use unevaluatedProperties to fix common property warning
DeltaFile
+12-3drivers/auxdisplay/lcd2s.c
+1-1drivers/auxdisplay/line-display.c
+1-1Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml
+14-53 files

Linux/linux ec7067edrivers/net/ethernet/meta/fbnic fbnic_txrx.h

eth: fbnic: Increase FBNIC_QUEUE_SIZE_MIN to 64

On systems with 64K pages, RX queues will be wedged if users set the
descriptor count to the current minimum (16). Fbnic fragments large
pages into 4K chunks, and scales down the ring size accordingly. With
64K pages and 16 descriptors, the ring size mask is 0 and will never
be filled.

32 descriptors is another special case that wedges the RX rings.
Internally, the rings track pages for the head/tail pointers, not page
fragments. So with 32 descriptors, there's only 1 usable page as one
ring slot is kept empty to disambiguate between an empty/full ring.
As a result, the head pointer never advances and the HW stalls after
consuming 16 page fragments.

Fixes: 0cb4c0a13723 ("eth: fbnic: Implement Rx queue alloc/start/stop/free")
Signed-off-by: Dimitri Daskalakis <daskald at meta.com>
Link: https://patch.msgid.link/20260401162848.2335350-1-dimitri.daskalakis1@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-1drivers/net/ethernet/meta/fbnic/fbnic_txrx.h
+1-11 files

Linux/linux 4e45337net/ipv6 datagram.c

ipv6: avoid overflows in ip6_datagram_send_ctl()

Yiming Qian reported :
<quote>
 I believe I found a locally triggerable kernel bug in the IPv6 sendmsg
 ancillary-data path that can panic the kernel via `skb_under_panic()`
 (local DoS).

 The core issue is a mismatch between:

 - a 16-bit length accumulator (`struct ipv6_txoptions::opt_flen`, type
 `__u16`) and
 - a pointer to the *last* provided destination-options header (`opt->dst1opt`)

 when multiple `IPV6_DSTOPTS` control messages (cmsgs) are provided.

 - `include/net/ipv6.h`:
   - `struct ipv6_txoptions::opt_flen` is `__u16` (wrap possible).
 (lines 291-307, especially 298)

    [111 lines not shown]
DeltaFile
+10-0net/ipv6/datagram.c
+10-01 files

Linux/linux be19356net/hsr hsr_framereg.c hsr_device.c

Merge branch 'net-hsr-fixes-for-prp-duplication-and-vlan-unwind'

Luka Gejak says:

====================
net: hsr: fixes for PRP duplication and VLAN unwind

This series addresses two logic bugs in the HSR/PRP implementation
identified during a protocol audit. These are targeted for the 'net'
tree as they fix potential memory corruption and state inconsistency.

The primary change resolves a race condition in the node merging path by
implementing address-based lock ordering. This ensures that concurrent
mutations of sequence blocks do not lead to state corruption or
deadlocks.

An additional fix corrects asymmetric VLAN error unwinding by
implementing a centralized unwind path on slave errors.
====================

    [3 lines not shown]
DeltaFile
+36-2net/hsr/hsr_framereg.c
+17-15net/hsr/hsr_device.c
+53-172 files

Linux/linux 2e3514enet/hsr hsr_device.c

net: hsr: fix VLAN add unwind on slave errors

When vlan_vid_add() fails for a secondary slave, the error path calls
vlan_vid_del() on the failing port instead of the peer slave that had
already succeeded. This results in asymmetric VLAN state across the HSR
pair.

Fix this by switching to a centralized unwind path that removes the VID
from any slave device that was already programmed.

Fixes: 1a8a63a5305e ("net: hsr: Add VLAN CTAG filter support")
Signed-off-by: Luka Gejak <luka.gejak at linux.dev>
Link: https://patch.msgid.link/20260401092243.52121-3-luka.gejak@linux.dev
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+17-15net/hsr/hsr_device.c
+17-151 files

Linux/linux f5df299net/hsr hsr_framereg.c

net: hsr: serialize seq_blocks merge across nodes

During node merging, hsr_handle_sup_frame() walks node_curr->seq_blocks
to update node_real without holding node_curr->seq_out_lock. This
allows concurrent mutations from duplicate registration paths, risking
inconsistent state or XArray/bitmap corruption.

Fix this by locking both nodes' seq_out_lock during the merge.
To prevent ABBA deadlocks, locks are acquired in order of memory
address.

Reviewed-by: Felix Maurer <fmaurer at redhat.com>
Fixes: 415e6367512b ("hsr: Implement more robust duplicate discard for PRP")
Signed-off-by: Luka Gejak <luka.gejak at linux.dev>
Link: https://patch.msgid.link/20260401092243.52121-2-luka.gejak@linux.dev
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+36-2net/hsr/hsr_framereg.c
+36-21 files

Linux/linux b18c833net/vmw_vsock af_vsock.c

vsock: initialize child_ns_mode_locked in vsock_net_init()

The `child_ns_mode_locked` field lives in `struct net`, which persists
across vsock module reloads. When the module is unloaded and reloaded,
`vsock_net_init()` resets `mode` and `child_ns_mode` back to their
default values, but does not reset `child_ns_mode_locked`.

The stale lock from the previous module load causes subsequent writes
to `child_ns_mode` to silently fail: `vsock_net_set_child_mode()` sees
the old lock, skips updating the actual value, and returns success
when the requested mode matches the stale lock. The sysctl handler
reports no error, but `child_ns_mode` remains unchanged.

Steps to reproduce:
    $ modprobe vsock
    $ echo local > /proc/sys/net/vsock/child_ns_mode
    $ cat /proc/sys/net/vsock/child_ns_mode
    local
    $ modprobe -r vsock

    [15 lines not shown]
DeltaFile
+1-0net/vmw_vsock/af_vsock.c
+1-01 files

Linux/linux 1a280ddnet/sched cls_flow.c

net/sched: cls_flow: fix NULL pointer dereference on shared blocks

flow_change() calls tcf_block_q() and dereferences q->handle to derive
a default baseclass.  Shared blocks leave block->q NULL, causing a NULL
deref when a flow filter without a fully qualified baseclass is created
on a shared block.

Check tcf_block_shared() before accessing block->q and return -EINVAL
for shared blocks.  This avoids the null-deref shown below:

=======================================================================
KASAN: null-ptr-deref in range [0x0000000000000038-0x000000000000003f]
RIP: 0010:flow_change (net/sched/cls_flow.c:508)
Call Trace:
 tc_new_tfilter (net/sched/cls_api.c:2432)
 rtnetlink_rcv_msg (net/core/rtnetlink.c:6980)
 [...]
=======================================================================


    [6 lines not shown]
DeltaFile
+9-1net/sched/cls_flow.c
+9-11 files

Linux/linux 70f7356tools/testing/selftests/tc-testing/tc-tests/infra filter.json

selftests/tc-testing: add tests for cls_fw and cls_flow on shared blocks

Regression tests for the shared-block NULL derefs fixed in the previous
two patches:

  - fw: attempt to attach an empty fw filter to a shared block and
    verify the configuration is rejected with EINVAL.
  - flow: create a flow filter on a shared block without a baseclass
    and verify the configuration is rejected with EINVAL.

Signed-off-by: Xiang Mei <xmei5 at asu.edu>
Acked-by: Jamal Hadi Salim <jhs at mojatatu.com>
Reviewed-by: Victor Nogueira <victor at mojatatu.com>
Link: https://patch.msgid.link/20260331050217.504278-3-xmei5@asu.edu
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
DeltaFile
+44-0tools/testing/selftests/tc-testing/tc-tests/infra/filter.json
+44-01 files

Linux/linux faeea8bnet/sched cls_fw.c

net/sched: cls_fw: fix NULL pointer dereference on shared blocks

The old-method path in fw_classify() calls tcf_block_q() and
dereferences q->handle.  Shared blocks leave block->q NULL, causing a
NULL deref when an empty cls_fw filter is attached to a shared block
and a packet with a nonzero major skb mark is classified.

Reject the configuration in fw_change() when the old method (no
TCA_OPTIONS) is used on a shared block, since fw_classify()'s
old-method path needs block->q which is NULL for shared blocks.

The fixed null-ptr-deref calling stack:
 KASAN: null-ptr-deref in range [0x0000000000000038-0x000000000000003f]
 RIP: 0010:fw_classify (net/sched/cls_fw.c:81)
 Call Trace:
  tcf_classify (./include/net/tc_wrapper.h:197 net/sched/cls_api.c:1764 net/sched/cls_api.c:1860)
  tc_run (net/core/dev.c:4401)
  __dev_queue_xmit (net/core/dev.c:4535 net/core/dev.c:4790)


    [6 lines not shown]
DeltaFile
+12-2net/sched/cls_fw.c
+12-21 files

Linux/linux a80a014net/x25 x25_in.c x25_subr.c

Merge branch 'net-x25-fix-overflow-and-double-free'

Martin Schiller says:

====================
net/x25: Fix overflow and double free

This patch set includes 2 fixes:

The first removes a potential double free of received skb
The second fixes an overflow when accumulating packets with the more-bit
set.

Signed-off-by: Martin Schiller <ms at dev.tdt.de>
====================

Link: https://patch.msgid.link/20260331-x25_fraglen-v4-0-3e69f18464b4@dev.tdt.de
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
DeltaFile
+6-3net/x25/x25_in.c
+1-0net/x25/x25_subr.c
+7-32 files

Linux/linux d10a26anet/x25 x25_in.c

net/x25: Fix potential double free of skb

When alloc_skb fails in x25_queue_rx_frame it calls kfree_skb(skb) at
line 48 and returns 1 (error).
This error propagates back through the call chain:

x25_queue_rx_frame returns 1
    |
    v
x25_state3_machine receives the return value 1 and takes the else
branch at line 278, setting queued=0 and returning 0
    |
    v
x25_process_rx_frame returns queued=0
    |
    v
x25_backlog_rcv at line 452 sees queued=0 and calls kfree_skb(skb)
again


    [14 lines not shown]
DeltaFile
+2-3net/x25/x25_in.c
+2-31 files

Linux/linux a1822cbnet/x25 x25_in.c x25_subr.c

net/x25: Fix overflow when accumulating packets

Add a check to ensure that `x25_sock.fraglen` does not overflow.

The `fraglen` also needs to be resetted when purging `fragment_queue` in
`x25_clear_queues()`.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Suggested-by: Yiming Qian <yimingqian591 at gmail.com>
Signed-off-by: Martin Schiller <ms at dev.tdt.de>
Link: https://patch.msgid.link/20260331-x25_fraglen-v4-2-3e69f18464b4@dev.tdt.de
Signed-off-by: Paolo Abeni <pabeni at redhat.com>
DeltaFile
+4-0net/x25/x25_in.c
+1-0net/x25/x25_subr.c
+5-02 files

Linux/linux b477ab8arch/s390/kvm gmap.c, drivers/hwmon/pmbus pmbus_core.c

Merge tag 'asoc-fix-v7.0-rc6' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v7.0

Another smallish batch of fixes and quirks, these days it's AMD that is
getting all the DMI entries added.  We've got one core fix for a missing
list initialisation with auxiliary devices, otherwise it's all fairly
small things.
DeltaFile
+102-109kernel/rcu/srcutree.c
+154-38drivers/hwmon/pmbus/pmbus_core.c
+114-46arch/s390/kvm/gmap.c
+114-18fs/ext4/mballoc.c
+75-52fs/xfs/xfs_trans_ail.c
+64-52net/xfrm/xfrm_state.c
+623-315391 files not shown
+5,142-2,072397 files

Linux/linux 9351edfdrivers/net/ethernet/broadcom/bnxt bnxt.c bnxt_xdp.c

Merge branch 'bnxt_en-bug-fixes'

Michael Chan says:

====================
bnxt_en: Bug fixes

The first patch is a refactor patch needed by the second patch to
fix XDP ring initialization during FW reset.  The third patch
fixes an issue related to stats context reservation for RoCE.
====================

Link: https://patch.msgid.link/20260331065138.948205-1-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+48-20drivers/net/ethernet/broadcom/bnxt/bnxt.c
+2-3drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
+1-4drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
+1-0drivers/net/ethernet/broadcom/bnxt/bnxt.h
+52-274 files

Linux/linux e4bf81ddrivers/net/ethernet/broadcom/bnxt bnxt.c

bnxt_en: Don't assume XDP is never enabled in bnxt_init_dflt_ring_mode()

The original code made the assumption that when we set up the initial
default ring mode, we must be just loading the driver and XDP cannot
be enabled yet.  This is not true when the FW goes through a resource
or capability change.  Resource reservations will be cancelled and
reinitialized with XDP already enabled.  devlink reload with XDP enabled
will also have the same issue.  This scenario will cause the ring
arithmetic to be all wrong in the bnxt_init_dflt_ring_mode() path
causing failure:

bnxt_en 0000:a1:00.0 ens2f0np0: bnxt_setup_int_mode err: ffffffea
bnxt_en 0000:a1:00.0 ens2f0np0: bnxt_request_irq err: ffffffea
bnxt_en 0000:a1:00.0 ens2f0np0: nic open fail (rc: ffffffea)

Fix it by properly accounting for XDP in the bnxt_init_dflt_ring_mode()
path by using the refactored helper functions in the previous patch.

Reviewed-by: Andy Gospodarek <andrew.gospodarek at broadcom.com>

    [7 lines not shown]
DeltaFile
+9-4drivers/net/ethernet/broadcom/bnxt/bnxt.c
+9-41 files

Linux/linux ceee35edrivers/net/ethernet/broadcom/bnxt bnxt.c bnxt_ethtool.c

bnxt_en: Refactor some basic ring setup and adjustment logic

Refactor out the basic code that trims the default rings, sets up and
adjusts XDP TX rings and CP rings.  There is no change in behavior.
This is to prepare for the next bug fix patch.

Reviewed-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Reviewed-by: Pavan Chebbi <pavan.chebbi at broadcom.com>
Reviewed-by: Andy Gospodarek <andrew.gospodarek at broadcom.com>
Signed-off-by: Michael Chan <michael.chan at broadcom.com>
Link: https://patch.msgid.link/20260331065138.948205-2-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+37-16drivers/net/ethernet/broadcom/bnxt/bnxt.c
+1-4drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c
+2-3drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c
+1-0drivers/net/ethernet/broadcom/bnxt/bnxt.h
+41-234 files

Linux/linux 071dbfadrivers/net/ethernet/broadcom/bnxt bnxt.c

bnxt_en: Restore default stat ctxs for ULP when resource is available

During resource reservation, if the L2 driver does not have enough
MSIX vectors to provide to the RoCE driver, it sets the stat ctxs for
ULP also to 0 so that we don't have to reserve it unnecessarily.

However, subsequently the user may reduce L2 rings thereby freeing up
some resources that the L2 driver can now earmark for RoCE. In this
case, the driver should restore the default ULP stat ctxs to make
sure that all RoCE resources are ready for use.

The RoCE driver may fail to initialize in this scenario without this
fix.

Fixes: d630624ebd70 ("bnxt_en: Utilize ulp client resources if RoCE is not registered")
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Signed-off-by: Pavan Chebbi <pavan.chebbi at broadcom.com>
Signed-off-by: Michael Chan <michael.chan at broadcom.com>
Link: https://patch.msgid.link/20260331065138.948205-4-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+2-0drivers/net/ethernet/broadcom/bnxt/bnxt.c
+2-01 files