Advisory Published
CVE Published
Updated

CVE-2024-26787: mmc: mmci: stm32: fix DMA API overlapping mappings warning

First published: Thu Apr 04 2024(Updated: )

In the Linux kernel, the following vulnerability has been resolved: mmc: mmci: stm32: fix DMA API overlapping mappings warning Turning on CONFIG_DMA_API_DEBUG_SG results in the following warning: DMA-API: mmci-pl18x 48220000.mmc: cacheline tracking EEXIST, overlapping mappings aren't supported WARNING: CPU: 1 PID: 51 at kernel/dma/debug.c:568 add_dma_entry+0x234/0x2f4 Modules linked in: CPU: 1 PID: 51 Comm: kworker/1:2 Not tainted 6.1.28 #1 Hardware name: STMicroelectronics STM32MP257F-EV1 Evaluation Board (DT) Workqueue: events_freezable mmc_rescan Call trace: add_dma_entry+0x234/0x2f4 debug_dma_map_sg+0x198/0x350 __dma_map_sg_attrs+0xa0/0x110 dma_map_sg_attrs+0x10/0x2c sdmmc_idma_prep_data+0x80/0xc0 mmci_prep_data+0x38/0x84 mmci_start_data+0x108/0x2dc mmci_request+0xe4/0x190 __mmc_start_request+0x68/0x140 mmc_start_request+0x94/0xc0 mmc_wait_for_req+0x70/0x100 mmc_send_tuning+0x108/0x1ac sdmmc_execute_tuning+0x14c/0x210 mmc_execute_tuning+0x48/0xec mmc_sd_init_uhs_card.part.0+0x208/0x464 mmc_sd_init_card+0x318/0x89c mmc_attach_sd+0xe4/0x180 mmc_rescan+0x244/0x320 DMA API debug brings to light leaking dma-mappings as dma_map_sg and dma_unmap_sg are not correctly balanced. If an error occurs in mmci_cmd_irq function, only mmci_dma_error function is called and as this API is not managed on stm32 variant, dma_unmap_sg is never called in this error path.

