Skip to content

[RLC-10] Rebase Custom Changes to rlc-10/6.12.0-211.16.1.el10_2#1257

Merged
PlaidCat merged 14 commits into
rlc-10/6.12.0-211.16.1.el10_2from
jmaple_rlc-10/6.12.0-211.16.1.el10_2
May 22, 2026
Merged

[RLC-10] Rebase Custom Changes to rlc-10/6.12.0-211.16.1.el10_2#1257
PlaidCat merged 14 commits into
rlc-10/6.12.0-211.16.1.el10_2from
jmaple_rlc-10/6.12.0-211.16.1.el10_2

Conversation

@PlaidCat

Copy link
Copy Markdown
Collaborator

https://ciqinc.atlassian.net/browse/KERNEL-1041

Update process (This kernel CentOS base for 6.12.0-211.16.1.el10_2)

  • Rolling Release Rebase Process
  • Create rlc-10/6.12.0-211.16.1.el10_2 branch from rocky10_2
  • Cherry-pick all code from previous branch rlc-10/6.12.0-124.55.1.el10_1 into new branch (skipping unneeded code)
    • Fix conflicts as they arise
  • Build and Test

Rebase Log

(152 "already in upstream_commits" warning lines filtered)

FIPS summary (minor-version rebase — crypto-path changes expected): 144 commits touched 157 FIPS-protected paths

   108  drivers/crypto/
    29  crypto/
    12  include/crypto
     5  drivers/char/random.c
     2  crypto/asymmetric_keys/
     1  arch/x86/crypto/
[jmaple@devbox kernel-src-tree-tools]$ python3.11 rolling-release-update.py --repo ../kernel-src-tree-rolling/ --new-base-branch rocky10_2 --old-rolling-branch rlc-10/6.12.0-124.55.1.el10_1 --new-minor-version --interactive --fips-override
[rolling release update] Rolling Product:  rlc-10
[rolling release update] New Minor Version:  True
[rolling release update] Checking out branch:  rlc-10/6.12.0-124.55.1.el10_1
[rolling release update] Gathering all the RESF kernel Tags
[rolling release update] Found 117 RESF kernel tags
[rolling release update] Checking out branch:  rocky10_2
[rolling release update] Gathering all the RESF kernel Tags
[rolling release update] Found 188 RESF kernel tags
[rolling release update] Common tag sha:  b'09e34b30648f'
"09e34b30648f9b4f10081bc982598e76590f09a6 [redhat] kernel-6.12.0-124.el10"
[rolling release update] Checking for FIPS protected changes between the common tag and HEAD
[rolling release update] Checking for FIPS protected changes
[rolling release update] Getting SHAS 09e34b30648f..HEAD
[rolling release update] Number of commits to check:  19015
[rolling release update] Checking modifications of shas
[rolling release update] Checked 1901 of 19015 commits
[rolling release update] Checked 3802 of 19015 commits
[rolling release update] Checked 5703 of 19015 commits
[rolling release update] Checked 7604 of 19015 commits
[rolling release update] Checked 9505 of 19015 commits
[rolling release update] Checked 11406 of 19015 commits
[rolling release update] Checked 13307 of 19015 commits
[rolling release update] Checked 15208 of 19015 commits
[rolling release update] Checked 17109 of 19015 commits
[rolling release update] Checked 19010 of 19015 commits
[rolling release update] 144 of 19015 commits have FIPS protected changes
[rolling release update] Checking out old rolling branch:  rlc-10/6.12.0-124.55.1.el10_1
[rolling release update] Finding the CIQ Kernel and Associated Upstream commits between the last resf tag and HEAD
[rolling release update] Getting SHAS 1300dd84850c..HEAD
Already on 'rlc-10/6.12.0-124.55.1.el10_1'
[rolling release update] Last RESF tag sha:  b'09e34b30648f'
[rolling release update] Total commits in old branch: 42
[rolling release update] Checking out new base branch:  rocky10_2
[rolling release update] Finding the kernel version for the new rolling release
[rolling release update] New Branch to create: rlc-10/6.12.0-211.16.1.el10_2
[rolling release update] Creating new branch: rlc-10/6.12.0-211.16.1.el10_2
[rolling release update] Creating new branch for PR:  jmaple_rlc-10/6.12.0-211.16.1.el10_2
[rolling release update] Creating Map of all new commits from last rolling release fork
Already on 'jmaple_rlc-10/6.12.0-211.16.1.el10_2'
[rolling release update] Total commits in new branch: 19014
[rolling release update] Checking if any of the commits from the old rolling release are already present in the new base branch
- Old commit dcc39cb27fe6 backported upstream df3b8ca604f2
  Already in new base as 1707b56dd11e: io_uring/cmd: let cmds to know about dying task
- Old commit bf969772773b backported upstream 6c4e68480238
  Already in new base as 7041b7b83f75: idpf: remove obsolete stashing code
- Old commit 5945b6b67e07 backported upstream 0c3f135e840d
  Already in new base as 291299d2d1ae: idpf: stop Tx if there are insufficient buffer resources
- Old commit a82d49cac82b backported upstream 5f417d551324
  Already in new base as c52949654b93: idpf: replace flow scheduling buffer ring with buffer pool
- Old commit 56f31c886ca4 backported upstream b61dfa9bc443
  Already in new base as beb4f55302a8: idpf: simplify and fix splitq Tx packet rollback error path
- Old commit e9f52dec4fd2 backported upstream f2d18e16479c
  Already in new base as be5fee1a138e: idpf: improve when to set RE bit logic
- Old commit 873ae3583169 backported upstream cb83b559bea3
  Already in new base as 5a2323b9b857: idpf: add support for Tx refillqs in flow scheduling mode
- Old commit b9fec1af773b backported upstream 7292af042bcf
  Already in new base as d6974e428c1b: idpf: fix a race in txq wakeup
- Old commit 4b5c5891bce4 backported upstream 2bd7dd383609
  Already in new base as c4a7a3c02b6c: RDMA/mana_ib: Extend modify QP
- Old commit 6343a7a12968 backported upstream c4deabbc1abe
  Already in new base as 9852bb7a9b9d: net: mana: Reduce waiting time if HWC not responding
- Old commit fc5fb153ac6a backported upstream 9448ccd85336
  Already in new base as a0f815292e77: net: hv_netvsc: fix loss of early receive events from host during channel open.
- Old commit 0f4d5b1245d2 backported upstream 44d69d3cf2e8
  Already in new base as 2c0f951230b7: RDMA/mana_ib: Drain send wrs of GSI QP
