CVE-2026-98319
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: drm: Fix drm_pending_vblank_event leak in error path for out_fence_ptr When an out_fence_ptr is provided but DRM_MODE_PAGE_FLIP_EVENT is not set, a drm_pending_vblank_event will be allocated. If later, there is an allocation failure or another failure at setup_out_fence(), that event will not have base.fence set and it will not be released at complete_signaling(). Release the event and set crtc_state->event to NULL just like in the DRM_MODE_PAGE_FLIP_EVENT case when there is a failure at drm_event_reserve_init(). That is, prepare_signaling() releases the event and there is nothing to be done at complete_signaling(). Use drm_event_cancel_free() as that will also undo drm_event_reserve_init() in case it has been called.
View original CVE JSON
{
"id": "CVE-2026-98319",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-06T09:18:23.800",
"lastModified": "2026-10-19T10:18:34.030",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm: Fix drm_pending_vblank_event leak in error path for out_fence_ptr\n\nWhen an out_fence_ptr is provided but DRM_MODE_PAGE_FLIP_EVENT is not\nset, a drm_pending_vblank_event will be allocated. If later, there is an\nallocation failure or another failure at setup_out_fence(), that event\nwill not have base.fence set and it will not be released at\ncomplete_signaling().\n\nRelease the event and set crtc_state->event to NULL just like in the\nDRM_MODE_PAGE_FLIP_EVENT case when there is a failure at\ndrm_event_reserve_init(). That is, prepare_signaling() releases the\nevent and there is nothing to be done at complete_signaling(). Use\ndrm_event_cancel_free() as that will also undo drm_event_reserve_init()\nin case it has been called."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/gpu/drm/drm_atomic_uapi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "92c715fca907686f5298220ece53423e38ba3aed",
"lessThan": "3d6576ed3de01e8a378397b7020e33ae3d40aa6c",
"versionType": "git",
"status": "affected"
},
{
"version": "92c715fca907686f5298220ece53423e38ba3aed",
"lessThan": "86c33f740aa27e9cdc1259f0cc59c9c58f545e4b",
"versionType": "git",
"status": "affected"
},
{
"version": "92c715fca907686f5298220ece53423e38ba3aed",
"lessThan": "88c450e23b8fd4f1dcd329562f5e81ef05f3d941",
"versionType": "git",
"status": "affected"
},
{
"version": "92c715fca907686f5298220ece53423e38ba3aed",
"lessThan": "780716e2e019186fa6e5aad097a44b87b0b5388f",
"versionType": "git",
"status": "affected"
},
{
"version": "92c715fca907686f5298220ece53423e38ba3aed",
"lessThan": "d0be0516b5224eb5b6f42f8564a8deadb20ae16b",
"versionType": "git",
"status": "affected"
},
{
"version": "92c715fca907686f5298220ece53423e38ba3aed",
"lessThan": "daefd7ff159b0d1fb8c9e64430dcbe2aca1bdd09",
"versionType": "git",
"status": "affected"
},
{
"version": "92c715fca907686f5298220ece53423e38ba3aed",
"lessThan": "b9a68a9ccaada15d8dd0102c188cc6b868ff800b",
"versionType": "git",
"status": "affected"
},
{
"version": "92c715fca907686f5298220ece53423e38ba3aed",
"lessThan": "9eb1a393c89a79c4210230d23e7d88d239c61d7b",
"versionType": "git",
"status": "affected"
},
{
"version": "4cd462c7f2b6fcc208aebf44f2c831681feaa925",
"versionType": "git",
"status": "affected"
},
{
"version": "4.9.10",
"lessThan": "4.10",
"versionType": "semver",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/gpu/drm/drm_atomic_uapi.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "4.10",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.10",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.10.271",
"lessThanOrEqual": "5.10.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.222",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.189",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.158",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.112",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.54",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.8",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/3d6576ed3de01e8a378397b7020e33ae3d40aa6c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/780716e2e019186fa6e5aad097a44b87b0b5388f",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/86c33f740aa27e9cdc1259f0cc59c9c58f545e4b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/88c450e23b8fd4f1dcd329562f5e81ef05f3d941",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/9eb1a393c89a79c4210230d23e7d88d239c61d7b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b9a68a9ccaada15d8dd0102c188cc6b868ff800b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/d0be0516b5224eb5b6f42f8564a8deadb20ae16b",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/daefd7ff159b0d1fb8c9e64430dcbe2aca1bdd09",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}