Skip to content
CVE PROGRAM SOURCE RECORD4.4 Medium

CVE-2023-52492

dmaengine: fix NULL pointer in channel unregistration function

Description

In the Linux kernel, the following vulnerability has been resolved: dmaengine: fix NULL pointer in channel unregistration function __dma_async_device_channel_register() can fail. In case of failure, chan->local is freed (with free_percpu()), and chan->local is nullified. When dma_async_device_unregister() is called (because of managed API or intentionally by DMA controller driver), channels are unconditionally unregistered, leading to this NULL pointer: [ 1.318693] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000d0 [...] [ 1.484499] Call trace: [ 1.486930] device_del+0x40/0x394 [ 1.490314] device_unregister+0x20/0x7c [ 1.494220] __dma_async_device_channel_unregister+0x68/0xc0 Look at dma_async_device_register() function error path, channel device unregistration is done only if chan->local is not NULL. Then add the same condition at the beginning of __dma_async_device_channel_unregister() function, to avoid NULL pointer issue whatever the API used to reach this function.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • d2fb0a0438384fee08a418025f743913020033ce to < 9de69732dde4e443c1c7f89acbbed2c45a6a8e17affected
  • d2fb0a0438384fee08a418025f743913020033ce to < 047fce470412ab64cb7345f9ff5d06919078ad79affected
  • d2fb0a0438384fee08a418025f743913020033ce to < 2ab32986a0b9e329eb7f8f04dd57cc127f797c08affected
  • d2fb0a0438384fee08a418025f743913020033ce to < 7f0ccfad2031eddcc510caf4e57f2d4aa2d8a50baffected
  • d2fb0a0438384fee08a418025f743913020033ce to < 9263fd2a63487c6d04cbb7b74a48fb12e1e352d0affected
  • d2fb0a0438384fee08a418025f743913020033ce to < f5c24d94512f1b288262beda4d3dcb9629222fc7affected

Linux Linux

Default version status: affected

  • 5.6affected
  • 0 to < 5.6unaffected
  • 5.10.210 to ≤ 5.10.*unaffected
  • 5.15.149 to ≤ 5.15.*unaffected
  • 6.1.76 to ≤ 6.1.*unaffected
  • 6.6.15 to ≤ 6.6.*unaffected
  • 6.7.3 to ≤ 6.7.*unaffected
  • 6.8 to ≤ *unaffected

References