- Old commit 28820892517f backported upstream 084f35b84f57
  Already in new base as ce45fa8b3f7e: RDMA/mana_ib: add additional port counters
- Old commit 554f9fe296f2 backported upstream 11cd02069872
  Already in new base as d9d09018929c: net: mana: Fix build errors when CONFIG_NET_SHAPER is disabled
- Old commit 25896326d4ae backported upstream ca8ac489ca33
  Already in new base as c305b5f5870b: net: mana: Handle unsupported HWC commands
- Old commit 05a692e19b84 backported upstream a6d5edf11e0c
  Already in new base as 1b998e5112c4: net: mana: Add speed support in mana_get_link_ksettings
- Old commit a511b1a454b9 backported upstream 75cabb46935b
  Already in new base as 1b0dc3bea571: net: mana: Add support for net_shaper_ops
- Old commit cfc28adc56e7 backported upstream 755391121038
  Already in new base as 6260711daaef: net: mana: Allocate MSI-X vectors dynamically
- Old commit ad28189bfa46 backported upstream 845c62c543d6
  Already in new base as f67ffb725278: net: mana: Allow irq_setup() to skip cpus for affinity
- Old commit 4fdbb1e52e64 backported upstream 4607617af1b4
  Already in new base as 08657a4429de: net: mana: explain irq_setup() algorithm
- Old commit 775595fdd41b backported upstream ad518f2557b9
  Already in new base as ccffa585c110: PCI: hv: Allow dynamic MSI-X vector allocation
- Old commit 4773cdeccabc backported upstream 5da8a8b8090b
  Already in new base as 6897f4978a16: PCI/MSI: Export pci_msix_prepare_desc() for dynamic MSI-X allocations
- Old commit 27490d7e01e8 backported upstream baa640d924e5
  Already in new base as 7ce27894e1be: RDMA/mana_ib: Add device statistics support
[rolling release update] Found 23 duplicate commits to remove
[rolling release update] Removing duplicate commits:
  - dcc39cb27fe6b4ca6b51ea15917c09cf267a19bf io_uring/cmd: let cmds to know about dying task
  - bf969772773bfb494d17df4fca782c631193ef5f idpf: remove obsolete stashing code
  - 5945b6b67e07072532763489b939b5f6dc330529 idpf: stop Tx if there are insufficient buffer resources
  - a82d49cac82b86f575090a5eddcda0a7b8f1d929 idpf: replace flow scheduling buffer ring with buffer pool
  - 56f31c886ca45470cb7859d784eb5f962a16d986 idpf: simplify and fix splitq Tx packet rollback error path
  - e9f52dec4fd24c0ee14eca7f85fff30ec03a63f3 idpf: improve when to set RE bit logic
  - 873ae35831695d96d9c3ec92d0b374d9748544ab idpf: add support for Tx refillqs in flow scheduling mode
  - b9fec1af773b5862178f39926d9d046c50aad1d3 idpf: fix a race in txq wakeup
  - 4b5c5891bce477b08b10c0b99f88b5ecfd1a0c80 RDMA/mana_ib: Extend modify QP
  - 6343a7a129683d6311b2a36ef204db371bab1ad9 net: mana: Reduce waiting time if HWC not responding
  - fc5fb153ac6a7c7084b2d70ad316018b3a8f8fa1 net: hv_netvsc: fix loss of early receive events from host during channel open.
  - 0f4d5b1245d25641c07469a5204bd35f8a3d2655 RDMA/mana_ib: Drain send wrs of GSI QP
  - 28820892517fd4841b1911dbc0b1ffd4f73ef74c RDMA/mana_ib: add additional port counters
  - 554f9fe296f221a49d5d27ecb6c02073abc0752e net: mana: Fix build errors when CONFIG_NET_SHAPER is disabled
  - 25896326d4ae86bb20b1f010d20577d117352171 net: mana: Handle unsupported HWC commands
  - 05a692e19b8459b59b3e8ef04c0f538651e282d1 net: mana: Add speed support in mana_get_link_ksettings
  - a511b1a454b91d243abb218caa0c7556e6522cf0 net: mana: Add support for net_shaper_ops
  - cfc28adc56e79e612aa8cd15d214e346deb3eeb2 net: mana: Allocate MSI-X vectors dynamically
  - ad28189bfa464f770a66a0e90d8d63dce340c021 net: mana: Allow irq_setup() to skip cpus for affinity
  - 4fdbb1e52e64e1899e90cc0ee9df66cb0b19cb99 net: mana: explain irq_setup() algorithm
  - 775595fdd41be83d8a397dde7ce64dfb9d6d3f46 PCI: hv: Allow dynamic MSI-X vector allocation
  - 4773cdeccabc9740530720f8f0860ef630b4993c PCI/MSI: Export pci_msix_prepare_desc() for dynamic MSI-X allocations
  - 27490d7e01e8a4b7d12c83202a15a0d0bc59e6e4 RDMA/mana_ib: Add device statistics support
[rolling release update] Applying 19 remaining commits to the new branch
  [1/19] a88aa7c030b0 github actions: Add kernelCI for rlc-10
  [2/19] 029ac4f298f9 github actions: Use trigger for kernelCI
  [3/19] 4de37bb6ef11 github actions: Pin Checkout action to v6.0.2
  [4/19] db43a12b9990 github actions: set make to `nproc` rather than hardcoded
  [5/19] b3b57a029456 net: skbuff: propagate shared-frag marker through frag-transfer helpers
[rolling release update] ERROR: Failed to cherry-pick commit b3b57a02945694af8bcc1a38a0ab2b528b55356f
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:

    git commit --allow-empty

Otherwise, please use 'git cherry-pick --skip'

[rolling release update] ========================================
[rolling release update] INTERACTIVE MODE: Merge conflict detected
[rolling release update] ========================================
[rolling release update] Please resolve or skip the merge conflict manually.
[rolling release update] To resolve:
[rolling release update]   1. Fix merge conflicts in the working directory
[rolling release update]   2. Stage resolved files: git add <files>
[rolling release update]   3. Complete cherry-pick: git cherry-pick --continue
[rolling release update]      (or commit manually if needed)
[rolling release update] To skip:
[rolling release update]   1. To skip this commit: git cherry-pick --skip
[rolling release update] When done:
[rolling release update]   Return here and press Enter to continue
[rolling release update] ========================================
[rolling release update] Press Enter when resolved (or type "stop"/"abort" to exit):
[rolling release update] Cherry-pick resolved successfully, continuing...
  [6/19] 13cdee7752b9 tools: hv: Enable debug logs for hv_kvp_daemon
  [7/19] c089b0d16786 scsi: storvsc: Prefer returning channel with the same CPU as on the I/O issuing CPU
