浏览代码

blk_rq_map_user(): use import_single_range()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 10 年之前
父节点
当前提交
8f7e885a4c
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      block/blk-map.c

+ 3 - 3
block/blk-map.c

@@ -124,10 +124,10 @@ int blk_rq_map_user(struct request_queue *q, struct request *rq,
 {
 {
 	struct iovec iov;
 	struct iovec iov;
 	struct iov_iter i;
 	struct iov_iter i;
+	int ret = import_single_range(rq_data_dir(rq), ubuf, len, &iov, &i);
 
 
-	iov.iov_base = ubuf;
-	iov.iov_len = len;
-	iov_iter_init(&i, rq_data_dir(rq), &iov, 1, len);
+	if (unlikely(ret < 0))
+		return ret;
 
 
 	return blk_rq_map_user_iov(q, rq, map_data, &i, gfp_mask);
 	return blk_rq_map_user_iov(q, rq, map_data, &i, gfp_mask);
 }
 }