forked from mirrors/linux
		
	mm: remove compat_process_vm_{readv,writev}
Now that import_iovec handles compat iovecs, the native syscalls can be used for the compat case as well. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
		
							parent
							
								
									598b3cec83
								
							
						
					
					
						commit
						c3973b401e
					
				
					 17 changed files with 30 additions and 109 deletions
				
			
		|  | @ -763,9 +763,9 @@ __SYSCALL(__NR_sendmmsg, compat_sys_sendmmsg) | ||||||
| #define __NR_setns 375 | #define __NR_setns 375 | ||||||
| __SYSCALL(__NR_setns, sys_setns) | __SYSCALL(__NR_setns, sys_setns) | ||||||
| #define __NR_process_vm_readv 376 | #define __NR_process_vm_readv 376 | ||||||
| __SYSCALL(__NR_process_vm_readv, compat_sys_process_vm_readv) | __SYSCALL(__NR_process_vm_readv, sys_process_vm_readv) | ||||||
| #define __NR_process_vm_writev 377 | #define __NR_process_vm_writev 377 | ||||||
| __SYSCALL(__NR_process_vm_writev, compat_sys_process_vm_writev) | __SYSCALL(__NR_process_vm_writev, sys_process_vm_writev) | ||||||
| #define __NR_kcmp 378 | #define __NR_kcmp 378 | ||||||
| __SYSCALL(__NR_kcmp, sys_kcmp) | __SYSCALL(__NR_kcmp, sys_kcmp) | ||||||
| #define __NR_finit_module 379 | #define __NR_finit_module 379 | ||||||
|  |  | ||||||
|  | @ -317,8 +317,8 @@ | ||||||
| 306	n32	syncfs				sys_syncfs | 306	n32	syncfs				sys_syncfs | ||||||
| 307	n32	sendmmsg			compat_sys_sendmmsg | 307	n32	sendmmsg			compat_sys_sendmmsg | ||||||
| 308	n32	setns				sys_setns | 308	n32	setns				sys_setns | ||||||
| 309	n32	process_vm_readv		compat_sys_process_vm_readv | 309	n32	process_vm_readv		sys_process_vm_readv | ||||||
| 310	n32	process_vm_writev		compat_sys_process_vm_writev | 310	n32	process_vm_writev		sys_process_vm_writev | ||||||
| 311	n32	kcmp				sys_kcmp | 311	n32	kcmp				sys_kcmp | ||||||
| 312	n32	finit_module			sys_finit_module | 312	n32	finit_module			sys_finit_module | ||||||
| 313	n32	sched_setattr			sys_sched_setattr | 313	n32	sched_setattr			sys_sched_setattr | ||||||
|  |  | ||||||
|  | @ -356,8 +356,8 @@ | ||||||
| 342	o32	syncfs				sys_syncfs | 342	o32	syncfs				sys_syncfs | ||||||
| 343	o32	sendmmsg			sys_sendmmsg			compat_sys_sendmmsg | 343	o32	sendmmsg			sys_sendmmsg			compat_sys_sendmmsg | ||||||
| 344	o32	setns				sys_setns | 344	o32	setns				sys_setns | ||||||
| 345	o32	process_vm_readv		sys_process_vm_readv		compat_sys_process_vm_readv | 345	o32	process_vm_readv		sys_process_vm_readv | ||||||
| 346	o32	process_vm_writev		sys_process_vm_writev		compat_sys_process_vm_writev | 346	o32	process_vm_writev		sys_process_vm_writev | ||||||
| 347	o32	kcmp				sys_kcmp | 347	o32	kcmp				sys_kcmp | ||||||
| 348	o32	finit_module			sys_finit_module | 348	o32	finit_module			sys_finit_module | ||||||
| 349	o32	sched_setattr			sys_sched_setattr | 349	o32	sched_setattr			sys_sched_setattr | ||||||
|  |  | ||||||
|  | @ -372,8 +372,8 @@ | ||||||
| 327	common	syncfs			sys_syncfs | 327	common	syncfs			sys_syncfs | ||||||
| 328	common	setns			sys_setns | 328	common	setns			sys_setns | ||||||
| 329	common	sendmmsg		sys_sendmmsg			compat_sys_sendmmsg | 329	common	sendmmsg		sys_sendmmsg			compat_sys_sendmmsg | ||||||
| 330	common	process_vm_readv	sys_process_vm_readv		compat_sys_process_vm_readv | 330	common	process_vm_readv	sys_process_vm_readv | ||||||
| 331	common	process_vm_writev	sys_process_vm_writev		compat_sys_process_vm_writev | 331	common	process_vm_writev	sys_process_vm_writev | ||||||
| 332	common	kcmp			sys_kcmp | 332	common	kcmp			sys_kcmp | ||||||
| 333	common	finit_module		sys_finit_module | 333	common	finit_module		sys_finit_module | ||||||
| 334	common	sched_setattr		sys_sched_setattr | 334	common	sched_setattr		sys_sched_setattr | ||||||
|  |  | ||||||
|  | @ -449,8 +449,8 @@ | ||||||
| 348	common	syncfs				sys_syncfs | 348	common	syncfs				sys_syncfs | ||||||
| 349	common	sendmmsg			sys_sendmmsg			compat_sys_sendmmsg | 349	common	sendmmsg			sys_sendmmsg			compat_sys_sendmmsg | ||||||
| 350	common	setns				sys_setns | 350	common	setns				sys_setns | ||||||
| 351	nospu	process_vm_readv		sys_process_vm_readv		compat_sys_process_vm_readv | 351	nospu	process_vm_readv		sys_process_vm_readv | ||||||
| 352	nospu	process_vm_writev		sys_process_vm_writev		compat_sys_process_vm_writev | 352	nospu	process_vm_writev		sys_process_vm_writev | ||||||
| 353	nospu	finit_module			sys_finit_module | 353	nospu	finit_module			sys_finit_module | ||||||
| 354	nospu	kcmp				sys_kcmp | 354	nospu	kcmp				sys_kcmp | ||||||
| 355	common	sched_setattr			sys_sched_setattr | 355	common	sched_setattr			sys_sched_setattr | ||||||
|  |  | ||||||
|  | @ -347,8 +347,8 @@ | ||||||
| 337  common	clock_adjtime		sys_clock_adjtime		sys_clock_adjtime32 | 337  common	clock_adjtime		sys_clock_adjtime		sys_clock_adjtime32 | ||||||
| 338  common	syncfs			sys_syncfs			sys_syncfs | 338  common	syncfs			sys_syncfs			sys_syncfs | ||||||
| 339  common	setns			sys_setns			sys_setns | 339  common	setns			sys_setns			sys_setns | ||||||
| 340  common	process_vm_readv	sys_process_vm_readv		compat_sys_process_vm_readv | 340  common	process_vm_readv	sys_process_vm_readv		sys_process_vm_readv | ||||||
| 341  common	process_vm_writev	sys_process_vm_writev		compat_sys_process_vm_writev | 341  common	process_vm_writev	sys_process_vm_writev		sys_process_vm_writev | ||||||
| 342  common	s390_runtime_instr	sys_s390_runtime_instr		sys_s390_runtime_instr | 342  common	s390_runtime_instr	sys_s390_runtime_instr		sys_s390_runtime_instr | ||||||
| 343  common	kcmp			sys_kcmp			sys_kcmp | 343  common	kcmp			sys_kcmp			sys_kcmp | ||||||
| 344  common	finit_module		sys_finit_module		sys_finit_module | 344  common	finit_module		sys_finit_module		sys_finit_module | ||||||
|  |  | ||||||
|  | @ -406,8 +406,8 @@ | ||||||
| 335	common	syncfs			sys_syncfs | 335	common	syncfs			sys_syncfs | ||||||
| 336	common	sendmmsg		sys_sendmmsg			compat_sys_sendmmsg | 336	common	sendmmsg		sys_sendmmsg			compat_sys_sendmmsg | ||||||
| 337	common	setns			sys_setns | 337	common	setns			sys_setns | ||||||
| 338	common	process_vm_readv	sys_process_vm_readv		compat_sys_process_vm_readv | 338	common	process_vm_readv	sys_process_vm_readv | ||||||
| 339	common	process_vm_writev	sys_process_vm_writev		compat_sys_process_vm_writev | 339	common	process_vm_writev	sys_process_vm_writev | ||||||
| 340	32	kern_features		sys_ni_syscall			sys_kern_features | 340	32	kern_features		sys_ni_syscall			sys_kern_features | ||||||
| 340	64	kern_features		sys_kern_features | 340	64	kern_features		sys_kern_features | ||||||
| 341	common	kcmp			sys_kcmp | 341	common	kcmp			sys_kcmp | ||||||
|  |  | ||||||
|  | @ -17,6 +17,8 @@ | ||||||
| #define __x32_sys_getsockopt	__x64_sys_getsockopt | #define __x32_sys_getsockopt	__x64_sys_getsockopt | ||||||
| #define __x32_sys_setsockopt	__x64_sys_setsockopt | #define __x32_sys_setsockopt	__x64_sys_setsockopt | ||||||
| #define __x32_sys_vmsplice	__x64_sys_vmsplice | #define __x32_sys_vmsplice	__x64_sys_vmsplice | ||||||
|  | #define __x32_sys_process_vm_readv	__x64_sys_process_vm_readv | ||||||
|  | #define __x32_sys_process_vm_writev	__x64_sys_process_vm_writev | ||||||
| 
 | 
 | ||||||
