{"id":"CVE-2022-50426","title":"remoteproc: imx_dsp_rproc: Add mutex protection for workqueue","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nremoteproc: imx_dsp_rproc: Add mutex protection for workqueue\n\nThe workqueue may execute late even after remoteproc is stopped or\nstopping, some resources (rpmsg device…","severity":"none","vendor":"Linux","product":"Linux","affected":["Linux >= ec0e5549f3586d2cb99a05edd006d722ebad912c < 4a3e1fa7a77838617bdbcd95127ce93a959fad44","Linux >= ec0e5549f3586d2cb99a05edd006d722ebad912c < b9693304b7133b81741add5bfb56f022596df012","Linux >= ec0e5549f3586d2cb99a05edd006d722ebad912c < 47e6ab07018edebf94ce873cf50a05ec76ff2dde","Linux 5.16"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-11-05T20:10:28.496850Z"},"published":"2025-10-01","updated":"2026-11-05","sourceUpdated":"2026-11-05T20:20:43.024Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2022-50426","references":[{"url":"https://git.kernel.org/stable/c/4a3e1fa7a77838617bdbcd95127ce93a959fad44"},{"url":"https://git.kernel.org/stable/c/b9693304b7133b81741add5bfb56f022596df012"},{"url":"https://git.kernel.org/stable/c/47e6ab07018edebf94ce873cf50a05ec76ff2dde"}],"tags":["cve.org"],"epss":0.00157,"epssPercentile":0.04902,"ingestedAt":"2026-11-05T22:38:31.733Z","slug":"CVE-2022-50426","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nremoteproc: imx_dsp_rproc: Add mutex protection for workqueue\n\nThe workqueue may execute late even after remoteproc is stopped or\nstopping, some resources (rpmsg device and endpoint) have been\nreleased in rproc_stop_subdevices(), then rproc_vq_interrupt()\naccessing these resources will cause kennel dump.\n\nCall trace:\n virtqueue_add_split+0x1ac/0x560\n virtqueue_add_inbuf+0x4c/0x60\n rpmsg_recv_done+0x15c/0x294\n vring_interrupt+0x6c/0xa4\n rproc_vq_interrupt+0x30/0x50\n imx_dsp_rproc_vq_work+0x24/0x40 [imx_dsp_rproc]\n process_one_work+0x1d0/0x354\n worker_thread+0x13c/0x470\n kthread+0x154/0x160\n ret_from_fork+0x10/0x20\n\nAdd mutex protection in imx_dsp_rproc_vq_work(), if the state is\nnot running, then just skip calling rproc_vq_interrupt().\n\nAlso the flush workqueue operation can't be added in rproc stop\nfor the same reason. The call sequence is\n\nrproc_shutdown\n-> rproc_stop\n   ->rproc_stop_subdevices\n   ->rproc->ops->stop()\n     ->imx_dsp_rproc_stop\n       ->flush_work\n         -> rproc_vq_interrupt\n\nThe resource needed by rproc_vq_interrupt has been released in\nrproc_stop_subdevices, so flush_work is not safe to be called in\nimx_dsp_rproc_stop.\n\n## Affected\n\n- `Linux >= ec0e5549f3586d2cb99a05edd006d722ebad912c < 4a3e1fa7a77838617bdbcd95127ce93a959fad44`\n- `Linux >= ec0e5549f3586d2cb99a05edd006d722ebad912c < b9693304b7133b81741add5bfb56f022596df012`\n- `Linux >= ec0e5549f3586d2cb99a05edd006d722ebad912c < 47e6ab07018edebf94ce873cf50a05ec76ff2dde`\n- `Linux 5.16`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}