[rolling release update] ERROR: Failed to cherry-pick commit c089b0d167864cf9729327e08396f776c63b734e
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:

    git commit --allow-empty

Otherwise, please use 'git cherry-pick --skip'

[rolling release update] ========================================
[rolling release update] INTERACTIVE MODE: Merge conflict detected
[rolling release update] ========================================
[rolling release update] Please resolve or skip the merge conflict manually.
[rolling release update] To resolve:
[rolling release update]   1. Fix merge conflicts in the working directory
[rolling release update]   2. Stage resolved files: git add <files>
[rolling release update]   3. Complete cherry-pick: git cherry-pick --continue
[rolling release update]      (or commit manually if needed)
[rolling release update] To skip:
[rolling release update]   1. To skip this commit: git cherry-pick --skip
[rolling release update] When done:
[rolling release update]   Return here and press Enter to continue
[rolling release update] ========================================
[rolling release update] Press Enter when resolved (or type "stop"/"abort" to exit):
[rolling release update] Cherry-pick resolved successfully, continuing...
  [8/19] 1edf2394aae0 net: mana: Use page pool fragments for RX buffers instead of full pages to improve memory efficiency.
[rolling release update] ERROR: Failed to cherry-pick commit 1edf2394aae00bae5fe6adf3ced36e9c8696404b
error: could not apply 1edf2394aae0... net: mana: Use page pool fragments for RX buffers instead of full pages to improve memory efficiency.
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".
hint: Disable this message with "git config advice.mergeConflict false"

[rolling release update] ========================================
[rolling release update] INTERACTIVE MODE: Merge conflict detected
[rolling release update] ========================================
[rolling release update] Please resolve or skip the merge conflict manually.
[rolling release update] To resolve:
[rolling release update]   1. Fix merge conflicts in the working directory
[rolling release update]   2. Stage resolved files: git add <files>
[rolling release update]   3. Complete cherry-pick: git cherry-pick --continue
[rolling release update]      (or commit manually if needed)
[rolling release update] To skip:
[rolling release update]   1. To skip this commit: git cherry-pick --skip
[rolling release update] When done:
[rolling release update]   Return here and press Enter to continue
[rolling release update] ========================================
[rolling release update] Press Enter when resolved (or type "stop"/"abort" to exit):
[rolling release update] Cherry-pick resolved successfully, continuing...
  [9/19] 8a4241631a96 dcache: export shrink_dentry_list() and add new helper d_dispose_if_unused()
  [10/19] 7f5cd3e99ee0 fuse: don't truncate cached, mutated symlink
  [11/19] f4fcc6e5337b fuse: add more control over cache invalidation behaviour
  [12/19] 1407e0a38b0d fuse: fix possibly missing fuse_copy_finish() call in fuse_notify()
  [13/19] 3e2831a2a7c0 fs: fuse: add dev id to /dev/fuse fdinfo
  [14/19] 673bdb6199d4 fuse: respect FOPEN_KEEP_CACHE on opendir
  [15/19] 5c4de873ac41 xfrm: esp: avoid in-place decrypt on shared skb frags
[rolling release update] ERROR: Failed to cherry-pick commit 5c4de873ac41da8889e66d0853186a5a1cea4a28
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:

    git commit --allow-empty

Otherwise, please use 'git cherry-pick --skip'

[rolling release update] ========================================
[rolling release update] INTERACTIVE MODE: Merge conflict detected
[rolling release update] ========================================
[rolling release update] Please resolve or skip the merge conflict manually.
[rolling release update] To resolve:
[rolling release update]   1. Fix merge conflicts in the working directory
[rolling release update]   2. Stage resolved files: git add <files>
[rolling release update]   3. Complete cherry-pick: git cherry-pick --continue
[rolling release update]      (or commit manually if needed)
[rolling release update] To skip:
[rolling release update]   1. To skip this commit: git cherry-pick --skip
[rolling release update] When done:
[rolling release update]   Return here and press Enter to continue
[rolling release update] ========================================
[rolling release update] Press Enter when resolved (or type "stop"/"abort" to exit):
[rolling release update] Cherry-pick resolved successfully, continuing...
  [16/19] 2a6ba43c6e19 rxrpc: Fix potential UAF after skb_unshare() failure
  [17/19] 90808026bd4f rxrpc: Fix rxrpc_input_call_event() to only unshare DATA packets
  [18/19] 4b79b343f3c0 rxrpc: Also unshare DATA/RESPONSE packets when paged frags are present
  [19/19] 43b755a0e87c ptrace: slightly saner 'get_dumpable()' logic
[rolling release update] Successfully applied all 19 commits

BUILD

$ egrep -B 5 -A 5 "\[TIMER\]|^Starting Build" $(ls -t kbuild* | head -n1)
/mnt/code/kernel-src-tree-build
Running make mrproper...
  CLEAN   scripts/basic
  CLEAN   scripts/kconfig
  CLEAN   include/config include/generated .config .config.old
[TIMER]{MRPROPER}: 6s
x86_64 architecture detected, copying config
'configs/kernel-x86_64-rhel.config' -> '.config'
Setting Local Version for build
CONFIG_LOCALVERSION="-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9"
Making olddefconfig
--
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
Starting Build
  GEN     arch/x86/include/generated/asm/orc_hash.h
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/errno.h
  WRAP    arch/x86/include/generated/uapi/asm/fcntl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctl.h
--
  LD [M]  net/qrtr/qrtr-mhi.ko
  LD [M]  virt/lib/irqbypass.ko
  BTF [M] net/qrtr/qrtr.ko
  BTF [M] net/qrtr/qrtr-mhi.ko
  BTF [M] virt/lib/irqbypass.ko
[TIMER]{BUILD}: 1971s
Making Modules
  SYMLINK /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+/build
  INSTALL /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+/modules.order
  INSTALL /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+/modules.builtin
  INSTALL /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+/modules.builtin.modinfo
--
  STRIP   /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+/kernel/virt/lib/irqbypass.ko
  SIGN    /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+/kernel/net/qrtr/qrtr-mhi.ko
  SIGN    /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+/kernel/virt/lib/irqbypass.ko
  SIGN    /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+/kernel/net/ceph/libceph.ko
  DEPMOD  /lib/modules/6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+
[TIMER]{MODULES}: 9s
Making Install
  INSTALL /boot
