forked from mirrors/linux
		
	iov_iter: remove unused 'iov' argument from import_single_range()
It is entirely unused, just get rid of it. Signed-off-by: Jens Axboe <axboe@kernel.dk> Link: https://lore.kernel.org/r/20231204174827.1258875-2-axboe@kernel.dk Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
		
							parent
							
								
									b85ea95d08
								
							
						
					
					
						commit
						6ac805d138
					
				
					 9 changed files with 13 additions and 23 deletions
				
			
		|  | @ -893,11 +893,10 @@ static int ublk_map_io(const struct ublk_queue *ubq, const struct request *req, | ||||||
| 	 */ | 	 */ | ||||||
| 	if (ublk_need_map_req(req)) { | 	if (ublk_need_map_req(req)) { | ||||||
| 		struct iov_iter iter; | 		struct iov_iter iter; | ||||||
| 		struct iovec iov; |  | ||||||
| 		const int dir = ITER_DEST; | 		const int dir = ITER_DEST; | ||||||
| 
 | 
 | ||||||
| 		import_single_range(dir, u64_to_user_ptr(io->addr), rq_bytes, | 		import_single_range(dir, u64_to_user_ptr(io->addr), rq_bytes, | ||||||
| 				&iov, &iter); | 					&iter); | ||||||
| 
 | 
 | ||||||
| 		return ublk_copy_user_pages(req, 0, &iter, dir); | 		return ublk_copy_user_pages(req, 0, &iter, dir); | ||||||
| 	} | 	} | ||||||
|  | @ -915,13 +914,12 @@ static int ublk_unmap_io(const struct ublk_queue *ubq, | ||||||
| 
 | 
 | ||||||
| 	if (ublk_need_unmap_req(req)) { | 	if (ublk_need_unmap_req(req)) { | ||||||
| 		struct iov_iter iter; | 		struct iov_iter iter; | ||||||
| 		struct iovec iov; |  | ||||||
| 		const int dir = ITER_SOURCE; | 		const int dir = ITER_SOURCE; | ||||||
| 
 | 
 | ||||||
| 		WARN_ON_ONCE(io->res > rq_bytes); | 		WARN_ON_ONCE(io->res > rq_bytes); | ||||||
| 
 | 
 | ||||||
| 		import_single_range(dir, u64_to_user_ptr(io->addr), io->res, | 		import_single_range(dir, u64_to_user_ptr(io->addr), io->res, | ||||||
| 				&iov, &iter); | 					&iter); | ||||||
| 		return ublk_copy_user_pages(req, 0, &iter, dir); | 		return ublk_copy_user_pages(req, 0, &iter, dir); | ||||||
| 	} | 	} | ||||||
| 	return rq_bytes; | 	return rq_bytes; | ||||||
|  |  | ||||||
|  | @ -1364,7 +1364,6 @@ static void __cold try_to_generate_entropy(void) | ||||||
| SYSCALL_DEFINE3(getrandom, char __user *, ubuf, size_t, len, unsigned int, flags) | SYSCALL_DEFINE3(getrandom, char __user *, ubuf, size_t, len, unsigned int, flags) | ||||||
| { | { | ||||||
| 	struct iov_iter iter; | 	struct iov_iter iter; | ||||||
| 	struct iovec iov; |  | ||||||
| 	int ret; | 	int ret; | ||||||
| 
 | 
 | ||||||
| 	if (flags & ~(GRND_NONBLOCK | GRND_RANDOM | GRND_INSECURE)) | 	if (flags & ~(GRND_NONBLOCK | GRND_RANDOM | GRND_INSECURE)) | ||||||
|  | @ -1385,7 +1384,7 @@ SYSCALL_DEFINE3(getrandom, char __user *, ubuf, size_t, len, unsigned int, flags | ||||||
| 			return ret; | 			return ret; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	ret = import_single_range(ITER_DEST, ubuf, len, &iov, &iter); | 	ret = import_single_range(ITER_DEST, ubuf, len, &iter); | ||||||
| 	if (unlikely(ret)) | 	if (unlikely(ret)) | ||||||
| 		return ret; | 		return ret; | ||||||
| 	return get_random_bytes_user(&iter); | 	return get_random_bytes_user(&iter); | ||||||
|  | @ -1491,7 +1490,6 @@ static long random_ioctl(struct file *f, unsigned int cmd, unsigned long arg) | ||||||
| 		return 0; | 		return 0; | ||||||
| 	case RNDADDENTROPY: { | 	case RNDADDENTROPY: { | ||||||
| 		struct iov_iter iter; | 		struct iov_iter iter; | ||||||
| 		struct iovec iov; |  | ||||||
| 		ssize_t ret; | 		ssize_t ret; | ||||||
| 		int len; | 		int len; | ||||||
| 
 | 
 | ||||||
|  | @ -1503,7 +1501,7 @@ static long random_ioctl(struct file *f, unsigned int cmd, unsigned long arg) | ||||||
| 			return -EINVAL; | 			return -EINVAL; | ||||||
| 		if (get_user(len, p++)) | 		if (get_user(len, p++)) | ||||||
| 			return -EFAULT; | 			return -EFAULT; | ||||||
| 		ret = import_single_range(ITER_SOURCE, p, len, &iov, &iter); | 		ret = import_single_range(ITER_SOURCE, p, len, &iter); | ||||||
| 		if (unlikely(ret)) | 		if (unlikely(ret)) | ||||||
| 			return ret; | 			return ret; | ||||||
| 		ret = write_pool_user(&iter); | 		ret = write_pool_user(&iter); | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								fs/aio.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								fs/aio.c
									
									
									
									
									
								
							|  | @ -1498,7 +1498,7 @@ static ssize_t aio_setup_rw(int rw, const struct iocb *iocb, | ||||||
| 	size_t len = iocb->aio_nbytes; | 	size_t len = iocb->aio_nbytes; | ||||||
| 
 | 
 | ||||||
| 	if (!vectored) { | 	if (!vectored) { | ||||||
| 		ssize_t ret = import_single_range(rw, buf, len, *iovec, iter); | 		ssize_t ret = import_single_range(rw, buf, len, iter); | ||||||
| 		*iovec = NULL; | 		*iovec = NULL; | ||||||
| 		return ret; | 		return ret; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -348,7 +348,7 @@ ssize_t __import_iovec(int type, const struct iovec __user *uvec, | ||||||
| 		 unsigned nr_segs, unsigned fast_segs, struct iovec **iovp, | 		 unsigned nr_segs, unsigned fast_segs, struct iovec **iovp, | ||||||
| 		 struct iov_iter *i, bool compat); | 		 struct iov_iter *i, bool compat); | ||||||
| int import_single_range(int type, void __user *buf, size_t len, | int import_single_range(int type, void __user *buf, size_t len, | ||||||
| 		 struct iovec *iov, struct iov_iter *i); | 		 struct iov_iter *i); | ||||||
| int import_ubuf(int type, void __user *buf, size_t len, struct iov_iter *i); | int import_ubuf(int type, void __user *buf, size_t len, struct iov_iter *i); | ||||||
| 
 | 
 | ||||||
| static inline void iov_iter_ubuf(struct iov_iter *i, unsigned int direction, | static inline void iov_iter_ubuf(struct iov_iter *i, unsigned int direction, | ||||||
|  |  | ||||||
|  | @ -2177,14 +2177,13 @@ static int user_events_open(struct inode *node, struct file *file) | ||||||
| static ssize_t user_events_write(struct file *file, const char __user *ubuf, | static ssize_t user_events_write(struct file *file, const char __user *ubuf, | ||||||
| 				 size_t count, loff_t *ppos) | 				 size_t count, loff_t *ppos) | ||||||
| { | { | ||||||
| 	struct iovec iov; |  | ||||||
| 	struct iov_iter i; | 	struct iov_iter i; | ||||||
| 
 | 
 | ||||||
| 	if (unlikely(*ppos != 0)) | 	if (unlikely(*ppos != 0)) | ||||||
| 		return -EFAULT; | 		return -EFAULT; | ||||||
| 
 | 
 | ||||||
| 	if (unlikely(import_single_range(ITER_SOURCE, (char __user *)ubuf, | 	if (unlikely(import_single_range(ITER_SOURCE, (char __user *)ubuf, | ||||||
| 					 count, &iov, &i))) | 					 count, &i))) | ||||||
| 		return -EFAULT; | 		return -EFAULT; | ||||||
| 
 | 
 | ||||||
| 	return user_events_write_core(file, &i); | 	return user_events_write_core(file, &i); | ||||||
|  |  | ||||||
|  | @ -1370,7 +1370,7 @@ ssize_t import_iovec(int type, const struct iovec __user *uvec, | ||||||
| EXPORT_SYMBOL(import_iovec); | EXPORT_SYMBOL(import_iovec); | ||||||
| 
 | 
 | ||||||
| int import_single_range(int rw, void __user *buf, size_t len, | int import_single_range(int rw, void __user *buf, size_t len, | ||||||
| 		 struct iovec *iov, struct iov_iter *i) | 			struct iov_iter *i) | ||||||
| { | { | ||||||
| 	if (len > MAX_RW_COUNT) | 	if (len > MAX_RW_COUNT) | ||||||
| 		len = MAX_RW_COUNT; | 		len = MAX_RW_COUNT; | ||||||
|  |  | ||||||
|  | @ -1849,7 +1849,6 @@ static int receive_fallback_to_copy(struct sock *sk, | ||||||
| { | { | ||||||
| 	unsigned long copy_address = (unsigned long)zc->copybuf_address; | 	unsigned long copy_address = (unsigned long)zc->copybuf_address; | ||||||
| 	struct msghdr msg = {}; | 	struct msghdr msg = {}; | ||||||
| 	struct iovec iov; |  | ||||||
| 	int err; | 	int err; | ||||||
| 
 | 
 | ||||||
| 	zc->length = 0; | 	zc->length = 0; | ||||||
|  | @ -1859,7 +1858,7 @@ static int receive_fallback_to_copy(struct sock *sk, | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	err = import_single_range(ITER_DEST, (void __user *)copy_address, | 	err = import_single_range(ITER_DEST, (void __user *)copy_address, | ||||||
| 				  inq, &iov, &msg.msg_iter); | 				  inq, &msg.msg_iter); | ||||||
| 	if (err) | 	if (err) | ||||||
| 		return err; | 		return err; | ||||||
| 
 | 
 | ||||||
|  | @ -1886,14 +1885,13 @@ static int tcp_copy_straggler_data(struct tcp_zerocopy_receive *zc, | ||||||
| { | { | ||||||
| 	unsigned long copy_address = (unsigned long)zc->copybuf_address; | 	unsigned long copy_address = (unsigned long)zc->copybuf_address; | ||||||
| 	struct msghdr msg = {}; | 	struct msghdr msg = {}; | ||||||
| 	struct iovec iov; |  | ||||||
| 	int err; | 	int err; | ||||||
| 
 | 
 | ||||||
| 	if (copy_address != zc->copybuf_address) | 	if (copy_address != zc->copybuf_address) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	err = import_single_range(ITER_DEST, (void __user *)copy_address, | 	err = import_single_range(ITER_DEST, (void __user *)copy_address, | ||||||
| 				  copylen, &iov, &msg.msg_iter); | 				  copylen, &msg.msg_iter); | ||||||
| 	if (err) | 	if (err) | ||||||
| 		return err; | 		return err; | ||||||
| 	err = skb_copy_datagram_msg(skb, *offset, &msg, copylen); | 	err = skb_copy_datagram_msg(skb, *offset, &msg, copylen); | ||||||
|  |  | ||||||
|  | @ -2161,10 +2161,9 @@ int __sys_sendto(int fd, void __user *buff, size_t len, unsigned int flags, | ||||||
| 	struct sockaddr_storage address; | 	struct sockaddr_storage address; | ||||||
| 	int err; | 	int err; | ||||||
| 	struct msghdr msg; | 	struct msghdr msg; | ||||||
| 	struct iovec iov; |  | ||||||
| 	int fput_needed; | 	int fput_needed; | ||||||
| 
 | 
 | ||||||
| 	err = import_single_range(ITER_SOURCE, buff, len, &iov, &msg.msg_iter); | 	err = import_single_range(ITER_SOURCE, buff, len, &msg.msg_iter); | ||||||
| 	if (unlikely(err)) | 	if (unlikely(err)) | ||||||
| 		return err; | 		return err; | ||||||
| 	sock = sockfd_lookup_light(fd, &err, &fput_needed); | 	sock = sockfd_lookup_light(fd, &err, &fput_needed); | ||||||
|  | @ -2226,11 +2225,10 @@ int __sys_recvfrom(int fd, void __user *ubuf, size_t size, unsigned int flags, | ||||||
| 		.msg_name = addr ? (struct sockaddr *)&address : NULL, | 		.msg_name = addr ? (struct sockaddr *)&address : NULL, | ||||||
| 	}; | 	}; | ||||||
| 	struct socket *sock; | 	struct socket *sock; | ||||||
| 	struct iovec iov; |  | ||||||
| 	int err, err2; | 	int err, err2; | ||||||
| 	int fput_needed; | 	int fput_needed; | ||||||
| 
 | 
 | ||||||
| 	err = import_single_range(ITER_DEST, ubuf, size, &iov, &msg.msg_iter); | 	err = import_single_range(ITER_DEST, ubuf, size, &msg.msg_iter); | ||||||
| 	if (unlikely(err)) | 	if (unlikely(err)) | ||||||
| 		return err; | 		return err; | ||||||
| 	sock = sockfd_lookup_light(fd, &err, &fput_needed); | 	sock = sockfd_lookup_light(fd, &err, &fput_needed); | ||||||
|  |  | ||||||
|  | @ -1252,12 +1252,11 @@ long keyctl_instantiate_key(key_serial_t id, | ||||||
| 			    key_serial_t ringid) | 			    key_serial_t ringid) | ||||||
| { | { | ||||||
| 	if (_payload && plen) { | 	if (_payload && plen) { | ||||||
| 		struct iovec iov; |  | ||||||
| 		struct iov_iter from; | 		struct iov_iter from; | ||||||
| 		int ret; | 		int ret; | ||||||
| 
 | 
 | ||||||
| 		ret = import_single_range(ITER_SOURCE, (void __user *)_payload, plen, | 		ret = import_single_range(ITER_SOURCE, (void __user *)_payload, plen, | ||||||
| 					  &iov, &from); | 					  &from); | ||||||
| 		if (unlikely(ret)) | 		if (unlikely(ret)) | ||||||
| 			return ret; | 			return ret; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Jens Axboe
						Jens Axboe