{"id":"CVE-2026-89590","state":"PUBLISHED","title":"accel/rocket: Fix error path handling in rocket_job_run()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\naccel/rocket: Fix error path handling in rocket_job_run()\n\nIn rocket_job_run(), after taking an extra fence reference for\njob->done_fence via dma_fence_get(), the error paths have three bugs:\n\n- The dma_fence reference held by job->done_fence is never released,\n  causing a reference leak.\n- pm_runtime_get_sync() increments the usage counter even on failure,\n  but the error path does not decrement it, leaking the runtime PM\n  reference and preventing the NPU from suspending.\n- A valid but unsignaled fence is returned to the DRM scheduler,\n  which triggers WARN(\"Fence ... released with pending signals!\")\n  when the scheduler drops its reference.\n\nFix by replacing pm_runtime_get_sync() with pm_runtime_resume_and_get()\nwhich auto-balances the usage counter on failure, releasing both fence\nreferences on error, and returning ERR_PTR(ret) instead of the\nunsignaled fence.\n\n[tomeu: Refactored error paths to use consolidated goto labels]","publishedAt":"2026-09-11T19:44:54.328Z","updatedAt":"2026-10-19T08:49:22.866Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0810d5ad88a18f1e6d549853a388ad0316f74e36","status":"affected","lessThan":"9ad8821573a36bcd18c84dbca3027802b0ea062f","versionType":"git"},{"version":"0810d5ad88a18f1e6d549853a388ad0316f74e36","status":"affected","lessThan":"7d6fa298c23495b805004f5f446497b661998fa5","versionType":"git"},{"version":"0810d5ad88a18f1e6d549853a388ad0316f74e36","status":"affected","lessThan":"9b2dedadf6a91ac3fc9fae268bb556a041222711","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accel/rocket/rocket_job.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.18","versionType":"semver"},{"version":"6.18.50","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.4","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accel/rocket/rocket_job.c"]}],"references":["https://git.kernel.org/stable/c/9ad8821573a36bcd18c84dbca3027802b0ea062f","https://git.kernel.org/stable/c/7d6fa298c23495b805004f5f446497b661998fa5","https://git.kernel.org/stable/c/9b2dedadf6a91ac3fc9fae268bb556a041222711"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:26.108Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/89xxx/CVE-2026-89590.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-89590","state":"PUBLISHED","datePublished":"2026-09-11T19:44:54.328Z","dateUpdated":"2026-10-19T08:49:22.866Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.730Z"},"containers":{"cna":{"title":"accel/rocket: Fix error path handling in rocket_job_run()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\naccel/rocket: Fix error path handling in rocket_job_run()\n\nIn rocket_job_run(), after taking an extra fence reference for\njob->done_fence via dma_fence_get(), the error paths have three bugs:\n\n- The dma_fence reference held by job->done_fence is never released,\n  causing a reference leak.\n- pm_runtime_get_sync() increments the usage counter even on failure,\n  but the error path does not decrement it, leaking the runtime PM\n  reference and preventing the NPU from suspending.\n- A valid but unsignaled fence is returned to the DRM scheduler,\n  which triggers WARN(\"Fence ... released with pending signals!\")\n  when the scheduler drops its reference.\n\nFix by replacing pm_runtime_get_sync() with pm_runtime_resume_and_get()\nwhich auto-balances the usage counter on failure, releasing both fence\nreferences on error, and returning ERR_PTR(ret) instead of the\nunsignaled fence.\n\n[tomeu: Refactored error paths to use consolidated goto labels]"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0810d5ad88a18f1e6d549853a388ad0316f74e36","status":"affected","lessThan":"9ad8821573a36bcd18c84dbca3027802b0ea062f","versionType":"git"},{"version":"0810d5ad88a18f1e6d549853a388ad0316f74e36","status":"affected","lessThan":"7d6fa298c23495b805004f5f446497b661998fa5","versionType":"git"},{"version":"0810d5ad88a18f1e6d549853a388ad0316f74e36","status":"affected","lessThan":"9b2dedadf6a91ac3fc9fae268bb556a041222711","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accel/rocket/rocket_job.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.18","versionType":"semver"},{"version":"6.18.50","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.4","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accel/rocket/rocket_job.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/9ad8821573a36bcd18c84dbca3027802b0ea062f"},{"url":"https://git.kernel.org/stable/c/7d6fa298c23495b805004f5f446497b661998fa5"},{"url":"https://git.kernel.org/stable/c/9b2dedadf6a91ac3fc9fae268bb556a041222711"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T08:49:22.866Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18","versionEndExcluding":"6.18.50"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18","versionEndExcluding":"7.2.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}