[TIMER]{INSTALL}: 17s
Checking kABI
kABI check passed
Setting Default Kernel to /boot/vmlinuz-6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+ and Index to 4
The default is /boot/loader/entries/4f579ff47f4f47758a1720a5f4d037f9-6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+.conf with index 4 and kernel /boot/vmlinuz-6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+
The default is /boot/loader/entries/4f579ff47f4f47758a1720a5f4d037f9-6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+.conf with index 4 and kernel /boot/vmlinuz-6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+
Generating grub configuration file ...
Adding boot menu entry for UEFI Firmware Settings ...
done
Hopefully Grub2.0 took everything ... rebooting after time metrices
[TIMER]{MRPROPER}: 6s
[TIMER]{BUILD}: 1971s
[TIMER]{MODULES}: 9s
[TIMER]{INSTALL}: 17s
[TIMER]{TOTAL} 2007s
Rebooting in 10 seconds

KSelfTest

$ ./kernel-tools/kernel_auto_rebuild/get_kselftest_diff.sh
selftest-6.12.0-jmaple_rlc-10_6.12.0-124.55.1.el10_1-fa9cf18b3b70+-1.log: 477 passed
selftest-6.12.0-jmaple_rlc-10_6.12.0-211.16.1.el10_2-719e88a39bd9+-1.log: 491 passed
kselftest.before.log: 477 passed
kselftest.after.log: 491 passed

