Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
9eb143d
Rebuild rocky9_8 with kernel-5.14.0-687.10.1.el9_8.0.1
PlaidCat Jun 1, 2026
2ba57de
ptrace: slightly saner 'get_dumpable()' logic
PlaidCat Jun 1, 2026
036adcb
net: skbuff: preserve shared-frag marker during coalescing
PlaidCat Jun 1, 2026
7af89e8
net: skbuff: propagate shared-frag marker through frag-transfer helpers
PlaidCat Jun 1, 2026
01dbd9c
netfilter: nf_tables: release flowtable after rcu grace period on error
PlaidCat Jun 1, 2026
cecfbe8
ice: fix missing TX timestamps interrupts on E825 devices
PlaidCat Jun 1, 2026
24f14a9
ice: fix PTP timestamping broken by SyncE code on E825C
PlaidCat Jun 1, 2026
3353437
i2c: i801: Revert "i2c: i801: replace acpi_lock with I2C bus lock"
PlaidCat Jun 1, 2026
5fac0b5
ima: don't clear IMA_DIGSIG flag when setting or removing non-IMA xattr
PlaidCat Jun 1, 2026
a6b2483
crypto: asymmetric_keys - prevent overflow in asymmetric_key_generate_id
PlaidCat Jun 1, 2026
06d0cb7
netfilter: nf_conntrack_h323: check for zero length in DecodeQ931()
PlaidCat Jun 1, 2026
5397eef
nbd: defer config unlock in nbd_genl_connect
PlaidCat Jun 1, 2026
5554a6b
drm/mgag200: fix mgag200_bmc_stop_scanout()
PlaidCat Jun 1, 2026
41c4013
ice: fix timestamp interrupt configuration for E825C
PlaidCat Jun 1, 2026
ba5484f
ice: perform PHY soft reset for E825C ports at initialization
PlaidCat Jun 1, 2026
03ab965
ice: fix ready bitmap check for non-E822 devices
PlaidCat Jun 1, 2026
fbf89d5
ice: fix ice_ptp_read_tx_hwtstamp_status_eth56g
PlaidCat Jun 1, 2026
c855fb2
cifs: make default value of retrans as zero
PlaidCat Jun 1, 2026
5cd966f
net: sched: act_csum: validate nested VLAN headers
PlaidCat Jun 1, 2026
9de7d24
netfilter: ip6t_eui64: reject invalid MAC header for all packets
PlaidCat Jun 1, 2026
51d9698
scsi: storvsc: Handle PERSISTENT_RESERVE_IN truncation for Hyper-V vFC
PlaidCat Jun 1, 2026
2d2127d
dpll: zl3073x: Add output pin frequency helper
PlaidCat Jun 1, 2026
a88399c
dpll: zl3073x: Include current frequency in supported frequencies list
PlaidCat Jun 1, 2026
0dfb173
dpll: zl3073x: Fix ref frequency setting
PlaidCat Jun 1, 2026
3ef4c89
dpll: zl3073x: fix REF_PHASE_OFFSET_COMP register width for some chip…
PlaidCat Jun 1, 2026
92969d5
dpll: zl3073x: Remove redundant cleanup in devm_dpll_init()
PlaidCat Jun 1, 2026
6ffbdfa
ice: fix NULL pointer dereference in ice_reset_all_vfs()
PlaidCat Jun 1, 2026
7f5d603
ice: fix missing SMA pin initialization in DPLL subsystem
PlaidCat Jun 1, 2026
b50042b
ice: fix SMA and U.FL pin state changes affecting paired pin
PlaidCat Jun 1, 2026
0838b60
dpll: export __dpll_pin_change_ntf() for use under dpll_lock
PlaidCat Jun 1, 2026
46ecc3f
ice: fix missing dpll notifications for SW pins
PlaidCat Jun 1, 2026
e3cb1f0
ice: add dpll peer notification for paired SMA and U.FL pins
PlaidCat Jun 1, 2026
c9a3e52
s390/pci: Avoid deadlock between PCI error recovery and mlx5 crdump
PlaidCat Jun 1, 2026
16f4c71
netfilter: nf_conntrack_helper: pass helper to expect cleanup
PlaidCat Jun 1, 2026
a69d9f4
HID: wacom: fix out-of-bounds read in wacom_intuos_bt_irq
PlaidCat Jun 1, 2026
fccb971
xfs: delete attr leaf freemap entries when empty
PlaidCat Jun 1, 2026
2101d09
xfs: fix freemap adjustments when adding xattrs to leaf blocks
PlaidCat Jun 1, 2026
7f1a957
Bluetooth: SCO: Fix use-after-free in sco_recv_frame() due to missing…
PlaidCat Jun 1, 2026
27c731c
smb: client: validate the whole DACL before rewriting it in cifsacl
PlaidCat Jun 1, 2026
0aa394c
smb: client: require a full NFS mode SID before reading mode bits
PlaidCat Jun 1, 2026
db77af6
smb: client: scope end_of_dacl to CIFS_DEBUG2 use in parse_dacl
PlaidCat Jun 1, 2026
d82eae5
smb: client: use kzalloc to zero-initialize security descriptor buffer
PlaidCat Jun 1, 2026
4aa0614
smb: client: validate dacloffset before building DACL pointers
PlaidCat Jun 1, 2026
e934d88
ice: fix infinite recursion in ice_cfg_tx_topo via ice_init_dev_hw
PlaidCat Jun 1, 2026
37fa317
mm/page_alloc: clear page->private in free_pages_prepare()
PlaidCat Jun 1, 2026
23a74c5
pNFS: fix a missing wake up while waiting on NFS_LAYOUT_DRAIN
PlaidCat Jun 1, 2026
0805784
proc: use the same treatment to check proc_lseek as ones for proc_rea…
PlaidCat Jun 1, 2026
8976795
proc: fix missing pde_set_flags() for net proc files
PlaidCat Jun 1, 2026
947fa9c
proc: fix type confusion in pde_set_flags()
PlaidCat Jun 1, 2026
33a7fab
crypto: tegra - Disable softirqs before finalizing request
PlaidCat Jun 1, 2026
4a158e3
Bluetooth: MGMT: validate LTK enc_size on load
PlaidCat Jun 1, 2026
47139b6
Bluetooth: SCO: fix race conditions in sco_sock_connect()
PlaidCat Jun 1, 2026
921e79d
wifi: brcmfmac: validate bsscfg indices in IF events
PlaidCat Jun 1, 2026
5296dcf
netfilter: xt_tcpmss: check remaining length before reading optlen
PlaidCat Jun 1, 2026
9ba753a
dm-thin: fix metadata refcount underflow
PlaidCat Jun 1, 2026
4608321
Rebuild rocky9_8 with kernel-5.14.0-687.12.1.el9_8
PlaidCat Jun 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
2 changes: 1 addition & 1 deletion Makefile.rhelver
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ RHEL_MINOR = 8
#
# Use this spot to avoid future merge conflicts.
# Do not trim this comment.
RHEL_RELEASE = 687.10.1
RHEL_RELEASE = 687.12.1

