{"schema":"threatline.record/2","record":{"id":"CVE-2026-99183","aliases":[],"summary":"accel/rocket: search every core slot when looking up a scheduler","details":"In the Linux kernel, the following vulnerability has been resolved:\n\naccel/rocket: search every core slot when looking up a scheduler\n\nsched_to_core() walks rdev->cores[] up to rdev->num_cores, and\nrocket_remove() decrements num_cores for every core it removes. Unbind a\ncore that is not the last one and the cores behind it fall outside the\nsearch, so sched_to_core() returns NULL for a core that is still bound and\nstill running jobs. Neither caller checks the result:\n\n  rocket_job_run():      rocket_fence_create(core), core->dev\n  rocket_job_timedout(): dev_err(core->dev, \"NPU job timed out\")\n\nUnbinding the middle core of the three on an RK3588 while three clients are\nsubmitting to all of them faults twice, once from the surviving core's\njob queue and once from its reset work:\n\n  KASAN: null-ptr-deref in range [0x0000000000000220-0x0000000000000227]\n  Workqueue: fdad0000.npu drm_sched_run_job_work [gpu_sched]\n  pc : rocket_job_run+0x234/0x838 [rocket]\n  Call trace:\n   rocket_job_run+0x234/0x838 [rocket]\n   drm_sched_run_job_work+0x2cc/0xad8 [gpu_sched]\n   process_one_work+0x640/0x14f0\n\n  KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]\n  Workqueue: rocket-reset-2 drm_sched_job_timedout [gpu_sched]\n  pc : rocket_job_timedout+0xf0/0x1e0 [rocket]\n  Call trace:\n   rocket_job_timedout+0xf0/0x1e0 [rocket]\n   drm_sched_job_timedout+0x188/0x6a0 [gpu_sched]\n\nBoth are the third core: the workqueue names are its device and its\ncore->index, and it was left at slot 2 while num_cores had dropped to 2.\n\nSearch all the slots that were allocated, the way find_core_for_dev() now\ndoes. A core that is still bound is then found, and the two callers get\nthe pointer they already assume they have.\n\nThis does not make unbinding one core out of several safe. An open client\nkeeps an entity pointing at the scheduler of the core that went away:\ndrm_sched reports it as not ready for every job that lands on it, and the\nclient waits in dma_fence_default_wait for a fence that will never signal.\nStopping the NULL dereference is what belongs in a fix; the rest wants\nmore thought.","categories":["Operating systems"],"product":"Linux","vendor":"Linux","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-99183","source_modified_at":"2026-10-28T10:35:36.754Z","fetched_at":"2026-10-28T15:55:58.673066Z","product":"Linux","vendor":"Linux","versions":[{"version":"0810d5ad88a18f1e6d549853a388ad0316f74e36","lessThan":"c137756469d5bcc79e97beb406ae4d14b9585463","status":"affected","versionType":"git"},{"version":"0810d5ad88a18f1e6d549853a388ad0316f74e36","lessThan":"89c2c777df17eb0201c8e22afabbf3691f2a28fe","status":"affected","versionType":"git"}],"defaultStatus":"unaffected"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-99183","source_modified_at":"2026-10-28T10:35:36.754Z","fetched_at":"2026-10-28T15:55:58.673066Z","product":"Linux","vendor":"Linux","versions":[{"version":"6.18","status":"affected"},{"version":"0","lessThan":"6.18","status":"unaffected","versionType":"semver"},{"version":"7.2.13","lessThanOrEqual":"7.2.*","status":"unaffected","versionType":"semver"},{"version":"7.3","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}],"defaultStatus":"affected"}],"fixed_versions":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-99183","source_modified_at":"2026-10-28T10:35:36.754Z","fetched_at":"2026-10-28T15:55:58.673066Z","package":{"name":"Linux","ecosystem":null},"version":"89c2c777df17eb0201c8e22afabbf3691f2a28fe","basis":"first unaffected version stated in the CVE record"}],"cvss":null,"severity":null,"kev":{"listed":false},"epss":{"probability":null,"percentile":null,"score_date":null},"published_at":"2026-10-28T10:35:36.754Z","modified_at":"2026-10-28T10:35:36.754Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-99183","fetched_at":"2026-10-28T15:55:58.673066Z","source_modified_at":"2026-10-28T10:35:36.754Z"}],"sources":["CVE List"],"references":[{"source":"CVE List","url":"https://git.kernel.org/stable/c/c137756469d5bcc79e97beb406ae4d14b9585463"},{"source":"CVE List","url":"https://git.kernel.org/stable/c/89c2c777df17eb0201c8e22afabbf3691f2a28fe"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"product","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-28T10:35:36.754Z","content_hash":"1bcc58fdf0d1cb56147dd15e78a756767d058fc2d853c4b7ffaa3fec7a5c3c64"}}
