On Tue, 12 Dec 2023 10:21:58 +0800, Rex Zhang wrote: > Task may be rescheduled within dma_free_coherent(). So dma_free_coherent() > can't be called between spin_lock() and spin_unlock() to avoid Call Trace: > Call Trace: > <TASK> > dump_stack_lvl+0x37/0x50 > __might_resched+0x16a/0x1c0 > vunmap+0x2c/0x70 > __iommu_dma_free+0x96/0x100 > idxd_device_evl_free+0xd5/0x100 [idxd] > device_release_driver_internal+0x197/0x200 > unbind_store+0xa1/0xb0 > kernfs_fop_write_iter+0x120/0x1c0 > vfs_write+0x2d3/0x400 > ksys_write+0x63/0xe0 > do_syscall_64+0x44/0xa0 > entry_SYSCALL_64_after_hwframe+0x6e/0xd8 > Move it out of the context. > > [...] Applied, thanks! [1/1] dmaengine: idxd: Move dma_free_coherent() out of spinlocked context commit: e271c0ba3f919c48e90c64b703538fbb7865cb63 Best regards, -- ~Vinod