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.