Re: [PATCH 0/4] dmaengine: Add transfer termination synchronization support

From: Vinod Koul
Date: Wed Oct 28 2015 - 21:27:19 EST


On Tue, Oct 20, 2015 at 11:46:27AM +0200, Lars-Peter Clausen wrote:
> The DMAengine API has a long standing issue that is inherent to the API
> itself. For a client that calls dmaengine_terminate_all() it is not
> possible to properly synchronize the completion of any currently running
> complete callbacks to the current context. This means it is possible to end
> up with a use-after-free race condition if client frees resources that are
> accessed in a complete callback before the complete callback has finished
> running.
>
> This patch series introduces a new explicit synchronization primitive to
> the DMAengine API which allows clients to ensure that all complete
> callbacks have finished running. This allows them to safely free any
> resources that might be accessed in a complete callback.
>
> The series for now only implements synchronization support for a single
> driver and only updates single client to make use of the new API. If there
> is agreement on the general approach more will follow.

Thanks Lars for getting this done.

I have merged this to topic/test/async branch and this will be in next
kernel revision. We are too close to merge window right now

--
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/