Credit: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Affected SoftwareAffected VersionHow to fix
ubuntu/linux<5.15.0-112.122
5.15.0-112.122
ubuntu/linux<6.8~
6.8~
ubuntu/linux-aws<5.15.0-1063.69
5.15.0-1063.69
ubuntu/linux-aws<6.8~
6.8~
ubuntu/linux-aws-5.15<5.15.0-1063.69~20.04.1
5.15.0-1063.69~20.04.1
ubuntu/linux-aws-5.15<6.8~
6.8~
ubuntu/linux-aws-5.4<6.8~
6.8~
ubuntu/linux-aws-6.5<6.8~
6.8~
ubuntu/linux-aws-fips<6.8~
6.8~
ubuntu/linux-aws-hwe<6.8~
6.8~
ubuntu/linux-azure<5.15.0-1066.75
5.15.0-1066.75
ubuntu/linux-azure<6.8~
6.8~
ubuntu/linux-azure-4.15<6.8~
6.8~
ubuntu/linux-azure-5.15<6.8~
6.8~
ubuntu/linux-azure-5.4<6.8~
6.8~
ubuntu/linux-azure-6.5<6.8~
6.8~
ubuntu/linux-azure-fde<5.15.0-1067.76.1
5.15.0-1067.76.1
ubuntu/linux-azure-fde<6.8~
6.8~
ubuntu/linux-azure-fde-5.15<5.15.0-1065.74~20.04.1.1
5.15.0-1065.74~20.04.1.1
ubuntu/linux-azure-fde-5.15<6.8~
6.8~
ubuntu/linux-azure-fips<6.8~
6.8~
ubuntu/linux-bluefield<6.8~
6.8~
ubuntu/linux-fips<6.8~
6.8~
ubuntu/linux-gcp<5.15.0-1062.70
5.15.0-1062.70
ubuntu/linux-gcp<6.8~
6.8~
ubuntu/linux-gcp-4.15<6.8~
6.8~
ubuntu/linux-gcp-5.15<5.15.0-1062.70~20.04.1
5.15.0-1062.70~20.04.1
ubuntu/linux-gcp-5.15<6.8~
6.8~
ubuntu/linux-gcp-5.4<6.8~
6.8~
ubuntu/linux-gcp-6.5<6.8~
6.8~
ubuntu/linux-gcp-fips<6.8~
6.8~
ubuntu/linux-gke<5.15.0-1060.66
5.15.0-1060.66
ubuntu/linux-gke<6.8~
6.8~
ubuntu/linux-gkeop<5.15.0-1046.53
5.15.0-1046.53
ubuntu/linux-gkeop<6.8~
6.8~
ubuntu/linux-gkeop-5.15<5.15.0-1046.53~20.04.1
5.15.0-1046.53~20.04.1
ubuntu/linux-gkeop-5.15<6.8~
6.8~
ubuntu/linux-hwe<6.8~
6.8~
ubuntu/linux-hwe-5.15<5.15.0-113.123~20.04.1
5.15.0-113.123~20.04.1
ubuntu/linux-hwe-5.15<6.8~
6.8~
ubuntu/linux-hwe-5.4<6.8~
6.8~
ubuntu/linux-hwe-6.5<6.8~
6.8~
ubuntu/linux-ibm<5.15.0-1056.59
5.15.0-1056.59
ubuntu/linux-ibm<6.8~
6.8~
ubuntu/linux-ibm-5.15<5.15.0-1057.60~20.04.1
5.15.0-1057.60~20.04.1
ubuntu/linux-ibm-5.15<6.8~
6.8~
ubuntu/linux-ibm-5.4<6.8~
6.8~
ubuntu/linux-intel<6.8~
6.8~
ubuntu/linux-intel-iotg<5.15.0-1058.64
5.15.0-1058.64
ubuntu/linux-intel-iotg<6.8~
6.8~
ubuntu/linux-intel-iotg-5.15<5.15.0-1058.64~20.04.1
5.15.0-1058.64~20.04.1
ubuntu/linux-intel-iotg-5.15<6.8~
6.8~
ubuntu/linux-iot<6.8~
6.8~
ubuntu/linux-kvm<5.15.0-1060.65
5.15.0-1060.65
ubuntu/linux-kvm<6.8~
6.8~
ubuntu/linux-laptop<6.8~
6.8~
ubuntu/linux-lowlatency<5.15.0-110.120
5.15.0-110.120
ubuntu/linux-lowlatency<6.8~
6.8~
ubuntu/linux-lowlatency-hwe-5.15<5.15.0-110.120~20.04.1
5.15.0-110.120~20.04.1
ubuntu/linux-lowlatency-hwe-5.15<6.8~
6.8~
ubuntu/linux-lowlatency-hwe-6.5<6.8~
6.8~
ubuntu/linux-lts-xenial<6.8~
6.8~
ubuntu/linux-nvidia<5.15.0-1058.59
5.15.0-1058.59
ubuntu/linux-nvidia<6.8~
6.8~
ubuntu/linux-nvidia-6.5<6.8~
6.8~
ubuntu/linux-oem-6.5<6.8~
6.8~
ubuntu/linux-oem-6.8<6.8~
6.8~
ubuntu/linux-oracle<5.15.0-1061.67
5.15.0-1061.67
ubuntu/linux-oracle<6.8~
6.8~
ubuntu/linux-oracle-5.15<6.8~
6.8~
ubuntu/linux-oracle-5.4<6.8~
6.8~
ubuntu/linux-oracle-6.5<6.8~
6.8~
ubuntu/linux-raspi<6.8~
6.8~
ubuntu/linux-raspi-5.4<6.8~
6.8~
ubuntu/linux-riscv<6.8~
6.8~
ubuntu/linux-riscv-5.15<5.15.0-1059.63~20.04.1
5.15.0-1059.63~20.04.1
ubuntu/linux-riscv-5.15<6.8~
6.8~
ubuntu/linux-riscv-6.5<6.8~
6.8~
ubuntu/linux-starfive<6.8~
6.8~
ubuntu/linux-starfive-6.5<6.8~
6.8~
ubuntu/linux-xilinx-zynqmp<5.15.0-1030.34
5.15.0-1030.34
ubuntu/linux-xilinx-zynqmp<6.8~
6.8~
debian/linux
5.10.218-1
5.10.221-1
6.1.94-1
6.1.99-1
6.9.10-1

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2024 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203