Before: kselftest.before.log
After: kselftest.after.log
Diff:
-ok 100 selftests: net: test_vxlan_nolocalbypass.sh # SKIP
-ok 101 selftests: net: test_bridge_backup_port.sh # SKIP
-ok 102 selftests: net: fdb_flush.sh
-ok 103 selftests: net: fdb_notify.sh
-ok 104 selftests: net: fq_band_pktlimit.sh
-ok 105 selftests: net: vlan_hw_filter.sh
-ok 106 selftests: net: vlan_bridge_binding.sh
-ok 107 selftests: net: bpf_offload.py
-ok 108 selftests: net: ipv6_route_update_soft_lockup.sh
-ok 10 selftests: damon: damon_nr_regions.py
+ok 100 selftests: net: test_bridge_neigh_suppress.sh # SKIP
+ok 101 selftests: net: test_vxlan_nolocalbypass.sh # SKIP
+ok 102 selftests: net: test_bridge_backup_port.sh # SKIP
+ok 103 selftests: net: fdb_flush.sh
+ok 104 selftests: net: fdb_notify.sh
+ok 105 selftests: net: fq_band_pktlimit.sh
+ok 106 selftests: net: vlan_hw_filter.sh
+ok 107 selftests: net: vlan_bridge_binding.sh
+ok 108 selftests: net: bpf_offload.py
+ok 109 selftests: net: ipv6_route_update_soft_lockup.sh
+ok 10 selftests: drivers/net/bonding: bond_passive_lacp.sh # SKIP
-ok 10 selftests: rseq: run_param_test.sh
+ok 110 selftests: net: busy_poll_test.sh
+ok 11 selftests: drivers/net/bonding: bond_lacp_prio.sh
+ok 11 selftests: rseq: run_param_test.sh
+ok 12 selftests: drivers/net/bonding: bond_ipsec_offload.sh # SKIP
+ok 12 selftests: rseq: run_syscall_errors_test.sh
-ok 13 selftests: kvm: fix_hypercall_test
+ok 13 selftests: kvm: fastops_test # SKIP
-ok 14 selftests: kvm: hwcr_msr_test
+ok 14 selftests: kvm: fix_hypercall_test
-ok 15 selftests: kvm: hyperv_clock # SKIP
+ok 15 selftests: kvm: hwcr_msr_test
-ok 16 selftests: kvm: hyperv_cpuid
+ok 16 selftests: kvm: hyperv_clock # SKIP
-ok 17 selftests: kvm: hyperv_evmcs
+ok 17 selftests: kvm: hyperv_cpuid
-ok 18 selftests: kvm: hyperv_extended_hypercalls
+ok 18 selftests: kvm: hyperv_evmcs
-ok 19 selftests: kvm: hyperv_features
+ok 19 selftests: kvm: hyperv_extended_hypercalls
-ok 1 selftests: drivers/net: netcons_basic.sh # SKIP
-ok 1 selftests: filesystems: devpts_pts # SKIP
+ok 1 selftests: net/can: test_raw_filter.sh # SKIP
+ok 1 selftests: timers: posix_timers
+ok 1 selftests: vfio: vfio_dma_mapping_test # SKIP
-ok 20 selftests: kvm: hyperv_ipi
-ok 20 selftests: net/netfilter: nft_meta.sh # SKIP
+ok 20 selftests: kvm: hyperv_features
+ok 20 selftests: net/netfilter: nft_interface_stress.sh # SKIP
-ok 21 selftests: kvm: hyperv_svm_test # SKIP
-ok 21 selftests: net/netfilter: nft_nat.sh # SKIP
+ok 21 selftests: kvm: hyperv_ipi
+ok 21 selftests: net/netfilter: nft_meta.sh # SKIP
-ok 22 selftests: kvm: hyperv_tlb_flush
-ok 22 selftests: net/netfilter: nft_nat_zones.sh # SKIP
+ok 22 selftests: kvm: hyperv_svm_test # SKIP
+ok 22 selftests: net/netfilter: nft_nat.sh # SKIP
-ok 23 selftests: kvm: kvm_clock_test # SKIP
+ok 23 selftests: kvm: hyperv_tlb_flush
-ok 23 selftests: net/netfilter: nft_queue.sh # SKIP
+ok 23 selftests: net/netfilter: nft_nat_zones.sh # SKIP
-ok 24 selftests: kvm: kvm_pv_test
+ok 24 selftests: kvm: kvm_clock_test # SKIP
+ok 24 selftests: net/netfilter: nft_queue.sh # SKIP
-ok 25 selftests: kvm: monitor_mwait_test
-ok 25 selftests: net/netfilter: nft_tproxy_tcp.sh # SKIP
+ok 25 selftests: kvm: kvm_pv_test
-ok 26 selftests: kvm: nested_emulation_test # SKIP
+ok 26 selftests: kvm: kvm_buslock_test # SKIP
-ok 26 selftests: net/netfilter: nft_tproxy_udp.sh # SKIP
-ok 27 selftests: kvm: nested_exceptions_test
-ok 27 selftests: net/netfilter: nft_zones_many.sh # SKIP
+ok 26 selftests: net/netfilter: nft_tproxy_tcp.sh # SKIP
+ok 27 selftests: kvm: monitor_mwait_test # SKIP
+ok 27 selftests: net/netfilter: nft_tproxy_udp.sh # SKIP
-ok 28 selftests: kvm: platform_info_test
+ok 28 selftests: kvm: nested_emulation_test # SKIP
-ok 28 selftests: net/netfilter: rpath.sh # SKIP
-ok 29 selftests: kvm: pmu_counters_test # SKIP
+ok 28 selftests: net/netfilter: nft_zones_many.sh # SKIP
+ok 29 selftests: kvm: nested_exceptions_test
+ok 29 selftests: net/netfilter: rpath.sh # SKIP
-ok 2 selftests: drivers/net: ping.py
+ok 2 selftests: drivers/net: netcons_basic.sh # SKIP
+ok 2 selftests: seccomp: seccomp_benchmark
+ok 2 selftests: vfio: vfio_iommufd_setup_test # SKIP
-ok 30 selftests: kvm: pmu_event_filter_test # SKIP
+ok 30 selftests: kvm: platform_info_test
-ok 31 selftests: kvm: private_mem_conversions_test
+ok 31 selftests: kvm: pmu_counters_test # SKIP
-ok 32 selftests: kvm: private_mem_kvm_exits_test
+ok 32 selftests: kvm: pmu_event_filter_test # SKIP
-ok 33 selftests: kvm: set_boot_cpu_id
+ok 33 selftests: kvm: private_mem_conversions_test
-ok 34 selftests: kvm: set_sregs_test
+ok 34 selftests: kvm: private_mem_kvm_exits_test
-ok 35 selftests: kvm: smaller_maxphyaddr_emulation_test # SKIP
+ok 35 selftests: kvm: set_boot_cpu_id
-ok 36 selftests: kvm: smm_test
+ok 36 selftests: kvm: set_sregs_test
-ok 37 selftests: kvm: state_test
+ok 37 selftests: kvm: smaller_maxphyaddr_emulation_test # SKIP
-ok 38 selftests: kvm: vmx_preemption_timer_test
+ok 38 selftests: kvm: smm_test
-ok 39 selftests: kvm: svm_vmcall_test # SKIP
+ok 39 selftests: kvm: state_test
-ok 3 selftests: drivers/net: queues.py
+ok 3 selftests: kexec: test_kexec_jump.sh # SKIP
+ok 3 selftests: vfio: vfio_pci_device_test # SKIP
-ok 40 selftests: kvm: svm_int_ctl_test # SKIP
-ok 41 selftests: kvm: svm_nested_shutdown_test # SKIP
+ok 40 selftests: kvm: vmx_preemption_timer_test
+ok 41 selftests: kvm: svm_vmcall_test # SKIP
-ok 42 selftests: kvm: svm_nested_soft_inject_test # SKIP
+ok 42 selftests: kvm: svm_int_ctl_test # SKIP
-ok 43 selftests: kvm: tsc_scaling_sync
+ok 43 selftests: kvm: svm_nested_shutdown_test # SKIP
-ok 44 selftests: kvm: sync_regs_test
+ok 44 selftests: kvm: svm_nested_soft_inject_test # SKIP
-ok 45 selftests: kvm: ucna_injection_test
+ok 45 selftests: kvm: tsc_scaling_sync
-ok 46 selftests: kvm: userspace_io_test
+ok 46 selftests: kvm: sync_regs_test
-ok 47 selftests: kvm: userspace_msr_exit_test
+ok 47 selftests: kvm: ucna_injection_test
-ok 48 selftests: kvm: vmx_apic_access_test
+ok 48 selftests: kvm: userspace_io_test
-ok 49 selftests: kvm: vmx_close_while_nested_test
+ok 49 selftests: kvm: userspace_msr_exit_test
+ok 4 selftests: cgroup: test_freezer
-ok 4 selftests: drivers/net: stats.py
+ok 4 selftests: vfio: vfio_pci_device_init_perf_test # SKIP
-ok 50 selftests: kvm: vmx_dirty_log_test
+ok 50 selftests: kvm: vmx_apic_access_test
-ok 51 selftests: kvm: vmx_exception_with_invalid_guest_state # SKIP
+ok 51 selftests: kvm: vmx_close_while_nested_test
-ok 52 selftests: kvm: vmx_msrs_test
-ok 53 selftests: kvm: vmx_invalid_nested_guest_state
+ok 52 selftests: kvm: vmx_dirty_log_test
+ok 52 selftests: net: txtimestamp.sh
+ok 53 selftests: kvm: vmx_exception_with_invalid_guest_state # SKIP
-ok 54 selftests: kvm: vmx_set_nested_state_test
+ok 54 selftests: kvm: vmx_msrs_test
-ok 55 selftests: kvm: vmx_tsc_adjust_test
+ok 55 selftests: kvm: vmx_invalid_nested_guest_state
-ok 56 selftests: kvm: vmx_nested_tsc_scaling_test # SKIP
+ok 56 selftests: kvm: vmx_set_nested_state_test
-ok 57 selftests: kvm: apic_bus_clock_test
+ok 57 selftests: kvm: vmx_tsc_adjust_test
-ok 58 selftests: kvm: xapic_ipi_test
+ok 58 selftests: kvm: vmx_nested_tsc_scaling_test # SKIP
-ok 59 selftests: kvm: xapic_state_test
+ok 59 selftests: kvm: apic_bus_clock_test
-ok 5 selftests: drivers/net: shaper.py
+ok 5 selftests: vfio: vfio_pci_driver_test # SKIP
-ok 60 selftests: kvm: xcr0_cpuid_test
+ok 60 selftests: kvm: xapic_ipi_test
-ok 61 selftests: kvm: xss_msr_test
+ok 61 selftests: kvm: xapic_state_test
-ok 62 selftests: kvm: debug_regs
+ok 62 selftests: kvm: xcr0_cpuid_test
-ok 63 selftests: kvm: tsc_msrs_test
+ok 63 selftests: kvm: xss_msr_test
-ok 64 selftests: kvm: vmx_pmu_caps_test # SKIP
+ok 64 selftests: kvm: debug_regs
-ok 65 selftests: kvm: xen_shinfo_test # SKIP
+ok 65 selftests: kvm: tsc_msrs_test
-ok 66 selftests: kvm: xen_vmcall_test # SKIP
+ok 66 selftests: kvm: vmx_pmu_caps_test # SKIP
-ok 67 selftests: kvm: sev_init2_tests # SKIP
+ok 67 selftests: kvm: xen_shinfo_test # SKIP
-ok 68 selftests: kvm: sev_migrate_tests # SKIP
+ok 68 selftests: kvm: xen_vmcall_test # SKIP
-ok 69 selftests: kvm: sev_smoke_test # SKIP
+ok 69 selftests: kvm: sev_init2_tests # SKIP
-ok 6 selftests: drivers/net: hds.py
-ok 70 selftests: kvm: amx_test # SKIP
+ok 70 selftests: kvm: sev_migrate_tests # SKIP
-ok 71 selftests: kvm: max_vcpuid_cap_test
+ok 71 selftests: kvm: sev_smoke_test # SKIP
-ok 72 selftests: kvm: triple_fault_event_test
+ok 72 selftests: kvm: amx_test # SKIP
-ok 73 selftests: kvm: recalc_apic_map_test
-ok 73 selftests: net: srv6_end_dt46_l3vpn_test.sh
-ok 74 selftests: kvm: access_tracking_perf_test # SKIP
-ok 74 selftests: net: srv6_end_dt4_l3vpn_test.sh
-ok 75 selftests: kvm: coalesced_io_test
-ok 75 selftests: net: srv6_end_dt6_l3vpn_test.sh
-ok 76 selftests: kvm: dirty_log_perf_test
-ok 76 selftests: net: srv6_hencap_red_l3vpn_test.sh
-ok 77 selftests: kvm: guest_memfd_test
-ok 77 selftests: net: srv6_hl2encap_red_l2vpn_test.sh
-ok 78 selftests: kvm: hardware_disable_test
-ok 78 selftests: net: srv6_end_next_csid_l3vpn_test.sh
-ok 79 selftests: kvm: memslot_modification_stress_test
-ok 79 selftests: net: srv6_end_x_next_csid_l3vpn_test.sh
+ok 73 selftests: kvm: max_vcpuid_cap_test
+ok 74 selftests: kvm: triple_fault_event_test
+ok 74 selftests: net: srv6_end_dt46_l3vpn_test.sh
+ok 75 selftests: kvm: recalc_apic_map_test
+ok 75 selftests: net: srv6_end_dt4_l3vpn_test.sh
+ok 76 selftests: kvm: aperfmperf_test # SKIP
+ok 76 selftests: net: srv6_end_dt6_l3vpn_test.sh
+ok 77 selftests: kvm: access_tracking_perf_test # SKIP
+ok 77 selftests: net: srv6_hencap_red_l3vpn_test.sh
+ok 78 selftests: kvm: coalesced_io_test
+ok 78 selftests: net: srv6_hl2encap_red_l2vpn_test.sh
+ok 79 selftests: kvm: dirty_log_perf_test
+ok 79 selftests: net: srv6_end_next_csid_l3vpn_test.sh
-ok 7 selftests: timers: raw_skew
+ok 7 selftests: timers: raw_skew # SKIP
-ok 80 selftests: kvm: memslot_perf_test
-ok 80 selftests: net: srv6_end_flavors_test.sh
-ok 81 selftests: net: srv6_end_dx4_netfilter_test.sh
-ok 82 selftests: kvm: rseq_test
-ok 82 selftests: net: srv6_end_dx6_netfilter_test.sh
-ok 83 selftests: kvm: steal_time
-ok 83 selftests: net: vrf_strict_mode_test.sh
-ok 84 selftests: kvm: system_counter_offset_test
-ok 84 selftests: net: arp_ndisc_evict_nocarrier.sh
-ok 85 selftests: kvm: pre_fault_memory_test
-ok 85 selftests: net: ndisc_unsolicited_na_test.sh
-ok 86 selftests: kvm: nx_huge_pages_test.sh
-ok 86 selftests: net: arp_ndisc_untracked_subnets.sh
-ok 87 selftests: net: stress_reuseport_listen.sh
-ok 88 selftests: net: l2_tos_ttl_inherit.sh
-ok 89 selftests: net: bind_bhash.sh
+ok 80 selftests: kvm: guest_memfd_test
+ok 80 selftests: net: srv6_end_x_next_csid_l3vpn_test.sh
+ok 81 selftests: kvm: hardware_disable_test
+ok 81 selftests: net: srv6_end_flavors_test.sh
+ok 82 selftests: kvm: memslot_modification_stress_test
+ok 82 selftests: net: srv6_end_dx4_netfilter_test.sh
+ok 83 selftests: kvm: memslot_perf_test
+ok 83 selftests: net: srv6_end_dx6_netfilter_test.sh
+ok 84 selftests: net: vrf_strict_mode_test.sh
+ok 85 selftests: kvm: rseq_test
+ok 85 selftests: net: arp_ndisc_evict_nocarrier.sh
+ok 86 selftests: kvm: steal_time
+ok 86 selftests: net: ndisc_unsolicited_na_test.sh
+ok 87 selftests: kvm: system_counter_offset_test
+ok 87 selftests: net: arp_ndisc_untracked_subnets.sh
+ok 88 selftests: kvm: pre_fault_memory_test
+ok 88 selftests: net: stress_reuseport_listen.sh
+ok 89 selftests: kvm: nx_huge_pages_test.sh
+ok 89 selftests: net: l2_tos_ttl_inherit.sh
+ok 8 selftests: pidfd: pidfd_file_handle_test
-ok 91 selftests: net: rps_default_mask.sh
-ok 92 selftests: net: big_tcp.sh # SKIP
-ok 93 selftests: net: netns-sysctl.sh
-ok 94 selftests: net: test_vxlan_vnifiltering.sh
-ok 96 selftests: net: test_ingress_egress_chaining.sh
-ok 97 selftests: net: sctp_vrf.sh
-ok 98 selftests: net: test_vxlan_mdb.sh # SKIP
-ok 99 selftests: net: test_bridge_neigh_suppress.sh # SKIP
+ok 90 selftests: net: bind_bhash.sh
+ok 92 selftests: net: rps_default_mask.sh
+ok 93 selftests: net: big_tcp.sh # SKIP
+ok 94 selftests: net: netns-sysctl.sh
+ok 95 selftests: net: test_vxlan_vnifiltering.sh
+ok 97 selftests: net: test_ingress_egress_chaining.sh
+ok 98 selftests: net: sctp_vrf.sh
+ok 99 selftests: net: test_vxlan_mdb.sh # SKIP

