> On 25 June 2020 at 02:42 Dave Jiang <dave.jiang@xxxxxxxxx> wrote: > > > > > On 6/21/2020 12:24 AM, Vinod Koul wrote: > > On 19-06-20, 16:31, Dave Jiang wrote: > >> > >> > >> On 6/19/2020 3:47 PM, Federico Vaga wrote: > >>> Hello, > >>> > >>> is there the possibility of using a DMA engine channel from userspace? > >>> > >>> Something like: > >>> - configure DMA using ioctl() (or whatever configuration mechanism) > >>> - read() or write() to trigger the transfer > >>> > >> > >> I may have supposedly promised Vinod to look into possibly providing > >> something like this in the future. But I have not gotten around to do that > >> yet. Currently, no such support. > > > > And I do still have serious reservations about this topic :) Opening up > > userspace access to DMA does not sound very great from security point of > > view. > > What about doing it with DMA engine that supports PASID? That way the user can > really only trash its own address space and kernel is protected. Sounds interesting! Not sure if this is really needed in that case... I have already implemented checks of vm_area_struct for contiguous memory or even do a get_user_pages_fast for user memory to pin it (hope that is the correct term here). Of course i have to do that for every involved page. But i will do some checks if my code is really suitable to avoid misusage. Best regards, Thomas