---
id: CVE-2026-53190
title: >-
  drm/virtio: fix dma_fence refcount leak on error in
  virtio_gpu_dma_fence_wait()
summary: >-
  In the Linux kernel, the following vulnerability has been resolved:


  drm/virtio: fix dma_fence refcount leak on error in
  virtio_gpu_dma_fence_wait()


  dma_fence_unwrap_for_each() internally calls dma_fence_unwrap_first()

  which does cursor…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= eba57fb5498f2858768321e64570caea188455b8 <
    898bd0ccfed71651b881660c5d20ad73b5203174
  - >-
    Linux >= eba57fb5498f2858768321e64570caea188455b8 <
    73524e9f96a278b521f257a78a845c49eb522bc1
  - >-
    Linux >= eba57fb5498f2858768321e64570caea188455b8 <
    8348567a6afb24e2c9cafe8a321162d0eebe1411
  - >-
    Linux >= eba57fb5498f2858768321e64570caea188455b8 <
    c0fffc874c264292e769f26194a2a5e66ce31810
  - >-
    Linux >= eba57fb5498f2858768321e64570caea188455b8 <
    3f26bb732cc136ab20176697c92f32c9c84cb125
  - Linux 6.5
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-06T16:21:56.401289Z'
published: '2026-06-25'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T16:24:06.568Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-53190'
references:
  - url: 'https://git.kernel.org/stable/c/898bd0ccfed71651b881660c5d20ad73b5203174'
  - url: 'https://git.kernel.org/stable/c/73524e9f96a278b521f257a78a845c49eb522bc1'
  - url: 'https://git.kernel.org/stable/c/8348567a6afb24e2c9cafe8a321162d0eebe1411'
  - url: 'https://git.kernel.org/stable/c/c0fffc874c264292e769f26194a2a5e66ce31810'
  - url: 'https://git.kernel.org/stable/c/3f26bb732cc136ab20176697c92f32c9c84cb125'
tags:
  - cve.org
epss: 0.00122
epssPercentile: 0.01989
ingestedAt: '2026-11-06T16:57:43.272Z'
---

## Overview

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

drm/virtio: fix dma_fence refcount leak on error in virtio_gpu_dma_fence_wait()

dma_fence_unwrap_for_each() internally calls dma_fence_unwrap_first()
which does cursor->chain = dma_fence_get(head), taking an extra
reference. On normal loop completion, dma_fence_unwrap_next()
releases this via dma_fence_chain_walk() -> dma_fence_put().

When virtio_gpu_do_fence_wait() fails and the function returns early
from inside the loop, the cursor->chain reference is never released.
This is the only caller in the entire kernel that does an early return
inside dma_fence_unwrap_for_each.

Add dma_fence_put(itr.chain) before the early return.

## Affected

- `Linux >= eba57fb5498f2858768321e64570caea188455b8 < 898bd0ccfed71651b881660c5d20ad73b5203174`
- `Linux >= eba57fb5498f2858768321e64570caea188455b8 < 73524e9f96a278b521f257a78a845c49eb522bc1`
- `Linux >= eba57fb5498f2858768321e64570caea188455b8 < 8348567a6afb24e2c9cafe8a321162d0eebe1411`
- `Linux >= eba57fb5498f2858768321e64570caea188455b8 < c0fffc874c264292e769f26194a2a5e66ce31810`
- `Linux >= eba57fb5498f2858768321e64570caea188455b8 < 3f26bb732cc136ab20176697c92f32c9c84cb125`
- `Linux 6.5`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
