kernel-5.14.0-687.53.1.el9_8
エラータID: AXSA:2026-2240:115
The kernel packages contain the Linux kernel, the core of any Linux operating system.
Security Fix(es):
* kernel: ext4: fix e4b bitmap inconsistency reports (CVE-2026-45942)
* kernel: RDMA/rxe: Fix iova-to-va conversion for MR page sizes != PAGE_SIZE (CVE-2026-46325)
* kernel: crypto: af_alg - Cap AEAD AD length to 0x80000000 (CVE-2026-52972)
* kernel: fhandle: fix UAF due to unlocked ->mnt_ns read in may_decode_fh() (CVE-2026-53341)
* kernel: arm64: tlb: Flush walk cache when unsharing PMD tables (CVE-2026-63875)
* kernel: RDMA/siw: Reject MPA FPDU length underflow before signed receive math (CVE-2026-64102)
* kernel: perf/core: Detach event groups during remove_on_exec (CVE-2026-64556)
* kernel: crypto: tegra - fix rctx->cryptlen calculation in tegra_gcm_do_one_req() (CVE-2026-80522)
* kernel: perf: Reject exited events as group leaders (CVE-2026-74753)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
CVE-2026-45942
In the Linux kernel, the following vulnerability has been resolved: ext4: fix e4b bitmap inconsistency reports A bitmap inconsistency issue was observed during stress tests under mixed huge-page workloads. Ext4 reported multiple e4b bitmap check failures like: ext4_mb_complex_scan_group:2508: group 350, 8179 free clusters as per group info. But got 8192 blocks Analysis and experimentation confirmed that the issue is caused by a race condition between page migration and bitmap modification. Although this timing window is extremely narrow, it is still hit in practice: folio_lock ext4_mb_load_buddy __migrate_folio check ref count folio_mc_copy __filemap_get_folio folio_try_get(folio) ...... mb_mark_used ext4_mb_unload_buddy __folio_migrate_mapping folio_ref_freeze folio_unlock The root cause of this issue is that the fast path of load_buddy only increments the folio's reference count, which is insufficient to prevent concurrent folio migration. We observed that the folio migration process acquires the folio lock. Therefore, we can determine whether to take the fast path in load_buddy by checking the lock status. If the folio is locked, we opt for the slow path (which acquires the lock) to close this concurrency window. Additionally, this change addresses the following issues: When the DOUBLE_CHECK macro is enabled to inspect bitmap-related issues, the following error may be triggered: corruption in group 324 at byte 784(6272): f in copy != ff on disk/prealloc Analysis reveals that this is a false positive. There is a specific race window where the bitmap and the group descriptor become momentarily inconsistent, leading to this error report: ext4_mb_load_buddy ext4_mb_load_buddy __filemap_get_folio(create|lock) folio_lock ext4_mb_init_cache folio_mark_uptodate __filemap_get_folio(no lock) ...... mb_mark_used mb_mark_used_double mb_cmp_bitmaps mb_set_bits(e4b->bd_bitmap) folio_unlock The original logic assumed that since mb_cmp_bitmaps is called when the bitmap is newly loaded from disk, the folio lock would be sufficient to prevent concurrent access. However, this overlooks a specific race condition: if another process attempts to load buddy and finds the folio is already in an uptodate state, it will immediately begin using it without holding folio lock.
CVE-2026-46325
In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix iova-to-va conversion for MR page sizes != PAGE_SIZE The current implementation incorrectly handles memory regions (MRs) with page sizes different from the system PAGE_SIZE. The core issue is that rxe_set_page() is called with mr->page_size step increments, but the page_list stores individual struct page pointers, each representing PAGE_SIZE of memory. ib_sg_to_page() has ensured that when i>=1 either a) SG[i-1].dma_end and SG[i].dma_addr are contiguous or b) SG[i-1].dma_end and SG[i].dma_addr are mr->page_size aligned. This leads to incorrect iova-to-va conversion in scenarios: 1) page_size < PAGE_SIZE (e.g., MR: 4K, system: 64K): ibmr->iova = 0x181800 sg[0]: dma_addr=0x181800, len=0x800 sg[1]: dma_addr=0x173000, len=0x1000 Access iova = 0x181800 + 0x810 = 0x182010 Expected VA: 0x173010 (second SG, offset 0x10) Before fix: - index = (0x182010 >> 12) - (0x181800 >> 12) = 1 - page_offset = 0x182010 & 0xFFF = 0x10 - xarray[1] stores system page base 0x170000 - Resulting VA: 0x170000 + 0x10 = 0x170010 (wrong) 2) page_size > PAGE_SIZE (e.g., MR: 64K, system: 4K): ibmr->iova = 0x18f800 sg[0]: dma_addr=0x18f800, len=0x800 sg[1]: dma_addr=0x170000, len=0x1000 Access iova = 0x18f800 + 0x810 = 0x190010 Expected VA: 0x170010 (second SG, offset 0x10) Before fix: - index = (0x190010 >> 16) - (0x18f800 >> 16) = 1 - page_offset = 0x190010 & 0xFFFF = 0x10 - xarray[1] stores system page for dma_addr 0x170000 - Resulting VA: system page of 0x170000 + 0x10 = 0x170010 (wrong) Yi Zhang reported a kernel panic[1] years ago related to this defect. Solution: 1. Replace xarray with pre-allocated rxe_mr_page array for sequential indexing (all MR page indices are contiguous) 2. Each rxe_mr_page stores both struct page* and offset within the system page 3. Handle MR page_size != PAGE_SIZE relationships: - page_size > PAGE_SIZE: Split MR pages into multiple system pages - page_size <= PAGE_SIZE: Store offset within system page 4. Add boundary checks and compatibility validation This ensures correct iova-to-va conversion regardless of MR page size and system PAGE_SIZE relationship, while improving performance through array-based sequential access. Tests on 4K and 64K PAGE_SIZE hosts: - rdma-core/pytests $ ./build/bin/run_tests.py --dev eth0_rxe - blktest: $ TIMEOUT=30 QUICK_RUN=1 USE_RXE=1 NVMET_TRTYPES=rdma ./check nvme srp rnbd [1] https://lore.kernel.org/all/CAHj4cs9XRqE25jyVw9rj9YugffLn5+f=1znaBEnu1usLOciD+g@mail.gmail.com/T/
CVE-2026-52972
In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Cap AEAD AD length to 0x80000000 In order to prevent arithmetic overflows when checking the TX buffer size, cap the associated data length to 0x80000000.
CVE-2026-53341
In the Linux kernel, the following vulnerability has been resolved: fhandle: fix UAF due to unlocked ->mnt_ns read in may_decode_fh() may_decode_fh() accesses mount::mnt_ns without holding any locks; that means the mount can concurrently be unmounted, and the mnt_namespace can concurrently be freed after an RCU grace period. This race can happens as follows, assuming that the mount point was created by open_tree(..., OPEN_TREE_CLONE): thread 1 thread 2 RCU __do_sys_open_by_handle_at do_handle_open handle_to_path may_decode_fh is_mounted [mount::mnt_ns access] [mount::mnt_ns access] __do_sys_close fput_close_sync __fput dissolve_on_fput umount_tree class_namespace_excl_destructor namespace_unlock free_mnt_ns mnt_ns_tree_remove call_rcu(mnt_ns_release_rcu) mnt_ns_release_rcu mnt_ns_release kfree [mnt_namespace::user_ns access] **UAF** Fix it by taking rcu_read_lock() around the mount::mnt_ns access, like in __prepend_path(). Additionally, document the semantics of mount::mnt_ns, and use WRITE_ONCE() for writers that can race with lockless readers. This bug is unreachable unless one of the following is set: - CONFIG_PREEMPTION - CONFIG_RCU_STRICT_GRACE_PERIOD because it requires an RCU grace period to happen during a syscall without an explicit preemption. This doesn't seem to have interesting security impact; worst-case, it could leak the result of an integer comparison to userspace (from the level check in cap_capable()), cause an endless loop, or crash the kernel by dereferencing an invalid address.
CVE-2026-63875
In the Linux kernel, the following vulnerability has been resolved: arm64: tlb: Flush walk cache when unsharing PMD tables When huge_pmd_unshare() is called to unshare a PMD table, the tlb_unshare_pmd_ptdesc() function sets tlb->unshared_tables=true but the aarch64 tlb_flush() only checked tlb->freed_tables to determine whether to use TLBF_NONE (vae1is, invalidates walk cache) or TLBF_NOWALKCACHE (vale1is, leaf-only). This caused the stale PMD page table entry to remain in the walk cache after unshare, potentially leading to incorrect page table walks. Fix by including unshared_tables in the check, so that when unsharing tables, TLBF_NONE is used and the walk cache is properly invalidated. Here is the detailed distinction between vae1is and vale1is: | Instruction Combination | Actual Invalidation Scope | | ------------------------ | --------------------------------------------------| | `VAE1IS` + TTL=`0` | All entries at all levels (full invalidation) | | `VAE1IS` + TTL=`2` (L2) | Non-leaf at Level 0/1 + leaf at Level 2 | | `VALE1IS` + TTL=`0` | Leaf entries at all levels (non-leaf not cleared) | | `VALE1IS` + TTL=`2` (L2) | Leaf entry at Level 2 only |
CVE-2026-64102
In the Linux kernel, the following vulnerability has been resolved: RDMA/siw: Reject MPA FPDU length underflow before signed receive math A malicious connected siw peer can send an iWARP FPDU whose MPA length field (c_hdr->mpa_len, 16 bit big-endian, peer-controlled) is smaller than the fixed DDP/RDMAP header for the announced opcode. Soft-iWARP parses the full header in siw_get_hdr() based on iwarp_pktinfo[opcode] .hdr_len, but never compares mpa_len against that header length. siw_tcp_rx_data() then derives srx->fpdu_part_rem = be16_to_cpu(mpa_len) - fpdu_part_rcvd + MPA_HDR_SIZE; where fpdu_part_rcvd equals iwarp_pktinfo[opcode].hdr_len at this point. For a tagged WRITE (hdr_len 16, MPA_HDR_SIZE 2) the smallest on-wire mpa_len of 0 yields fpdu_part_rem = -14, and any mpa_len below hdr_len - MPA_HDR_SIZE underflows to a negative int. The signed value then flows into siw_proc_write()/siw_proc_rresp() as bytes = min(srx->fpdu_part_rem, srx->skb_new); is handed to siw_check_mem() as an int len (whose interval check addr + len > mem->va + mem->len is satisfied for a valid base when len is negative), and reaches siw_rx_data() -> siw_rx_kva() / siw_rx_umem() -> skb_copy_bits() as a signed copy length. The header copy branch in skb_copy_bits() promotes that to size_t, producing a multi-gigabyte read. KASAN under a KUnit harness that drives the real kernel TCP receive path -- a loopback AF_INET socketpair, the malformed FPDU written via kernel_sendmsg, sk_data_ready firing in softirq, tcp_read_sock dispatching to siw_tcp_rx_data -- reports: BUG: KASAN: use-after-free in skb_copy_bits+0x284/0x480 Read of size 4294967295 at addr ffff888... Call Trace: skb_copy_bits siw_rx_kva siw_rx_data siw_check_mem siw_proc_write siw_tcp_rx_data __tcp_read_sock siw_qp_llp_data_ready tcp_data_ready tcp_data_queue Add the missing invariant at the earliest point where the peer header is fully assembled. iwarp_pktinfo[*].hdr_len - MPA_HDR_SIZE is exactly the value the siw transmitter uses as the minimum mpa_len for each opcode (drivers/infiniband/sw/siw/siw_qp.c:33), so this matches the protocol contract. Out-of-range FPDUs terminate the connection with TERM_ERROR_LAYER_LLP / LLP_ETYPE_MPA / LLP_ECODE_FPDU_START -- which is RFC 5044 Section 8 error code 3 ("Marker and ULPDU Length fields do not agree on the start of an FPDU"), the correct framing-error class for this inconsistency.
CVE-2026-64556
In the Linux kernel, the following vulnerability has been resolved: perf/core: Detach event groups during remove_on_exec perf_event_remove_on_exec() removes events by calling perf_event_exit_event(). For top-level events, this removes the event from the context with DETACH_EXIT only. This can leave inconsistent group state when a removed event is a group leader and the group contains siblings without remove_on_exec. If the group was active, the surviving siblings can remain active and attached to the removed leader's sibling list, but are no longer represented by a valid group leader on the PMU context active lists. A later close of the removed leader uses DETACH_GROUP and can promote the still-active siblings from this stale group state. The next schedule-in can then add an already-linked active_list entry again, corrupting the PMU context active list. With DEBUG_LIST enabled, this is caught as a list_add double-add in merge_sched_in(). Fix this by detaching group relationships when remove_on_exec removes an event. This preserves the existing task-exit and revoke behavior, while ensuring surviving siblings are ungrouped before the removed event leaves the context.
CVE-2026-74753
In the Linux kernel, the following vulnerability has been resolved: perf: Reject exited events as group leaders perf_event_remove_on_exec() sets remove-on-exec events to the EXIT state and detaches their group relationships. The event's file descriptor can remain open, however, and perf_event_open() currently accepts that event as a group leader because its early validation rejects only REVOKED and DEAD events. A new sibling can consequently be linked to the detached leader. When the leader is closed, perf_group_detach() observes that its PERF_ATTACH_GROUP bit is already clear and skips the new sibling. The sibling then retains a group_leader pointer to the freed event. Reject group leaders in the EXIT state. Perform the check while holding the shared context mutex so that an exec in the target task cannot detach the leader between validation and group attachment. [peterz: make the earlier test fully consistent]
CVE-2026-80522
In the Linux kernel, the following vulnerability has been resolved: crypto: tegra - fix rctx->cryptlen calculation in tegra_gcm_do_one_req() Perform rctx->cryptlen calculation in tegra_gcm_do_one_req() the same way it is done in tegra_ccm_crypt_init(). The current formulae may lead to a crash if a caller does not call tegra_gcm_setauthsize() and so ctx->authsize remains zero. Then a decrypt operation with incorrect rctx->cryptlen will lead to a write beyound rctx->dst_sg buffer. As a follow-up cleanup delete struct tegra_aead_ctx->authsize field since it appears to be completely unused. Also simplify tegra_ccm_setauthsize() and tegra_gcm_setauthsize() functions respectively.
Update packages.
In the Linux kernel, the following vulnerability has been resolved: ext4: fix e4b bitmap inconsistency reports A bitmap inconsistency issue was observed during stress tests under mixed huge-page workloads. Ext4 reported multiple e4b bitmap check failures like: ext4_mb_complex_scan_group:2508: group 350, 8179 free clusters as per group info. But got 8192 blocks Analysis and experimentation confirmed that the issue is caused by a race condition between page migration and bitmap modification. Although this timing window is extremely narrow, it is still hit in practice: folio_lock ext4_mb_load_buddy __migrate_folio check ref count folio_mc_copy __filemap_get_folio folio_try_get(folio) ...... mb_mark_used ext4_mb_unload_buddy __folio_migrate_mapping folio_ref_freeze folio_unlock The root cause of this issue is that the fast path of load_buddy only increments the folio's reference count, which is insufficient to prevent concurrent folio migration. We observed that the folio migration process acquires the folio lock. Therefore, we can determine whether to take the fast path in load_buddy by checking the lock status. If the folio is locked, we opt for the slow path (which acquires the lock) to close this concurrency window. Additionally, this change addresses the following issues: When the DOUBLE_CHECK macro is enabled to inspect bitmap-related issues, the following error may be triggered: corruption in group 324 at byte 784(6272): f in copy != ff on disk/prealloc Analysis reveals that this is a false positive. There is a specific race window where the bitmap and the group descriptor become momentarily inconsistent, leading to this error report: ext4_mb_load_buddy ext4_mb_load_buddy __filemap_get_folio(create|lock) folio_lock ext4_mb_init_cache folio_mark_uptodate __filemap_get_folio(no lock) ...... mb_mark_used mb_mark_used_double mb_cmp_bitmaps mb_set_bits(e4b->bd_bitmap) folio_unlock The original logic assumed that since mb_cmp_bitmaps is called when the bitmap is newly loaded from disk, the folio lock would be sufficient to prevent concurrent access. However, this overlooks a specific race condition: if another process attempts to load buddy and finds the folio is already in an uptodate state, it will immediately begin using it without holding folio lock.
In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix iova-to-va conversion for MR page sizes != PAGE_SIZE The current implementation incorrectly handles memory regions (MRs) with page sizes different from the system PAGE_SIZE. The core issue is that rxe_set_page() is called with mr->page_size step increments, but the page_list stores individual struct page pointers, each representing PAGE_SIZE of memory. ib_sg_to_page() has ensured that when i>=1 either a) SG[i-1].dma_end and SG[i].dma_addr are contiguous or b) SG[i-1].dma_end and SG[i].dma_addr are mr->page_size aligned. This leads to incorrect iova-to-va conversion in scenarios: 1) page_size < PAGE_SIZE (e.g., MR: 4K, system: 64K): ibmr->iova = 0x181800 sg[0]: dma_addr=0x181800, len=0x800 sg[1]: dma_addr=0x173000, len=0x1000 Access iova = 0x181800 + 0x810 = 0x182010 Expected VA: 0x173010 (second SG, offset 0x10) Before fix: - index = (0x182010 >> 12) - (0x181800 >> 12) = 1 - page_offset = 0x182010 & 0xFFF = 0x10 - xarray[1] stores system page base 0x170000 - Resulting VA: 0x170000 + 0x10 = 0x170010 (wrong) 2) page_size > PAGE_SIZE (e.g., MR: 64K, system: 4K): ibmr->iova = 0x18f800 sg[0]: dma_addr=0x18f800, len=0x800 sg[1]: dma_addr=0x170000, len=0x1000 Access iova = 0x18f800 + 0x810 = 0x190010 Expected VA: 0x170010 (second SG, offset 0x10) Before fix: - index = (0x190010 >> 16) - (0x18f800 >> 16) = 1 - page_offset = 0x190010 & 0xFFFF = 0x10 - xarray[1] stores system page for dma_addr 0x170000 - Resulting VA: system page of 0x170000 + 0x10 = 0x170010 (wrong) Yi Zhang reported a kernel panic[1] years ago related to this defect. Solution: 1. Replace xarray with pre-allocated rxe_mr_page array for sequential indexing (all MR page indices are contiguous) 2. Each rxe_mr_page stores both struct page* and offset within the system page 3. Handle MR page_size != PAGE_SIZE relationships: - page_size > PAGE_SIZE: Split MR pages into multiple system pages - page_size <= PAGE_SIZE: Store offset within system page 4. Add boundary checks and compatibility validation This ensures correct iova-to-va conversion regardless of MR page size and system PAGE_SIZE relationship, while improving performance through array-based sequential access. Tests on 4K and 64K PAGE_SIZE hosts: - rdma-core/pytests $ ./build/bin/run_tests.py --dev eth0_rxe - blktest: $ TIMEOUT=30 QUICK_RUN=1 USE_RXE=1 NVMET_TRTYPES=rdma ./check nvme srp rnbd [1] https://lore.kernel.org/all/CAHj4cs9XRqE25jyVw9rj9YugffLn5+f=1znaBEnu1usLOciD+g@mail.gmail.com/T/
In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Cap AEAD AD length to 0x80000000 In order to prevent arithmetic overflows when checking the TX buffer size, cap the associated data length to 0x80000000.
In the Linux kernel, the following vulnerability has been resolved: fhandle: fix UAF due to unlocked ->mnt_ns read in may_decode_fh() may_decode_fh() accesses mount::mnt_ns without holding any locks; that means the mount can concurrently be unmounted, and the mnt_namespace can concurrently be freed after an RCU grace period. This race can happens as follows, assuming that the mount point was created by open_tree(..., OPEN_TREE_CLONE): thread 1 thread 2 RCU __do_sys_open_by_handle_at do_handle_open handle_to_path may_decode_fh is_mounted [mount::mnt_ns access] [mount::mnt_ns access] __do_sys_close fput_close_sync __fput dissolve_on_fput umount_tree class_namespace_excl_destructor namespace_unlock free_mnt_ns mnt_ns_tree_remove call_rcu(mnt_ns_release_rcu) mnt_ns_release_rcu mnt_ns_release kfree [mnt_namespace::user_ns access] **UAF** Fix it by taking rcu_read_lock() around the mount::mnt_ns access, like in __prepend_path(). Additionally, document the semantics of mount::mnt_ns, and use WRITE_ONCE() for writers that can race with lockless readers. This bug is unreachable unless one of the following is set: - CONFIG_PREEMPTION - CONFIG_RCU_STRICT_GRACE_PERIOD because it requires an RCU grace period to happen during a syscall without an explicit preemption. This doesn't seem to have interesting security impact; worst-case, it could leak the result of an integer comparison to userspace (from the level check in cap_capable()), cause an endless loop, or crash the kernel by dereferencing an invalid address.
In the Linux kernel, the following vulnerability has been resolved: arm64: tlb: Flush walk cache when unsharing PMD tables When huge_pmd_unshare() is called to unshare a PMD table, the tlb_unshare_pmd_ptdesc() function sets tlb->unshared_tables=true but the aarch64 tlb_flush() only checked tlb->freed_tables to determine whether to use TLBF_NONE (vae1is, invalidates walk cache) or TLBF_NOWALKCACHE (vale1is, leaf-only). This caused the stale PMD page table entry to remain in the walk cache after unshare, potentially leading to incorrect page table walks. Fix by including unshared_tables in the check, so that when unsharing tables, TLBF_NONE is used and the walk cache is properly invalidated. Here is the detailed distinction between vae1is and vale1is: | Instruction Combination | Actual Invalidation Scope | | ------------------------ | --------------------------------------------------| | `VAE1IS` + TTL=`0` | All entries at all levels (full invalidation) | | `VAE1IS` + TTL=`2` (L2) | Non-leaf at Level 0/1 + leaf at Level 2 | | `VALE1IS` + TTL=`0` | Leaf entries at all levels (non-leaf not cleared) | | `VALE1IS` + TTL=`2` (L2) | Leaf entry at Level 2 only |
In the Linux kernel, the following vulnerability has been resolved: RDMA/siw: Reject MPA FPDU length underflow before signed receive math A malicious connected siw peer can send an iWARP FPDU whose MPA length field (c_hdr->mpa_len, 16 bit big-endian, peer-controlled) is smaller than the fixed DDP/RDMAP header for the announced opcode. Soft-iWARP parses the full header in siw_get_hdr() based on iwarp_pktinfo[opcode] .hdr_len, but never compares mpa_len against that header length. siw_tcp_rx_data() then derives srx->fpdu_part_rem = be16_to_cpu(mpa_len) - fpdu_part_rcvd + MPA_HDR_SIZE; where fpdu_part_rcvd equals iwarp_pktinfo[opcode].hdr_len at this point. For a tagged WRITE (hdr_len 16, MPA_HDR_SIZE 2) the smallest on-wire mpa_len of 0 yields fpdu_part_rem = -14, and any mpa_len below hdr_len - MPA_HDR_SIZE underflows to a negative int. The signed value then flows into siw_proc_write()/siw_proc_rresp() as bytes = min(srx->fpdu_part_rem, srx->skb_new); is handed to siw_check_mem() as an int len (whose interval check addr + len > mem->va + mem->len is satisfied for a valid base when len is negative), and reaches siw_rx_data() -> siw_rx_kva() / siw_rx_umem() -> skb_copy_bits() as a signed copy length. The header copy branch in skb_copy_bits() promotes that to size_t, producing a multi-gigabyte read. KASAN under a KUnit harness that drives the real kernel TCP receive path -- a loopback AF_INET socketpair, the malformed FPDU written via kernel_sendmsg, sk_data_ready firing in softirq, tcp_read_sock dispatching to siw_tcp_rx_data -- reports: BUG: KASAN: use-after-free in skb_copy_bits+0x284/0x480 Read of size 4294967295 at addr ffff888... Call Trace: skb_copy_bits siw_rx_kva siw_rx_data siw_check_mem siw_proc_write siw_tcp_rx_data __tcp_read_sock siw_qp_llp_data_ready tcp_data_ready tcp_data_queue Add the missing invariant at the earliest point where the peer header is fully assembled. iwarp_pktinfo[*].hdr_len - MPA_HDR_SIZE is exactly the value the siw transmitter uses as the minimum mpa_len for each opcode (drivers/infiniband/sw/siw/siw_qp.c:33), so this matches the protocol contract. Out-of-range FPDUs terminate the connection with TERM_ERROR_LAYER_LLP / LLP_ETYPE_MPA / LLP_ECODE_FPDU_START -- which is RFC 5044 Section 8 error code 3 ("Marker and ULPDU Length fields do not agree on the start of an FPDU"), the correct framing-error class for this inconsistency.
In the Linux kernel, the following vulnerability has been resolved: perf/core: Detach event groups during remove_on_exec perf_event_remove_on_exec() removes events by calling perf_event_exit_event(). For top-level events, this removes the event from the context with DETACH_EXIT only. This can leave inconsistent group state when a removed event is a group leader and the group contains siblings without remove_on_exec. If the group was active, the surviving siblings can remain active and attached to the removed leader's sibling list, but are no longer represented by a valid group leader on the PMU context active lists. A later close of the removed leader uses DETACH_GROUP and can promote the still-active siblings from this stale group state. The next schedule-in can then add an already-linked active_list entry again, corrupting the PMU context active list. With DEBUG_LIST enabled, this is caught as a list_add double-add in merge_sched_in(). Fix this by detaching group relationships when remove_on_exec removes an event. This preserves the existing task-exit and revoke behavior, while ensuring surviving siblings are ungrouped before the removed event leaves the context.
In the Linux kernel, the following vulnerability has been resolved: perf: Reject exited events as group leaders perf_event_remove_on_exec() sets remove-on-exec events to the EXIT state and detaches their group relationships. The event's file descriptor can remain open, however, and perf_event_open() currently accepts that event as a group leader because its early validation rejects only REVOKED and DEAD events. A new sibling can consequently be linked to the detached leader. When the leader is closed, perf_group_detach() observes that its PERF_ATTACH_GROUP bit is already clear and skips the new sibling. The sibling then retains a group_leader pointer to the freed event. Reject group leaders in the EXIT state. Perform the check while holding the shared context mutex so that an exec in the target task cannot detach the leader between validation and group attachment. [peterz: make the earlier test fully consistent]
In the Linux kernel, the following vulnerability has been resolved: crypto: tegra - fix rctx->cryptlen calculation in tegra_gcm_do_one_req() Perform rctx->cryptlen calculation in tegra_gcm_do_one_req() the same way it is done in tegra_ccm_crypt_init(). The current formulae may lead to a crash if a caller does not call tegra_gcm_setauthsize() and so ctx->authsize remains zero. Then a decrypt operation with incorrect rctx->cryptlen will lead to a write beyound rctx->dst_sg buffer. As a follow-up cleanup delete struct tegra_aead_ctx->authsize field since it appears to be completely unused. Also simplify tegra_ccm_setauthsize() and tegra_gcm_setauthsize() functions respectively.
N/A
SRPMS
- kernel-5.14.0-687.53.1.el9_8.src.rpm
MD5: 42435746e678b1043bcd793ba4c572d4
SHA-256: a57afe1beaccc9eeeb8b6a7f360c6dbc825f4e0b084431b8e0bbac94ab15d9d1
Size: 145.56 MB
Asianux Server 9 for x86_64
- kernel-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 68bada7f623a0edc9ad0bfeeb8a7f752
SHA-256: cd39e2f4edd4584c1903a2df3a71f3036d5ff8e8cb27cabdca4df8c530717b49
Size: 1.03 MB - kernel-abi-stablelists-5.14.0-687.53.1.el9_8.noarch.rpm
MD5: 9ec22e13003a9f6e2d450f9901f3aceb
SHA-256: ce0a2ef04869a657c95075b54c40de3bb7a8556101aaff9cc9e7296428018622
Size: 1.06 MB - kernel-core-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 1e558338f2f0e60755975bde969f81c4
SHA-256: 68cae48b35805c547f7317d3e94a4e59fb33fb40fb13dfa9632d6d1fdeff6f66
Size: 17.35 MB - kernel-cross-headers-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: ac8404e54f370f323872cc2aab1b83d8
SHA-256: 5b932b071ab90c61c466e992fb3a99d61bad1ac28f0b64f1721252f97c904dd5
Size: 8.09 MB - kernel-debug-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: c4707565b4b0a0f0b5627d6cff933069
SHA-256: 1a183fab8d451a5c949314bcddcc0bb9343dd1a061a571ddbbbdce118faf34cb
Size: 1.03 MB - kernel-debug-core-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: ca116955c3b1581c0b3b0da19267632f
SHA-256: 9d16949070896f3829c1c70172fb05173e0caf11088d75c01fd44412a672dad5
Size: 31.22 MB - kernel-debug-devel-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 437a7e7b37e285b9dd1b120e2e1e41bf
SHA-256: 9c931f926d420c0ba5d9781d8d84853d21ffe1ae007e6fb137fc9bb18d3f2129
Size: 21.45 MB - kernel-debug-devel-matched-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: d9bdffcb7663b431b1033ea012f4be3f
SHA-256: 7760db8ec2f4801c538809296227793e6d240ceb34d5fc9afbb06237a323b73e
Size: 1.03 MB - kernel-debug-modules-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: dd76d51971f224a0c7691dc86c9cd948
SHA-256: 5a83a75a5afc689239be56389ce13853eea1e5cc1b5be1eddb7f2df9e543104d
Size: 70.21 MB - kernel-debug-modules-core-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: b4a5b0d2b4f20b03f48450673c8bfd8e
SHA-256: 2c9d59eebaeadee9ab0c0520785c13e6c51f65eba212586e4bc6fea05d7558b9
Size: 49.93 MB - kernel-debug-modules-extra-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 7439379ffc1ca7f90b13e015e100d8e5
SHA-256: 266609a593a8d7819ca51935f3fd5a90f7dbdbf64094eee1695989ea38e87e1e
Size: 1.83 MB - kernel-debug-uki-virt-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: e0052402662bd8637341146effdbc82d
SHA-256: 9bf983ae2d0f752c06fa142baaf318418c4aa84f3d4dad25f3f850b044822287
Size: 88.18 MB - kernel-devel-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 4447836d12d7e70bd1bb25243f94f5e2
SHA-256: c8b3070638c1486eacdcf5486a9ad7d2d3ec38e976eab9e892a5aba1d29e74f1
Size: 21.26 MB - kernel-devel-matched-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 06ced5fdb339f501bf5837a2bec10de9
SHA-256: 17c51706635d249d267c9b8ffd356b5305aad1461478245b8b23a15e42e9ac84
Size: 1.03 MB - kernel-doc-5.14.0-687.53.1.el9_8.noarch.rpm
MD5: 920581dc420d9dd77e83e317175c24ba
SHA-256: 741eb7632215b6b449e315350127fc604ec835c4d9abda244d9f33c534fcdef5
Size: 39.04 MB - kernel-headers-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 77e48ee5247a382c76d7a65e652e5cff
SHA-256: 493a80e3e95d95f4476f7115931e262ac012683119c227a0deaace75bd34fa22
Size: 2.82 MB - kernel-modules-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 2142765cb2cba5552004d6130b3047a7
SHA-256: 3d22922a69d6c73624f8e5d9064a9902ad7a8cc87e44378c5a6ef372c2bf4105
Size: 40.02 MB - kernel-modules-core-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 0b54e88f17d2617ee6330d3e80217c8a
SHA-256: d91daddd23da394dc2d42e6ef93248ed6a1b7a3cc12a1335603fc243533517cf
Size: 31.09 MB - kernel-modules-extra-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: d51a1d458d44a745ecb982488cfe5fea
SHA-256: bca2ad873a831f8ffb4e148d992d733f1f9d6666f8c061f8e802656f4cb11f8b
Size: 1.47 MB - kernel-rt-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 3b88417f2104b5d5104a234e87071808
SHA-256: d5bade58323641acd019ef59a7189df2d442b3ba2e26dba8ca5408aef2984cad
Size: 1.03 MB - kernel-rt-core-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: f0d7058e95fe92f350aa84e808f2186b
SHA-256: 191acb66948093068a4a622fbec8ee83ad1ea20a6567abcdd6fa8ab6ab1014be
Size: 17.26 MB - kernel-rt-debug-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 747d195e6568f04e5d1cd0875871b408
SHA-256: 0518fde20494b9dc02db49fa8a27cbd7ef614c47e13636dd750005f005ae67ff
Size: 1.03 MB - kernel-rt-debug-core-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 4426d53654373dbaa158b20ba92950ff
SHA-256: 1cab2b58cbf3eb48dfee9a410098ba8ac3e091d362deab6d3ee682eca93c74fb
Size: 18.71 MB - kernel-rt-debug-devel-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: fe0b9973cd5935e048030a11a2117fd4
SHA-256: 4153bebee21003a505cd9c7148487f7ea68db672fab4ba120355d04979337f04
Size: 21.39 MB - kernel-rt-debug-modules-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 8738c038cffef3c61bcab50978898bc0
SHA-256: f3cdc806a39664d3e98e4e95191101acb028148ba5f5660a9cfe6e7f7eb4e82d
Size: 41.61 MB - kernel-rt-debug-modules-core-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: da9f8d5415115797d6abb02c26fd6933
SHA-256: 1470c6543aaa86141ba6899ee012b7913d34830acd0048b9dd7aa5ae93c11aeb
Size: 32.28 MB - kernel-rt-debug-modules-extra-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: e586fd0b5d8c59e1d61bb10e8c17d83f
SHA-256: fb2c8f392d62050ffcb922df52dc320bf34e34c2e496925d293e822c995117a2
Size: 1.49 MB - kernel-rt-devel-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 94e2e2e7b056dc5b45eb0170ae90a84c
SHA-256: 719df689e15ef0553956d763ff882cc85167483b2fde815c7d596cdf8cd8def5
Size: 21.24 MB - kernel-rt-modules-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 7607024a6212a3f3b9857489683b9fb3
SHA-256: 090e47edc793382ac25d121819fc364ab7619b956522649499cc72f7b9ca8e1e
Size: 40.08 MB - kernel-rt-modules-core-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 1b213d010b1f026bd4cc6a082c8fc576
SHA-256: a2962e470e3b69a46369c71afc62498d14fa6807f3bb56e170a72679b5ca9001
Size: 31.17 MB - kernel-rt-modules-extra-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 0e3035e4076f746bef8a00e0390a49a7
SHA-256: 763c0185272e425e6796ebad0f422564f92988ede85a0544989143fbda4df17d
Size: 1.47 MB - kernel-tools-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: dd1c08a4d7f26008b8275e6a37f6d293
SHA-256: 3e5fc8a53a3f35a42c06e9cb3e81484c2f1836ff97c69b27cd2f30d66d3aac8e
Size: 1.32 MB - kernel-tools-libs-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 67fc7be72fe703e1f69e81ba0ce6ca94
SHA-256: 850684055c2e6bd3745bec332c65d2d93b79bd7211e3f81ae38f96d4c4922b22
Size: 1.04 MB - kernel-tools-libs-devel-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 768339618a317140ded20988928f1a67
SHA-256: bd89ca83866389ecdf9ea9abdbf76aa07de298c790225199cc6086fccc6cef76
Size: 1.03 MB - kernel-uki-virt-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 9178d8c56313a22a381d1087846a6ec4
SHA-256: e2bf2927fae9833346071aa49b72f34eca93ec7b6b17bc9d7554edec0f0facd8
Size: 66.05 MB - kernel-uki-virt-addons-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: c5603cad0d4a8cee6fbe90cf5f773f4b
SHA-256: b6f1a0ae77b3e5c6dea69eb08234c0a3b963e6798eb964e2aee50ae18ff24db7
Size: 1.05 MB - libperf-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 865eb3d864454f97ad3e4a44d85d57c7
SHA-256: 718b5b1e7005d37066664b9ea37066d76d7fcb6c6a6e3e7ae00f5fa32da0298a
Size: 1.05 MB - perf-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 66251bfbdcff9f11f3884009fbd5aab9
SHA-256: 4ba83f469b830ead3d0506f9c9dec4bde05a4563001cd101ef3f0cc87cadd7c3
Size: 3.44 MB - python3-perf-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 685c458ea34bc9e96d743b27f02d47a4
SHA-256: f84c725bc108ed5b8074a5424d408e350f340e23afcd38af2a60aab550856a2b
Size: 2.61 MB - rtla-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 1ce7419d151339cb479f1e62d8c5f1ec
SHA-256: 4756bb869d256f58c6c0bc4572e10eaacec374843675aa4f3dbb7a0d9e1f548a
Size: 1.10 MB - rv-5.14.0-687.53.1.el9_8.x86_64.rpm
MD5: 9339d0804e44e219d9895073e92a4a59
SHA-256: d700e46032146beb3924a750023686bd85769385803cd0816bccb805bf69700d
Size: 1.04 MB