[PATCH v2] dmaegine: virt-dma : Fix multi-user with vchan
Vinod Koul
vkoul at kernel.org
Thu Jun 20 09:17:01 PDT 2024
On 20-06-24, 10:38, Frank Li wrote:
> On Thu, Jun 20, 2024 at 10:53:53AM +0800, Jie Hai wrote:
> > List desc_allocated was introduced for the case of a transfer
> > submitted multiple times. But elegating descriptors on the list
> > causes other problems.
> >
> > For example, in the multi-thread scenario, which tasks are
> > continuously created and submitted by each thread. If one of
> > the threads calls dmaengine_terminate_all, for dirvers using
> > vchan_get_all_descriptors, all descriptors will be freed. If
> > there's another thread submitting a transfer A by
> > vchan_tx_submit, the following results may be generated:
> > 1. desc A is freeing -> visit wrong address of node prep/next.
> > 2. desc A is freed -> visit invalid address of A.
> >
> > In the above case, calltrace is generated and the system is
> > suspended. This can be tested by dmatest.
>
> What's test steps to reproduce this problem?
I think I have asked in past (dont recall if that was this or some other
one), hopefully will get to hear on this one..
PS: Good hygiene to trim replies
--
~Vinod
More information about the linux-riscv
mailing list