#
# ZSTREAM
Expand Down
4 changes: 2 additions & 2 deletions arch/s390/pci/pci_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev)
* is unbound or probed and that userspace can't access its
* configuration space while we perform recovery.
*/
pci_dev_lock(pdev);
device_lock(&pdev->dev);
if (pdev->error_state == pci_channel_io_perm_failure) {
ers_res = PCI_ERS_RESULT_DISCONNECT;
goto out_unlock;
Expand Down Expand Up @@ -254,7 +254,7 @@ static pci_ers_result_t zpci_event_attempt_error_recovery(struct pci_dev *pdev)
if (driver->err_handler->resume)
driver->err_handler->resume(pdev);
out_unlock:
pci_dev_unlock(pdev);
device_unlock(&pdev->dev);
zpci_report_status(zdev, "recovery", status_str);

return ers_res;
Expand Down
4 changes: 4 additions & 0 deletions arch/x86/mm/init_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include <linux/memremap.h>
#include <linux/nmi.h>
#include <linux/gfp.h>
#include <linux/iommu.h>
#include <linux/kcore.h>
#include <linux/bootmem_info.h>

Expand Down Expand Up @@ -1017,6 +1018,9 @@ static void __meminit free_pagetable(struct page *page, int order)
unsigned long magic;
unsigned int nr_pages = 1 << order;

/* Flush IOMMU paging structure caches before freeing PT page */
iommu_sva_invalidate_kva_range(PAGE_OFFSET, TLB_FLUSH_ALL);

/* bootmem page has reserved flag */
if (PageReserved(page)) {
__ClearPageReserved(page);
Expand Down
5 changes: 5 additions & 0 deletions arch/x86/mm/pat/set_memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <linux/kernel.h>
#include <linux/cc_platform.h>
#include <linux/set_memory.h>
#include <linux/iommu.h>

#include <asm/e820/api.h>
#include <asm/processor.h>
Expand Down Expand Up @@ -1204,6 +1205,8 @@ static bool try_to_free_pte_page(pte_t *pte)
if (!pte_none(pte[i]))
return false;

/* Flush IOMMU paging structure caches before freeing PT page */
iommu_sva_invalidate_kva_range(PAGE_OFFSET, TLB_FLUSH_ALL);
free_page((unsigned long)pte);
return true;
}
Expand All @@ -1216,6 +1219,8 @@ static bool try_to_free_pmd_page(pmd_t *pmd)
if (!pmd_none(pmd[i]))
return false;

/* Flush IOMMU paging structure caches before freeing PT page */
iommu_sva_invalidate_kva_range(PAGE_OFFSET, TLB_FLUSH_ALL);
free_page((unsigned long)pmd);
return true;
}
Expand Down
6 changes: 6 additions & 0 deletions arch/x86/mm/pgtable.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include <linux/mm.h>
#include <linux/gfp.h>
#include <linux/hugetlb.h>
#include <linux/iommu.h>
#include <asm/pgalloc.h>
#include <asm/tlb.h>
#include <asm/fixmap.h>
Expand Down Expand Up @@ -832,6 +833,9 @@ int pud_free_pmd_page(pud_t *pud, unsigned long addr)
/* INVLPG to clear all paging-structure caches */
flush_tlb_kernel_range(addr, addr + PAGE_SIZE-1);