roxanan1996 and others added 14 commits May 21, 2026 16:37
Signed-off-by: Roxana Nicolescu <rnicolescu@ciq.com>
Signed-off-by: Roxana Nicolescu <rnicolescu@ciq.com>
jira LE-3207
feature tools_hv
commit-author Shradha Gupta <shradhagupta@linux.microsoft.com>
commit a9c0b33

Allow the KVP daemon to log the KVP updates triggered in the VM
with a new debug flag(-d).
When the daemon is started with this flag, it logs updates and debug
information in syslog with loglevel LOG_DEBUG. This information comes
in handy for debugging issues where the key-value pairs for certain
pools show mismatch/incorrect values.
The distro-vendors can further consume these changes and modify the
respective service files to redirect the logs to specific files as
needed.

	Signed-off-by: Shradha Gupta <shradhagupta@linux.microsoft.com>
	Reviewed-by: Naman Jain <namjain@linux.microsoft.com>
	Reviewed-by: Dexuan Cui <decui@microsoft.com>
Link: https://lore.kernel.org/r/1744715978-8185-1-git-send-email-shradhagupta@linux.microsoft.com
	Signed-off-by: Wei Liu <wei.liu@kernel.org>
Message-ID: <1744715978-8185-1-git-send-email-shradhagupta@linux.microsoft.com>
(cherry picked from commit a9c0b33)
	Signed-off-by: Jonathan Maple <jmaple@ciq.com>
