CVE-2026-98343

Summary

In the Linux kernel, the following vulnerability has been resolved:

dmaengine: fix use-after-free in dma_chan_put() and dma_release_channel()

When dma_device_put() drops the last reference on chan->device->ref, dma_device_release() runs and may free the dma_device along with its channels.

dma_chan_put() then still reads chan->device->owner via dma_chan_to_owner() for the trailing module_put(). KASAN catches it:

slab-use-after-free in dma_chan_put+0x3e6/0x4c0
Read of size 8 by task insmod/6319
Freed by task 6319:
  kfree+0x225/0x470
  dma_chan_put+0x395/0x4c0
  dmaengine_put+0xf8/0x160

Cache the module owner in dma_chan_put() before the put so the trailing module_put() does not need chan->device.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8ad342a863590b24ce77681b7e081363fb3333f7 < b92c502595336a3cc5bb7a060170891366745a5daffected
LinuxLinux8ad342a863590b24ce77681b7e081363fb3333f7 < 855187a88bdf762c46b6849307597e3e02bfc1d9affected
LinuxLinux8ad342a863590b24ce77681b7e081363fb3333f7 < c9780b601438137494b407eb4301bb3de2587ac9affected
LinuxLinux8ad342a863590b24ce77681b7e081363fb3333f7 < 07eb075b60d565a5e465a1945a80cc62807492adaffected
LinuxLinux8ad342a863590b24ce77681b7e081363fb3333f7 < 9319dd64d5cdef851841c091f30424faa2284c31affected
LinuxLinux8ad342a863590b24ce77681b7e081363fb3333f7 < 6cf31716b77a71c0d634106f4f3951377b8dc6dcaffected
LinuxLinux8ad342a863590b24ce77681b7e081363fb3333f7 < 02bd02c585293634b213b142cba63cbf77891f6baffected
LinuxLinux8ad342a863590b24ce77681b7e081363fb3333f7 < e873c74132f0c5f1452816cd9bb26208f0bba1e1affected
LinuxLinux5.6affected
LinuxLinux0 < 5.6unaffected
LinuxLinux5.10.271 <= 5.10.*unaffected
LinuxLinux5.15.222 <= 5.15.*unaffected
LinuxLinux6.1.189 <= 6.1.*unaffected
LinuxLinux6.6.158 <= 6.6.*unaffected
LinuxLinux6.12.112 <= 6.12.*unaffected
LinuxLinux6.18.54 <= 6.18.*unaffected
LinuxLinux7.2.8 <= 7.2.*unaffected
LinuxLinux7.3-rc4 <= *unaffected

Weaknesses

References