summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMing Qian <ming.qian@oss.nxp.com>2026-03-06 09:59:50 +0300
committerHans Verkuil <hverkuil+cisco@kernel.org>2026-03-23 13:18:34 +0300
commit8cd35ceadcfc8c5da2eb7f7ce24525ce9d4ee62e (patch)
tree01d22d4803c941a9bba9e93384a3461efd3bac37 /include
parent35c8178ed2bd9821a75a406d762b2f2e161f9c70 (diff)
downloadlinux-8cd35ceadcfc8c5da2eb7f7ce24525ce9d4ee62e.tar.xz
media: amphion: Fix race between m2m job_abort and device_run
Fix kernel panic caused by race condition where v4l2_m2m_ctx_release() frees m2m_ctx while v4l2_m2m_try_run() is about to call device_run with the same context. Race sequence: v4l2_m2m_try_run(): v4l2_m2m_ctx_release(): lock/unlock v4l2_m2m_cancel_job() job_abort() v4l2_m2m_job_finish() kfree(m2m_ctx) <- frees ctx device_run() <- use-after-free crash at 0x538 Crash trace: Unable to handle kernel read from unreadable memory at virtual address 0000000000000538 v4l2_m2m_try_run+0x78/0x138 v4l2_m2m_device_run_work+0x14/0x20 The amphion vpu driver does not rely on the m2m framework's device_run callback to perform encode/decode operations. Fix the race by preventing m2m framework job scheduling entirely: - Add job_ready callback returning 0 (no jobs ready for m2m framework) - Remove job_abort callback to avoid the race condition Fixes: 3cd084519c6f ("media: amphion: add vpu v4l2 m2m support") Cc: stable@vger.kernel.org Signed-off-by: Ming Qian <ming.qian@oss.nxp.com> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions