On 12/12/2016, 11:49 PM, Greg KH wrote: > On Mon, Dec 12, 2016 at 04:07:27PM +0100, Jiri Slaby wrote: >> From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> >> >> This patch does NOT apply to the 3.12 stable tree. If you still want >> it applied, please provide a backport. >> >> =============== >> >> commit a0ac402cfcdc904f9772e1762b3fda112dcc56a0 upstream. >> >> In theory we could map other things, but there's a reason that function >> is called "user_iov". Using anything else (like splice can do) just >> confuses it. >> >> Reported-and-tested-by: Johannes Thumshirn <jthumshirn@xxxxxxx> >> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> >> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> >> --- >> block/blk-map.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/block/blk-map.c b/block/blk-map.c >> index b8657fa8dc9a..27fd8d92892d 100644 >> --- a/block/blk-map.c >> +++ b/block/blk-map.c >> @@ -118,6 +118,9 @@ int blk_rq_map_user_iov(struct request_queue *q, struct request *rq, >> struct iov_iter i; >> int ret; >> >> + if (!iter_is_iovec(iter)) >> + goto fail; >> + >> if (map_data) >> copy = true; >> else if (iov_iter_alignment(iter) & align) >> @@ -140,6 +143,7 @@ int blk_rq_map_user_iov(struct request_queue *q, struct request *rq, >> >> unmap_rq: >> __blk_rq_unmap_user(bio); >> +fail: >> rq->bio = NULL; >> return -EINVAL; >> } > > I had to re-write this, feel free to steal the version I wrote for > 4.4.y, it's commit d41fb2fbb28d3a1085960edada6c046becd1fafd in the > linux-stable tree. I tried, but unfortunately, 3.12 has no iter_is_iovec :(. thanks, -- js suse labs -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html