In the Linux kernel, the following vulnerability has been resolved:
spi: xilinx: use FIFO occupancy register to determine buffer size
The method the driver uses to determine the size of the FIFO has a problem. What it currently does is this: It stops the SPI hardware and writes to the TX FIFO register until TX FIFO FULL asserts in the status register. But the hardware does not only have the FIFO, it also has a shift register which can hold a byte. This can be seen, when writing a byte to the FIFO (while the SPI hardware is stopped,) the TX FIFO EMPTY is still empty. So, if we have a FIFO size of 16 for example, the current method returns a 17. This is a problem, at least when using the driver in irq mode. The same size determined for the TX FIFO is also assumed for the RX FIFO. When a SPI transaction wants to write the amount of the FIFO size or more bytes, the following happens, for example with 16 bytes FIFO size: The driver stops the SPI hardware and writes 17 bytes to the TX FIFO and starts the SPI hardware and goes sleep. The hardware then shifts out 17 bytes (FIFO + shift register) and simultaneously reads bytes into the RX FIFO, but it only has 16 places, so it looses one byte. Then TX FIFO empty asserts, wakes the driver again, which has a fast path and reads 16 bytes from the RX FIFO, but before reading the last 17th byte (which is lost) it does this:
sr = xspi->read_fn(xspi->regs + XSPI_SR_OFFSET); if (!(sr & XSPI_SR_RX_EMPTY_MASK)) { xilinx_spi_rx(xspi); rx_words--; }
It reads the status register and checks if the RX FIFO is not empty. But it is empty in our case. So this check spins in a while loop forever locking the driver.
This patch fixes the logic to determine the FIFO size.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Aug 16, 2026 | Aug 16, 2026 |
| Ubuntu | — | Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-realtimeUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-oem-26.04aUpgrade linux-image-realtime-5.15Upgrade linux-image-realtime-7.0Upgrade linux-image-realtime-hwe-26.04Upgrade linux-image-5.15.0-1117-aws-fipsUpgrade linux-image-5.15.0-1123-azureUpgrade linux-image-7.0.0-1017-azureUpgrade linux-image-aws-7.0Upgrade linux-image-7.0.0-1014-awsUpgrade linux-image-azure-fips-5.15Upgrade linux-image-6.8.0-1071-gcp-fipsUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-198-generic-lpaeUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-kvm-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-azure-fde-6.8Upgrade linux-image-5.15.0-1116-realtimeUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-7.0.0-38-realtime-64kUpgrade linux-image-5.15.0-1117-aws-64kUpgrade linux-image-generic-64k-5.15Upgrade linux-image-gke-6.8Upgrade linux-image-virtual-6.8Upgrade linux-image-laptop-23.10Upgrade linux-image-5.15.0-1123-azure-fipsUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-generic-7.0Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-6.8.0-1067-aws-fipsUpgrade linux-image-nvidia-5.15Upgrade linux-image-oracle-64kUpgrade linux-image-gcp-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-7.0.0-1014-gcp-64kUpgrade linux-image-aws-fips-5.15Upgrade linux-image-aws-6.8Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-oem-26.04Upgrade linux-image-5.15.0-195-lowlatencyUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.8.0-147-genericUpgrade linux-image-gke-64k-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-oracle-5.15Upgrade linux-image-5.15.0-1112-nvidiaUpgrade linux-image-aws-64k-7.0Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-147-lowlatency-64kUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-5.15.0-1114-oracleUpgrade linux-image-6.8.0-1071-azure-fipsUpgrade linux-image-gke-64kUpgrade linux-image-6.8.0-1071-gcp-64kUpgrade linux-image-generic-64k-7.0Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-kvmUpgrade linux-image-aws-fipsUpgrade linux-image-azureUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-5.15.0-198-fipsUpgrade linux-image-7.0.0-38-generic-64kUpgrade linux-image-5.15.0-1122-azure-fdeUpgrade linux-image-oem-7.0Upgrade linux-image-7.0.0-1014-gcpUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-7.0.0-1008-gke-64kUpgrade linux-image-gkeop-5.15Upgrade linux-image-7.0.0-1015-oemUpgrade linux-image-azure-5.15Upgrade linux-image-5.15.0-1118-gcpUpgrade linux-image-azure-7.0Upgrade linux-image-realtime-64kUpgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-virtual-5.15Upgrade linux-image-azure-cvmUpgrade linux-image-gke-7.0Upgrade linux-image-ibm-5.15Upgrade linux-image-gke-64k-7.0Upgrade linux-image-oracle-6.8Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-azure-fde-5.15Upgrade linux-image-generic-64kUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-198-genericUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-147-lowlatencyUpgrade linux-image-aws-fips-6.8Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-1064-oracleUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-1069-azure-fdeUpgrade linux-image-6.8.0-1071-gcpUpgrade linux-image-intelUpgrade linux-image-ibmUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-gcp-5.15Upgrade linux-image-6.8.0-1066-gke-64kUpgrade linux-image-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-ibm-7.0Upgrade linux-image-azure-fde-7.0Upgrade linux-image-7.0.0-1016-azure-fdeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-1117-awsUpgrade linux-image-5.15.0-1112-intel-iotgUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-oem-20.04dUpgrade linux-image-7.0.0-1014-aws-64kUpgrade linux-image-6.8.0-147-generic-64kUpgrade linux-image-6.8.0-1071-azureUpgrade linux-image-6.8.0-1066-gkeUpgrade linux-image-5.15.0-1112-nvidia-lowlatencyUpgrade linux-image-5.15.0-1109-kvmUpgrade linux-image-realtime-64k-7.0Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-virtual-7.0Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-gkeUpgrade linux-image-genericUpgrade linux-image-gcpUpgrade linux-image-azure-fde-lts-26.04Upgrade linux-image-6.8.0-147-fipsUpgrade linux-image-6.8.0-1067-awsUpgrade linux-image-5.15.0-198-generic-64kUpgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-7.0.0-1013-oracleUpgrade linux-image-virtualUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-ibm-6.8Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gcp-6.8Upgrade linux-image-7.0.0-1013-oracle-64kUpgrade linux-image-6.8.1-1062-realtimeUpgrade linux-image-5.15.0-1080-xilinx-zynqmpUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-virtual-hwe-26.04Upgrade linux-image-oem-20.04bUpgrade linux-image-nvidiaUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-lowlatency-64kUpgrade linux-image-aws-lts-22.04Upgrade linux-image-azure-lts-26.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-7.0.0-38-genericUpgrade linux-image-7.0.0-1015-ibmUpgrade linux-image-generic-5.15Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1064-oracle-64kUpgrade linux-image-6.8.0-1052-gkeopUpgrade linux-image-5.15.0-1118-gcp-fipsUpgrade linux-image-5.15.0-1113-gkeUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-5.15.0-1109-intel-iot-realtimeUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-oem-20.04Upgrade linux-image-ibm-classicUpgrade linux-image-gkeopUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-gke-5.15Upgrade linux-image-aws-64k-6.8Upgrade linux-image-awsUpgrade linux-image-7.0.0-38-realtimeUpgrade linux-image-7.0.0-1008-gkeUpgrade linux-image-6.8.0-1067-ibmUpgrade linux-image-gcp-7.0Upgrade linux-image-azure-fips-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-oracleUpgrade linux-image-5.15.0-195-lowlatency-64kUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-5.15.0-1111-ibmUpgrade linux-image-5.15.0-1100-gkeopUpgrade linux-image-gkeop-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-fips-5.15Upgrade linux-image-fipsUpgrade linux-image-aws-64k-5.15Upgrade linux-image-aws-5.15Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-generic-6.8Upgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-1067-aws-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-fips-6.8Upgrade linux-image-oracle-7.0Upgrade linux-image-aws-64kUpgrade linux-image-generic-64k-6.8 | Oct 6, 2026 | Oct 6, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Aug 21, 2026 | Aug 15, 2026 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub