On Wed, Jul 5, 2017 at 9:00 PM, Christoph Hellwig <hch@xxxxxx> wrote: > On Thu, May 18, 2017 at 11:36:14AM +0200, Christoph Hellwig wrote: >> On Thu, May 18, 2017 at 11:29:34AM +0200, Linus Walleij wrote: >> > We are storing the ioctl() in/out argument as a pointer in >> > the per-request struct mmc_blk_request container. >> >> Btw, for the main ioctl data (not the little reponse field) it might >> make sense to use blk_rq_map_user, which will do a get_user_pages >> on the user data if the alignment fits, and otherwise handle the >> kernel bounce buffering for you. This should simplify the code >> quite a bit more, and in the case where you can access the user >> memory directly provide a nice little performance boost. > > Did you get a chance to look into this? Sorry, just back from vacation. I am rebasing my MMC patch stack, so I will take this opportunity to also look at this during the week. I just need to make sure I find the right userspace calls to exercise it. Yours, Linus Walleij