dmaengine: idxd: fix missed completion on abort path
mainline inclusion from mainline-v5.16 commit 8affd8a4 category: bugfix bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I596WO CVE: NA Intel-SIG: commit 8affd8a4 dmaengine: idxd: fix missed completion on abort path. Incremental backporting patches for DSA/IAA on Intel Xeon platform. -------------------------------- Ming reported that with the abort path of the descriptor submission, there can be a window where a completed descriptor can be missed to be completed by the irq completion thread: CPU A CPU B Submit (successful) Submit (fail) irq_process_work_list() // empty llist_abort_desc() // remove all descs from pending list irq_process_pending_llist() // empty exit idxd_wq_thread() with no processing Add opportunistic descriptor completion in the abort path in order to remove the missed completion. Fixes: 6b4b87f2 ("dmaengine: idxd: fix submission race window") Reported-by: NMing Li <ming4.li@intel.com> Signed-off-by: NDave Jiang <dave.jiang@intel.com> Link: https://lore.kernel.org/r/163898288714.443911.16084982766671976640.stgit@djiang5-desk3.ch.intel.comSigned-off-by: NVinod Koul <vkoul@kernel.org> Signed-off-by: NXiaochen Shen <xiaochen.shen@intel.com>
Showing
想要评论请 注册 或 登录