/* Flush IOMMU paging structure caches before freeing PT pages */
iommu_sva_invalidate_kva_range(PAGE_OFFSET, TLB_FLUSH_ALL);

for (i = 0; i < PTRS_PER_PMD; i++) {
if (!pmd_none(pmd_sv[i])) {
pte = (pte_t *)pmd_page_vaddr(pmd_sv[i]);
Expand Down Expand Up @@ -865,6 +869,8 @@ int pmd_free_pte_page(pmd_t *pmd, unsigned long addr)
/* INVLPG to clear all paging-structure caches */
flush_tlb_kernel_range(addr, addr + PAGE_SIZE-1);

/* Flush IOMMU paging structure caches before freeing PT page */
iommu_sva_invalidate_kva_range(PAGE_OFFSET, TLB_FLUSH_ALL);
free_page((unsigned long)pte);

return 1;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Rebuild_History BUILDABLE
Rebuilding Kernel from rpm changelog with Fuzz Limit: 87.50%
Number of commits in upstream range v5.14~1..kernel-mainline: 382157
Number of commits in rpm: 1
Number of commits matched with upstream: 0 (0.00%)
Number of commits in upstream but not in rpm: 382157
Number of commits NOT found in upstream: 1 (100.00%)

Rebuilding Kernel on Branch rocky9_8_rebuild_kernel-5.14.0-687.10.1.el9_8.0.1 for kernel-5.14.0-687.10.1.el9_8.0.1
Clean Cherry Picks: 0 (0.00%)
Empty Cherry Picks: 0 (0.00%)
_______________________________

__EMPTY COMMITS__________________________

__CHANGES NOT IN UPSTREAM________________
Bump release for rebuild with updated rocky-sb-certs'
65 changes: 65 additions & 0 deletions ciq/ciq_backports/kernel-5.14.0-687.12.1.el9_8/0a8cf165.failed
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
smb: client: validate the whole DACL before rewriting it in cifsacl

jira KERNEL-1100
cve CVE-2026-31709
Rebuild_History Non-Buildable kernel-5.14.0-687.12.1.el9_8
commit-author Michael Bommarito <michael.bommarito@gmail.com>
commit 0a8cf165566ba55a39fd0f4de172119dd646d39a
Empty-Commit: Cherry-Pick Conflicts during history rebuild.
Will be included in final tarball splat. Ref for failed cherry-pick at:
ciq/ciq_backports/kernel-5.14.0-687.12.1.el9_8/0a8cf165.failed

build_sec_desc() and id_mode_to_cifs_acl() derive a DACL pointer from a
server-supplied dacloffset and then use the incoming ACL to rebuild the
chmod/chown security descriptor.

The original fix only checked that the struct smb_acl header fits before
reading dacl_ptr->size or dacl_ptr->num_aces. That avoids the immediate
header-field OOB read, but the rewrite helpers still walk ACEs based on
pdacl->num_aces with no structural validation of the incoming DACL body.

A malicious server can return a truncated DACL that still contains a
header, claims one or more ACEs, and then drive
replace_sids_and_copy_aces() or set_chmod_dacl() past the validated
extent while they compare or copy attacker-controlled ACEs.

Factor the DACL structural checks into validate_dacl(), extend them to
validate each ACE against the DACL bounds, and use the shared validator
before the chmod/chown rebuild paths. parse_dacl() reuses the same
validator so the read-side parser and write-side rewrite paths agree on
what constitutes a well-formed incoming DACL.

Fixes: bc3e9dd9d104 ("cifs: Change SIDs in ACEs while transferring file ownership.")
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-4-6
Assisted-by: Codex:gpt-5-4
Signed-off-by: Michael Bommarito <michael.bommarito@gmail.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
(cherry picked from commit 0a8cf165566ba55a39fd0f4de172119dd646d39a)
Signed-off-by: Jonathan Maple <jmaple@ciq.com>

# Conflicts:
# fs/smb/client/cifsacl.c
diff --cc fs/smb/client/cifsacl.c
index 345d788b1cb2,cb4060ba5e31..000000000000
--- a/fs/smb/client/cifsacl.c
+++ b/fs/smb/client/cifsacl.c
@@@ -799,13 -868,7 +867,17 @@@ static void parse_dacl(struct smb_acl *
if (num_aces > 0) {
umode_t denied_mode = 0;

++<<<<<<< HEAD
+ if (num_aces > (le16_to_cpu(pdacl->size) - sizeof(struct smb_acl)) /
+ (offsetof(struct smb_ace, sid) +
+ offsetof(struct smb_sid, sub_auth) + sizeof(__le16)))
+ return;
+
+ ppace = kmalloc_array(num_aces, sizeof(struct smb_ace *),
+ GFP_KERNEL);
++=======
+ ppace = kmalloc_objs(struct smb_ace *, num_aces);
++>>>>>>> 0a8cf165566b (smb: client: validate the whole DACL before rewriting it in cifsacl)
if (!ppace)
return;

* Unmerged path fs/smb/client/cifsacl.c
65 changes: 65 additions & 0 deletions ciq/ciq_backports/kernel-5.14.0-687.12.1.el9_8/31e62c2e.failed
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
ptrace: slightly saner 'get_dumpable()' logic

jira KERNEL-1100
cve CVE-2026-46333
Rebuild_History Non-Buildable kernel-5.14.0-687.12.1.el9_8
commit-author Linus Torvalds <torvalds@linux-foundation.org>
commit 31e62c2ebbfdc3fe3dbdf5e02c92a9dc67087a3a
Empty-Commit: Cherry-Pick Conflicts during history rebuild.
Will be included in final tarball splat. Ref for failed cherry-pick at:
ciq/ciq_backports/kernel-5.14.0-687.12.1.el9_8/31e62c2e.failed

The 'dumpability' of a task is fundamentally about the memory image of
the task - the concept comes from whether it can core dump or not - and
makes no sense when you don't have an associated mm.

And almost all users do in fact use it only for the case where the task
has a mm pointer.

But we have one odd special case: ptrace_may_access() uses 'dumpable' to
check various other things entirely independently of the MM (typically
explicitly using flags like PTRACE_MODE_READ_FSCREDS). Including for
threads that no longer have a VM (and maybe never did, like most kernel
threads).

It's not what this flag was designed for, but it is what it is.

The ptrace code does check that the uid/gid matches, so you do have to
be uid-0 to see kernel thread details, but this means that the
traditional "drop capabilities" model doesn't make any difference for
this all.

Make it all make a *bit* more sense by saying that if you don't have a
MM pointer, we'll use a cached "last dumpability" flag if the thread
ever had a MM (it will be zero for kernel threads since it is never
set), and require a proper CAP_SYS_PTRACE capability to override.

Reported-by: Qualys Security Advisory <qsa@qualys.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Kees Cook <kees@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit 31e62c2ebbfdc3fe3dbdf5e02c92a9dc67087a3a)
Signed-off-by: Jonathan Maple <jmaple@ciq.com>

# Conflicts:
# include/linux/sched.h
diff --cc include/linux/sched.h
index 0ecc26623bf8,ee06cba5c6f5..000000000000
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@@ -962,7 -1002,10 +962,14 @@@ struct task_struct
unsigned sched_rt_mutex:1;
#endif

++<<<<<<< HEAD
+ /* Bit to tell LSMs we're in execve(): */
++=======
+ /* Save user-dumpable when mm goes away */
+ unsigned user_dumpable:1;
+
+ /* Bit to tell TOMOYO we're in execve(): */
++>>>>>>> 31e62c2ebbfd (ptrace: slightly saner 'get_dumpable()' logic)
unsigned in_execve:1;
unsigned in_iowait:1;
#ifndef TIF_RESTORE_SIGMASK
* Unmerged path include/linux/sched.h
Loading
Loading