Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-64328

usb: gadget: f_fs: Fix DMA fence leak

Description

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Fix DMA fence leak In ffs_dmabuf_transfer(), a ffs_dma_fence object is kmalloc'd, with the underlying dma_fence later initialized by dma_fence_init(), which sets its kref counter to 1. Then, dma_resv_add_fence() gets a second reference, and a pointer to the ffs_dma_fence is passed as the usb_request's "context" field. The dma-resv mechanism will manage the second reference, but the first reference is never properly released; the ffs_dmabuf_cleanup() function decreases the reference count, but only to balance with the reference grab in ffs_dmabuf_signal_done(). The code will then slowly leak memory as more ffs_dma_fence objects are created without being ever freed. Address this issue by transferring ownership of the fence to the DMA reservation object, by calling dma_fence_put() right after dma_resv_add_fence(). The ffs_dma_fence then gets properly discarded after being signalled.

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

  • 7b07a2a7ca02a20124b552be96c5a56910795488 to < b7475b2dce5e121e687280ba5732ccefe77ffd2faffected
  • 7b07a2a7ca02a20124b552be96c5a56910795488 to < e086c16962a1b0142e2675610e9c06fcfcd4c3a8affected
  • 7b07a2a7ca02a20124b552be96c5a56910795488 to < 0cae3d6109427c455bad0a18dfb3e2a91657e38aaffected
  • 7b07a2a7ca02a20124b552be96c5a56910795488 to < baa6b6068a3f2bf2ed525a1cb37975905dadc658affected

Linux Linux

Default version status: affected

  • 6.9affected
  • 0 to < 6.9unaffected
  • 6.12.96 to ≤ 6.12.*unaffected
  • 6.18.39 to ≤ 6.18.*unaffected
  • 7.1.4 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References