…nused()

jira SECO-468
commit-author Luis Henriques <luis@igalia.com>
commit 395b955

Add and export a new helper d_dispose_if_unused() which is simply a wrapper
around to_shrink_list(), to add an entry to a dispose list if it's not used
anymore.

Also export shrink_dentry_list() to kill all dentries in a dispose list.

	Suggested-by: Miklos Szeredi <miklos@szeredi.hu>
	Signed-off-by: Luis Henriques <luis@igalia.com>
	Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
(cherry picked from commit 395b955)
	Signed-off-by: Roxana Nicolescu <rnicolescu@ciq.com>
jira SECO-478
RFBugFix: FUSE
commit-author Miklos Szeredi <mszeredi@redhat.com>
commit b4c173d

Fuse allows the value of a symlink to change and this property is exploited
by some filesystems (e.g. CVMFS).

It has been observed, that sometimes after changing the symlink contents,
the value is truncated to the old size.

This is caused by fuse_getattr() racing with fuse_reverse_inval_inode().
fuse_reverse_inval_inode() updates the fuse_inode's attr_version, which
results in fuse_change_attributes() exiting before updating the cached
attributes

This is okay, as the cached attributes remain invalid and the next call to
fuse_change_attributes() will likely update the inode with the correct
values.

The reason this causes problems is that cached symlinks will be
returned through page_get_link(), which truncates the symlink to
inode->i_size.  This is correct for filesystems that don't mutate
symlinks, but in this case it causes bad behavior.

The solution is to just remove this truncation.  This can cause a
regression in a filesystem that relies on supplying a symlink larger than
the file size, but this is unlikely.  If that happens we'd need to make
this behavior conditional.

	Reported-by: Laura Promberger <laura.promberger@cern.ch>
	Tested-by: Sam Lewis <samclewis@google.com>
	Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Link: https://lore.kernel.org/r/20250220100258.793363-1-mszeredi@redhat.com
	Reviewed-by: Bernd Schubert <bschubert@ddn.com>
	Signed-off-by: Christian Brauner <brauner@kernel.org>
(cherry picked from commit b4c173d)
	Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira SECO-478
RFBugFix: FUSE
commit-author Luis Henriques <luis@igalia.com>
commit 2396356
upstream-diff | conflict in fs/fuse/dir.c due to missing this piece:
       d701902 - fuse: return correct dentry for ->mkdir
       Which is a part of a larger changeset here that we're not going to
       take: https://lore.kernel.org/all/20250227013949.536172-1-neilb@suse.de/
       | Additionally this bumps the Kernel FUSE API minor version from 41
       to 44.  The interface into via fuse3 currently in Rocky 10.1 is
       limited to API 38 anyways at 3.16.2.
       | There is a build conflict due to a major rewrite of the d_revalidate
       calls which now includes the parent directory being passed.
       5be1fa8 Pass parent directory inode and expected name to ->d_revalidate()
       In this case we can use the dentry->i_sb because we only need the
       superblock for get_fuse_conn_super().

Currently userspace is able to notify the kernel to invalidate the cache
for an inode.  This means that, if all the inodes in a filesystem need to
be invalidated, then userspace needs to iterate through all of them and do
this kernel notification separately.

This patch adds the concept of 'epoch': each fuse connection will have the
current epoch initialized and every new dentry will have it's d_time set to
the current epoch value.  A new operation will then allow userspace to
increment the epoch value.  Every time a dentry is d_revalidate()'ed, it's
epoch is compared with the current connection epoch and invalidated if it's
value is different.

	Signed-off-by: Luis Henriques <luis@igalia.com>
	Tested-by: Laura Promberger <laura.promberger@cern.ch>
	Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
(cherry picked from commit 2396356)
	Signed-off-by: Jonathan Maple <jmaple@ciq.com>

build fix: fuse: add more control over cache invalidation behaviour
jira SECO-478
BUGFIX: FUSE
commit-author Miklos Szeredi <mszeredi@redhat.com>
commit 0b563aa

In case of FUSE_NOTIFY_RESEND and FUSE_NOTIFY_INC_EPOCH fuse_copy_finish()
isn't called.

Fix by always calling fuse_copy_finish() after fuse_notify().  It's a no-op
if called a second time.

Fixes: 760eac7 ("fuse: Introduce a new notification type for resend pending requests")
Fixes: 2396356 ("fuse: add more control over cache invalidation behaviour")
	Cc: <stable@vger.kernel.org> # v6.9
	Reviewed-by: Joanne Koong <joannelkoong@gmail.com>
	Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
(cherry picked from commit 0b563aa)
	Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira SECO-511
commit-author Chen Linxuan <chenlinxuan@uniontech.com>
commit f092229
upstream-diff | There were conflicts seen while applying
this patch due to the following missing commit :-
786412a ("fuse: enable fuse-over-io-uring")

This commit add fuse connection device id to
fdinfo of opened /dev/fuse files.

Related discussions can be found at links below.

Link: https://lore.kernel.org/all/CAJfpegvEYUgEbpATpQx8NqVR33Mv-VK96C+gbTag1CEUeBqvnA@mail.gmail.com/
	Signed-off-by: Chen Linxuan <chenlinxuan@uniontech.com>
	Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
(cherry picked from commit f092229)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>
jira SECO-518
commit-author Amir Goldstein <amir73il@gmail.com>
commit 03f275a

The re-factoring of fuse_dir_open() missed the need to invalidate
directory inode page cache with open flag FOPEN_KEEP_CACHE.

