Skip to contentSkip to conversation

Patch "Don't feed anything but regular iovec's to blk_rq_map_user_iov" has been added to the 4.8-stable tree

PATCH [email protected] 1 participant 1 message Dec 9, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

Don't feed anything but regular iovec's to blk_rq_map_user_iov

to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
don-t-feed-anything-but-regular-iovec-s-to-blk_rq_map_user_iov.patch
and it can be found in the queue-4.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From a0ac402cfcdc904f9772e1762b3fda112dcc56a0 Mon Sep 17 00:00:00 2001

From: Linus Torvalds <[email protected]>
Date: Tue, 6 Dec 2016 16:18:14 -0800
Subject: Don't feed anything but regular iovec's to blk_rq_map_user_iov

From: Linus Torvalds <[email protected]>

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.

---
 block/blk-map.c |    4 ++++
 1 file changed, 4 insertions(+)
block/blk-map.c +4 -0
@@ -118,6 +118,9 @@ int blk_rq_map_user_iov(struct request_q
 	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_q
 
 unmap_rq:
 	__blk_rq_unmap_user(bio);
+fail:
 	rq->bio = NULL;
 	return -EINVAL;
 }

Patches currently in stable-queue which might be from [email protected] are

queue-4.8/don-t-feed-anything-but-regular-iovec-s-to-blk_rq_map_user_iov.patch