| #define __SYSCALL_64(nr, sym) | #define __SYSCALL_64(nr, sym) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -358,8 +358,8 @@ | ||||||
| 344	i386	syncfs			sys_syncfs | 344	i386	syncfs			sys_syncfs | ||||||
| 345	i386	sendmmsg		sys_sendmmsg			compat_sys_sendmmsg | 345	i386	sendmmsg		sys_sendmmsg			compat_sys_sendmmsg | ||||||
| 346	i386	setns			sys_setns | 346	i386	setns			sys_setns | ||||||
| 347	i386	process_vm_readv	sys_process_vm_readv		compat_sys_process_vm_readv | 347	i386	process_vm_readv	sys_process_vm_readv | ||||||
| 348	i386	process_vm_writev	sys_process_vm_writev		compat_sys_process_vm_writev | 348	i386	process_vm_writev	sys_process_vm_writev | ||||||
| 349	i386	kcmp			sys_kcmp | 349	i386	kcmp			sys_kcmp | ||||||
| 350	i386	finit_module		sys_finit_module | 350	i386	finit_module		sys_finit_module | ||||||
| 351	i386	sched_setattr		sys_sched_setattr | 351	i386	sched_setattr		sys_sched_setattr | ||||||
|  |  | ||||||
|  | @ -395,8 +395,8 @@ | ||||||
| 536	x32	rt_tgsigqueueinfo	compat_sys_rt_tgsigqueueinfo | 536	x32	rt_tgsigqueueinfo	compat_sys_rt_tgsigqueueinfo | ||||||
| 537	x32	recvmmsg		compat_sys_recvmmsg_time64 | 537	x32	recvmmsg		compat_sys_recvmmsg_time64 | ||||||
| 538	x32	sendmmsg		compat_sys_sendmmsg | 538	x32	sendmmsg		compat_sys_sendmmsg | ||||||
| 539	x32	process_vm_readv	compat_sys_process_vm_readv | 539	x32	process_vm_readv	sys_process_vm_readv | ||||||
| 540	x32	process_vm_writev	compat_sys_process_vm_writev | 540	x32	process_vm_writev	sys_process_vm_writev | ||||||
| 541	x32	setsockopt		sys_setsockopt | 541	x32	setsockopt		sys_setsockopt | ||||||
| 542	x32	getsockopt		sys_getsockopt | 542	x32	getsockopt		sys_getsockopt | ||||||
| 543	x32	io_setup		compat_sys_io_setup | 543	x32	io_setup		compat_sys_io_setup | ||||||
|  |  | ||||||
|  | @ -780,14 +780,6 @@ asmlinkage long compat_sys_open_by_handle_at(int mountdirfd, | ||||||
| 					     int flags); | 					     int flags); | ||||||
| asmlinkage long compat_sys_sendmmsg(int fd, struct compat_mmsghdr __user *mmsg, | asmlinkage long compat_sys_sendmmsg(int fd, struct compat_mmsghdr __user *mmsg, | ||||||
| 				    unsigned vlen, unsigned int flags); | 				    unsigned vlen, unsigned int flags); | ||||||
| asmlinkage ssize_t compat_sys_process_vm_readv(compat_pid_t pid, |  | ||||||
| 		const struct compat_iovec __user *lvec, |  | ||||||
| 		compat_ulong_t liovcnt, const struct compat_iovec __user *rvec, |  | ||||||
| 		compat_ulong_t riovcnt, compat_ulong_t flags); |  | ||||||
| asmlinkage ssize_t compat_sys_process_vm_writev(compat_pid_t pid, |  | ||||||
| 		const struct compat_iovec __user *lvec, |  | ||||||
| 		compat_ulong_t liovcnt, const struct compat_iovec __user *rvec, |  | ||||||
| 		compat_ulong_t riovcnt, compat_ulong_t flags); |  | ||||||
| asmlinkage long compat_sys_execveat(int dfd, const char __user *filename, | asmlinkage long compat_sys_execveat(int dfd, const char __user *filename, | ||||||
| 		     const compat_uptr_t __user *argv, | 		     const compat_uptr_t __user *argv, | ||||||
| 		     const compat_uptr_t __user *envp, int flags); | 		     const compat_uptr_t __user *envp, int flags); | ||||||
|  |  | ||||||
|  | @ -727,11 +727,9 @@ __SYSCALL(__NR_setns, sys_setns) | ||||||
| #define __NR_sendmmsg 269 | #define __NR_sendmmsg 269 | ||||||
| __SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) | __SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) | ||||||
| #define __NR_process_vm_readv 270 | #define __NR_process_vm_readv 270 | ||||||
| __SC_COMP(__NR_process_vm_readv, sys_process_vm_readv, \ | __SYSCALL(__NR_process_vm_readv, sys_process_vm_readv) | ||||||
|           compat_sys_process_vm_readv) |  | ||||||
| #define __NR_process_vm_writev 271 | #define __NR_process_vm_writev 271 | ||||||
| __SC_COMP(__NR_process_vm_writev, sys_process_vm_writev, \ | __SYSCALL(__NR_process_vm_writev, sys_process_vm_writev) | ||||||
|           compat_sys_process_vm_writev) |  | ||||||
| #define __NR_kcmp 272 | #define __NR_kcmp 272 | ||||||
| __SYSCALL(__NR_kcmp, sys_kcmp) | __SYSCALL(__NR_kcmp, sys_kcmp) | ||||||
| #define __NR_finit_module 273 | #define __NR_finit_module 273 | ||||||
|  |  | ||||||
|  | @ -14,10 +14,6 @@ | ||||||
| #include <linux/slab.h> | #include <linux/slab.h> | ||||||
| #include <linux/syscalls.h> | #include <linux/syscalls.h> | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_COMPAT |  | ||||||
| #include <linux/compat.h> |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| /**
 | /**
 | ||||||
|  * process_vm_rw_pages - read/write pages from task specified |  * process_vm_rw_pages - read/write pages from task specified | ||||||
|  * @pages: array of pointers to pages we want to copy |  * @pages: array of pointers to pages we want to copy | ||||||
|  | @ -304,68 +300,3 @@ SYSCALL_DEFINE6(process_vm_writev, pid_t, pid, | ||||||
| { | { | ||||||
| 	return process_vm_rw(pid, lvec, liovcnt, rvec, riovcnt, flags, 1); | 	return process_vm_rw(pid, lvec, liovcnt, rvec, riovcnt, flags, 1); | ||||||
| } | } | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_COMPAT |  | ||||||
| 
 |  | ||||||
| static ssize_t |  | ||||||
| compat_process_vm_rw(compat_pid_t pid, |  | ||||||
| 		     const struct compat_iovec __user *lvec, |  | ||||||
| 		     unsigned long liovcnt, |  | ||||||
| 		     const struct compat_iovec __user *rvec, |  | ||||||
| 		     unsigned long riovcnt, |  | ||||||
| 		     unsigned long flags, int vm_write) |  | ||||||
| { |  | ||||||
| 	struct iovec iovstack_l[UIO_FASTIOV]; |  | ||||||
| 	struct iovec iovstack_r[UIO_FASTIOV]; |  | ||||||
| 	struct iovec *iov_l = iovstack_l; |  | ||||||
| 	struct iovec *iov_r = iovstack_r; |  | ||||||
| 	struct iov_iter iter; |  | ||||||
| 	ssize_t rc = -EFAULT; |  | ||||||
| 	int dir = vm_write ? WRITE : READ; |  | ||||||
| 
 |  | ||||||
| 	if (flags != 0) |  | ||||||
| 		return -EINVAL; |  | ||||||
| 
 |  | ||||||
| 	rc = import_iovec(dir, (const struct iovec __user *)lvec, liovcnt, |  | ||||||
| 			  UIO_FASTIOV, &iov_l, &iter); |  | ||||||
| 	if (rc < 0) |  | ||||||
| 		return rc; |  | ||||||
| 	if (!iov_iter_count(&iter)) |  | ||||||
| 		goto free_iov_l; |  | ||||||
| 	iov_r = iovec_from_user((const struct iovec __user *)rvec, riovcnt, |  | ||||||
| 				UIO_FASTIOV, iovstack_r, true); |  | ||||||
| 	if (IS_ERR(iov_r)) { |  | ||||||
| 		rc = PTR_ERR(iov_r); |  | ||||||
| 		goto free_iov_l; |  | ||||||
| 	} |  | ||||||
| 	rc = process_vm_rw_core(pid, &iter, iov_r, riovcnt, flags, vm_write); |  | ||||||
| 	if (iov_r != iovstack_r) |  | ||||||
| 		kfree(iov_r); |  | ||||||
| free_iov_l: |  | ||||||
| 	kfree(iov_l); |  | ||||||
| 	return rc; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| COMPAT_SYSCALL_DEFINE6(process_vm_readv, compat_pid_t, pid, |  | ||||||
| 		       const struct compat_iovec __user *, lvec, |  | ||||||
| 		       compat_ulong_t, liovcnt, |  | ||||||
| 		       const struct compat_iovec __user *, rvec, |  | ||||||
| 		       compat_ulong_t, riovcnt, |  | ||||||
| 		       compat_ulong_t, flags) |  | ||||||
| { |  | ||||||
| 	return compat_process_vm_rw(pid, lvec, liovcnt, rvec, |  | ||||||
| 				    riovcnt, flags, 0); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| COMPAT_SYSCALL_DEFINE6(process_vm_writev, compat_pid_t, pid, |  | ||||||
| 		       const struct compat_iovec __user *, lvec, |  | ||||||
| 		       compat_ulong_t, liovcnt, |  | ||||||
| 		       const struct compat_iovec __user *, rvec, |  | ||||||
| 		       compat_ulong_t, riovcnt, |  | ||||||
| 		       compat_ulong_t, flags) |  | ||||||
| { |  | ||||||
| 	return compat_process_vm_rw(pid, lvec, liovcnt, rvec, |  | ||||||
| 				    riovcnt, flags, 1); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #endif |  | ||||||
|  |  | ||||||
|  | @ -727,11 +727,9 @@ __SYSCALL(__NR_setns, sys_setns) | ||||||
| #define __NR_sendmmsg 269 | #define __NR_sendmmsg 269 | ||||||
| __SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) | __SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg) | ||||||
| #define __NR_process_vm_readv 270 | #define __NR_process_vm_readv 270 | ||||||
| __SC_COMP(__NR_process_vm_readv, sys_process_vm_readv, \ | __SYSCALL(__NR_process_vm_readv, sys_process_vm_readv) | ||||||
|           compat_sys_process_vm_readv) |  | ||||||
| #define __NR_process_vm_writev 271 | #define __NR_process_vm_writev 271 | ||||||
| __SC_COMP(__NR_process_vm_writev, sys_process_vm_writev, \ | __SYSCALL(__NR_process_vm_writev, sys_process_vm_writev) | ||||||
|           compat_sys_process_vm_writev) |  | ||||||
| #define __NR_kcmp 272 | #define __NR_kcmp 272 | ||||||
| __SYSCALL(__NR_kcmp, sys_kcmp) | __SYSCALL(__NR_kcmp, sys_kcmp) | ||||||
| #define __NR_finit_module 273 | #define __NR_finit_module 273 | ||||||
|  |  | ||||||
|  | @ -443,8 +443,8 @@ | ||||||
| 348	common	syncfs				sys_syncfs | 348	common	syncfs				sys_syncfs | ||||||
| 349	common	sendmmsg			sys_sendmmsg			compat_sys_sendmmsg | 349	common	sendmmsg			sys_sendmmsg			compat_sys_sendmmsg | ||||||
| 350	common	setns				sys_setns | 350	common	setns				sys_setns | ||||||
| 351	nospu	process_vm_readv		sys_process_vm_readv		compat_sys_process_vm_readv | 351	nospu	process_vm_readv		sys_process_vm_readv | ||||||
| 352	nospu	process_vm_writev		sys_process_vm_writev		compat_sys_process_vm_writev | 352	nospu	process_vm_writev		sys_process_vm_writev | ||||||
| 353	nospu	finit_module			sys_finit_module | 353	nospu	finit_module			sys_finit_module | ||||||
| 354	nospu	kcmp				sys_kcmp | 354	nospu	kcmp				sys_kcmp | ||||||
| 355	common	sched_setattr			sys_sched_setattr | 355	common	sched_setattr			sys_sched_setattr | ||||||
|  |  | ||||||
|  | @ -347,8 +347,8 @@ | ||||||
| 337  common	clock_adjtime		sys_clock_adjtime		compat_sys_clock_adjtime | 337  common	clock_adjtime		sys_clock_adjtime		compat_sys_clock_adjtime | ||||||
| 338  common	syncfs			sys_syncfs			sys_syncfs | 338  common	syncfs			sys_syncfs			sys_syncfs | ||||||
| 339  common	setns			sys_setns			sys_setns | 339  common	setns			sys_setns			sys_setns | ||||||
| 340  common	process_vm_readv	sys_process_vm_readv		compat_sys_process_vm_readv | 340  common	process_vm_readv	sys_process_vm_readv		sys_process_vm_readv | ||||||
| 341  common	process_vm_writev	sys_process_vm_writev		compat_sys_process_vm_writev | 341  common	process_vm_writev	sys_process_vm_writev		sys_process_vm_writev | ||||||
| 342  common	s390_runtime_instr	sys_s390_runtime_instr		sys_s390_runtime_instr | 342  common	s390_runtime_instr	sys_s390_runtime_instr		sys_s390_runtime_instr | ||||||
| 343  common	kcmp			sys_kcmp			compat_sys_kcmp | 343  common	kcmp			sys_kcmp			compat_sys_kcmp | ||||||
| 344  common	finit_module		sys_finit_module		compat_sys_finit_module | 344  common	finit_module		sys_finit_module		compat_sys_finit_module | ||||||
|  |  | ||||||
|  | @ -395,8 +395,8 @@ | ||||||
| 536	x32	rt_tgsigqueueinfo	compat_sys_rt_tgsigqueueinfo | 536	x32	rt_tgsigqueueinfo	compat_sys_rt_tgsigqueueinfo | ||||||
| 537	x32	recvmmsg		compat_sys_recvmmsg_time64 | 537	x32	recvmmsg		compat_sys_recvmmsg_time64 | ||||||
| 538	x32	sendmmsg		compat_sys_sendmmsg | 538	x32	sendmmsg		compat_sys_sendmmsg | ||||||
| 539	x32	process_vm_readv	compat_sys_process_vm_readv | 539	x32	process_vm_readv	sys_process_vm_readv | ||||||
| 540	x32	process_vm_writev	compat_sys_process_vm_writev | 540	x32	process_vm_writev	sys_process_vm_writev | ||||||
| 541	x32	setsockopt		sys_setsockopt | 541	x32	setsockopt		sys_setsockopt | ||||||
| 542	x32	getsockopt		sys_getsockopt | 542	x32	getsockopt		sys_getsockopt | ||||||
| 543	x32	io_setup		compat_sys_io_setup | 543	x32	io_setup		compat_sys_io_setup | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig