A vulnerability in the Linux kernel's ice driver was resolved by restoring ordered MMIO writes for transmit doorbells. The issue involved a race condition due to the use of writel_relaxed() instead of writel(), causing the NIC to start transmitting before the queue accounting update was globally visible. This could lead to a kernel BUG triggered by an invalid state in the transmit queue accounting, resulting in a kernel crash under sustained network load on arm64 systems using Intel Ethernet Controller E810-XXV hardware.
A vulnerability in the Linux kernel's network stack related to the handling of Generic Segmentation Offload (GSO) packets in the __virtio_net_hdr_to_skb() function has been resolved. The issue involved improper flow dissection of GSO packets when skb->network_header was zero, leading to potential out-of-bounds reads in TCP header processing. This could occur with malformed network headers or packets carrying IP options or IPv6 extension headers. The fix involves proper initialization of skb fields and ensuring all GSO packets are fully dissected and validated.
A vulnerability in the Linux kernel's drm/vc4 driver was resolved by disabling the V3D interrupt across runtime suspend transitions. The issue involved the interrupt handler potentially running after the power domain was off, causing spurious interrupts and unexpected behavior due to the ARMCTRL interrupt controller lacking an active state. This could lead to scheduling of overflow memory work after the interrupt was disabled.
A vulnerability in the Linux kernel's riscv ptrace implementation was resolved by zero-initializing regset buffers before copying user data. The flaw involved uninitialized stack buffer data when a PTRACE_SETREGSET request provided a short iov_len, potentially causing garbage data to be copied into the target's vstate or shadow stack pointer.
A vulnerability in the Linux kernel's Btrfs filesystem code related to io_uring read extent failure handling has been resolved. The issue involved improper unlocking of inode and extent locks on failure paths, potentially leading to resource management inconsistencies. The fix ensures that unlocking occurs in the caller on all failure returns, aligning with the expected error handling behavior.
A vulnerability in the Linux kernel's mt7915 WiFi driver was resolved by properly disabling the receive NAPI (New API) when removing the device. Previously, unloading the mt7915e module with a MT7916 chipset caused multiple warnings and system instability due to the driver not disabling NAPI before destruction. This issue affected module reloads required to change frequency parameters, leading to system instability.
A vulnerability in the Linux kernel's flow_dissector component was resolved to prevent u16 truncation of the hlen parameter in the bpf_flow_dissect() function. The issue caused offsets to be incorrectly clamped when hlen exceeded 65535, potentially forcing offset values to zero even if valid. This bug is similar to a previously fixed truncation issue but affected the BPF path specifically. The fix involves capping hlen to the maximum value of a 16-bit unsigned integer before clamping. The vulnerability was discovered during code review and has been addressed.
A reference leak vulnerability in the Linux kernel's devlink component has been resolved. The issue occurs when notify work is pending and the devlink_rel reference is not properly released, leading to a memory leak. This can happen when nested devlink instances are registered and unregistered repeatedly while the parent lock is held. The vulnerability allows leaking of devlink_rel objects due to improper handling of work scheduling and reference counting.
A vulnerability in the Linux kernel's drm/imagination driver was resolved involving incorrect handling of reference counts and vm_bo linkage during GPU virtual address remapping. The flaw caused reference leaks and mismatches in object linkage when a memory map overlaps an existing mapping, potentially leading to resource leaks and warnings in kernel logs.
A vulnerability in the Linux kernel bonding driver related to XDP program replacement has been resolved. The issue involved a program leak when the XDP program was replaced or removed, due to failure to release the reference on the old BPF program. This was detected through AI-assisted testing and will be addressed with a selftest in future kernel releases.
A vulnerability in the Linux kernel's nvmet subsystem was resolved involving improper handling of local P2P device references during metadata allocation failure. Specifically, if data allocation succeeds but metadata allocation fails, a cleanup function uses an uninitialized device pointer, potentially causing improper resource handling.
A vulnerability in the Linux kernel's ASoC adau1372 driver has been resolved. The issue involved the use of gpiod_set_value() which emits a WARN when used with GPIO providers that can sleep, such as I2C controlled GPIO expanders. The driver incorrectly used a non-sleep variant for powerdown GPIOs, which are manipulated in process context. The fix involved switching to the _cansleep variant, allowing the use of sleepy GPIOs to power off the chip without warnings.
A vulnerability in the Linux kernel's flow_dissector component caused incorrect computation of the transport header offset (thoff) due to 16-bit truncation of skb->len. This could lead to the transport header pointer being set incorrectly inside the Ethernet header. The issue affects handling of large skbs (socket buffers) exceeding 64KB, which are common with certain network features like GSO and BIG TCP. The vulnerability has been resolved by changing the comparison to use 32-bit integers and capping the offset when it cannot fit in 16 bits, reporting dissection failure instead of returning incorrect offsets.
A memory leak vulnerability in the Linux kernel's vsock component was fixed in the function vmci_transport_recv_dgram_cb(). The leak occurs during the closure of a datagram socket when packets are moved between the socket's backlog and receive queue improperly, leading to unreleased memory. The fix involves adding a receive queue cleanup in the socket destructor.
A vulnerability in the Linux kernel's Btrfs filesystem was resolved involving the replacement of extended attributes (xattrs) when multiple xattrs are packed in the same directory item. The issue occurs when replacing an xattr value with a different size, leading to an uninitialized directory item and filesystem corruption detected during extent buffer writeback. This can cause transaction aborts and loss of xattr data.
A vulnerability in the Linux kernel's PFCP packet processing was resolved by ensuring the SEID field is fully linearized before being read. The pfcp_encap_recv() function previously only ensured the UDP and PFCP headers were linear, but when the S flag was set, pfcp_session_recv() read the 8-byte SEID without verifying it was fully in the linear area. This could cause out-of-bounds reads from fragmented or short packets. The fix involves pulling up to the end of the SEID before reading and dropping packets that are too short.
A vulnerability in the Linux kernel's mt76 WiFi driver was resolved that involved incorrect accounting of non-AQL frames per peer rather than per link. The driver increments and decrements counters for frames on different links, causing the count to drift upwards and potentially block the station. The fix ensures the count is maintained on the primary link's wcid, aligning with other peer-wide state management.
A vulnerability in the Linux kernel's HID steam driver has been fixed by rearranging the teardown sequence. The issue involved a narrow timing window during cleanup where callbacks could be scheduled referencing a freed steam struct, leading to potential use-after-free conditions. The fix also ensures that work canceling for rumble and mode switch occurs properly during steam device unregistration.
A vulnerability in the Linux kernel's btrfs subsystem related to improper freeing of iov memory when the function btrfs_uring_read_extent() fails has been resolved. The issue was that on failure, the caller skipped freeing the iov memory except in a specific error case (-EIOCBQUEUED), potentially causing a memory leak. The fix ensures that on failure, the code correctly frees the iov memory by falling through to the appropriate cleanup path.
A vulnerability in the Linux kernel's Btrfs filesystem code was resolved by changing the return value of btrfs_uring_read_extent_endio to always return -EIOCBQUEUED. Previously, if all bios finished before btrfs_encoded_read_regular_fill_pages() returned, a negative errno caused double cleanup of resources, potentially leading to use-after-free or double-free conditions.