Fixes: 7de64d5 ("fuse: break up fuse_open_common()")
	Reported-by: Prince Kumar <princer@google.com>
Closes: https://lore.kernel.org/linux-fsdevel/CAEW=TRr7CYb4LtsvQPLj-zx5Y+EYBmGfM24SuzwyDoGVNoKm7w@mail.gmail.com/
	Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Link: https://lore.kernel.org/r/20250101130037.96680-1-amir73il@gmail.com
	Reviewed-by: Bernd Schubert <bernd.schubert@fastmail.fm>
	Signed-off-by: Christian Brauner <brauner@kernel.org>
(cherry picked from commit 03f275a)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>
cve-pre CVE-2026-43500
commit-author David Howells <dhowells@redhat.com>
commit 1f27401
upstream-diff |
	Trace-header conflict in include/trace/events/rxrpc.h: upstream's
	patch context refers to three trace constants that don't exist in
	this kernel — rxrpc_skb_put_purge_oob, rxrpc_skb_put_response, and
	rxrpc_skb_put_response_copy. They were added by earlier upstream
	rxrpc OOB/response work not present here, plus the dirty-frag fix
	itself for response_copy. The contested constants were dropped
	from the resolution since the code that would emit them isn't in
	this tree (no rxrpc_verify_response wrapper, no OOB-purge path).
	The constants this patch's new code actually uses
	(rxrpc_skb_put_call_rx, rxrpc_skb_see_unshare_nomem) applied
	cleanly. The other four files (ar-internal.h, call_event.c,
	io_thread.c, skbuff.c) merged with no conflicts.

If skb_unshare() fails to unshare a packet due to allocation failure in
rxrpc_input_packet(), the skb pointer in the parent (rxrpc_io_thread())
will be NULL'd out.  This will likely cause the call to
trace_rxrpc_rx_done() to oops.

Fix this by moving the unsharing down to where rxrpc_input_call_event()
calls rxrpc_input_call_packet().  There are a number of places prior to
that where we ignore DATA packets for a variety of reasons (such as the
call already being complete) for which an unshare is then avoided.

And with that, rxrpc_input_packet() doesn't need to take a pointer to the
pointer to the packet, so change that to just a pointer.

Fixes: 2d1faf7 ("rxrpc: Simplify skbuff accounting in receive path")
Closes: https://sashiko.dev/#/patchset/20260408121252.2249051-1-dhowells%40redhat.com
	Signed-off-by: David Howells <dhowells@redhat.com>
	cc: Marc Dionne <marc.dionne@auristor.com>
	cc: Jeffrey Altman <jaltman@auristor.com>
	cc: Simon Horman <horms@kernel.org>
	cc: linux-afs@lists.infradead.org
	cc: stable@kernel.org
Link: https://patch.msgid.link/20260422161438.2593376-4-dhowells@redhat.com
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 1f27401)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>
cve-pre CVE-2026-43500
commit-author David Howells <dhowells@redhat.com>
commit 55b2984

Fix rxrpc_input_call_event() to only unshare DATA packets and not ACK,
ABORT, etc..

And with that, rxrpc_input_packet() doesn't need to take a pointer to the
pointer to the packet, so change that to just a pointer.

Fixes: 1f27401 ("rxrpc: Fix potential UAF after skb_unshare() failure")
Closes: https://sashiko.dev/#/patchset/20260422161438.2593376-4-dhowells@redhat.com
	Signed-off-by: David Howells <dhowells@redhat.com>
	cc: Marc Dionne <marc.dionne@auristor.com>
	cc: Jeffrey Altman <jaltman@auristor.com>
	cc: Simon Horman <horms@kernel.org>
	cc: linux-afs@lists.infradead.org
	cc: stable@kernel.org
Link: https://patch.msgid.link/20260423200909.3049438-2-dhowells@redhat.com
	Signed-off-by: Jakub Kicinski <kuba@kernel.org>
(cherry picked from commit 55b2984)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>
cve CVE-2026-43500
commit-author Hyunwoo Kim <imv4bel@gmail.com>
commit -
commit-source https://lore.kernel.org/all/af2kdW2F1gJ9U-Gg@v4bel
upstream-diff |
        The conn_event.c hunk is dropped entirely. Upstream wraps the
        conn->security->verify_response() call inside a new
        rxrpc_verify_response() function that copies non-linear skbs before
        in-place decryption. This kernel doesn't have that wrapper; the
        security op is called directly from rxrpc_process_event(), so there
        is no call site to patch. Additionally, the rxkad_verify_response()
        implementation in this tree already pulls the response and ticket
        out via skb_copy_bits() into kmalloc'd local buffers and decrypts
        those buffers (not the skb backing pages), so the RESPONSE-packet
        vector that v3 closes upstream is not reachable here. The
        call_event.c hunk applies as-is.

The DATA-packet handler in rxrpc_input_call_event() and the RESPONSE
handler in rxrpc_verify_response() copy the skb to a linear one before
calling into the security ops only when skb_cloned() is true.  An skb
that is not cloned but still carries externally-owned paged fragments
(e.g. SKBFL_SHARED_FRAG set by splice() into a UDP socket via
__ip_append_data, or a chained skb_has_frag_list()) falls through to
the in-place decryption path, which binds the frag pages directly into
the AEAD/skcipher SGL via skb_to_sgvec().

Extend the gate to also unshare when skb_has_frag_list() or
skb_has_shared_frag() is true.  This catches the splice-loopback vector
and other externally-shared frag sources while preserving the
zero-copy fast path for skbs whose frags are kernel-private (e.g. NIC
page_pool RX, GRO).  The OOM/trace handling already in place is reused.

Fixes: d0d5c0c ("rxrpc: Use skb_unshare() rather than skb_cow_data()")
	Cc: stable@vger.kernel.org
	Signed-off-by: Hyunwoo Kim <imv4bel@gmail.com>
(cherry picked from commit 544687651fe57721c5e4e76380ed8ef8fdfdc98b)
	Signed-off-by: Shreeya Patel <spatel@ciq.com>

@roxanan1996 roxanan1996 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems ok. Checked why the idpf patches were dropped, they are now in 10_2. All good.

@bmastbergen
bmastbergen self-requested a review May 22, 2026 15:45

@bmastbergen bmastbergen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥌

@PlaidCat
PlaidCat merged commit 7762a51 into rlc-10/6.12.0-211.16.1.el10_2 May 22, 2026
5 checks passed
@PlaidCat
PlaidCat deleted the jmaple_rlc-10/6.12.0-211.16.1.el10_2 branch May 22, 2026 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

6 participants