Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19f4fc3a authored by Al Viro's avatar Al Viro
Browse files

convert sendfile{,64} to COMPAT_SYSCALL_DEFINE



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 7d197ed4
Loading
Loading
Loading
Loading
+0 −20
Original line number Diff line number Diff line
@@ -226,26 +226,6 @@ SYSCALL_DEFINE1(32_personality, unsigned long, personality)
	return ret;
}

SYSCALL_DEFINE4(32_sendfile, long, out_fd, long, in_fd,
	compat_off_t __user *, offset, s32, count)
{
	mm_segment_t old_fs = get_fs();
	int ret;
	off_t of;

	if (offset && get_user(of, offset))
		return -EFAULT;

	set_fs(KERNEL_DS);
	ret = sys_sendfile(out_fd, in_fd, offset ? (off_t __user *)&of : NULL, count);
	set_fs(old_fs);

	if (offset && put_user(of, offset))
		return -EFAULT;

	return ret;
}

asmlinkage ssize_t sys32_readahead(int fd, u32 pad0, u64 a2, u64 a3,
				   size_t count)
{
+1 −1
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ EXPORT(sysn32_call_table)
	PTR	compat_sys_setitimer
	PTR	sys_alarm
	PTR	sys_getpid
	PTR	sys_32_sendfile
	PTR	compat_sys_sendfile
	PTR	sys_socket			/* 6040 */
	PTR	sys_connect
	PTR	sys_accept
+1 −1
Original line number Diff line number Diff line
@@ -399,7 +399,7 @@ sys_call_table:
	PTR	sys_capget
	PTR	sys_capset			/* 4205 */
	PTR	compat_sys_sigaltstack
	PTR	sys_32_sendfile
	PTR	compat_sys_sendfile
	PTR	sys_ni_syscall
	PTR	sys_ni_syscall
	PTR	sys_mips_mmap2			/* 4210 */
+0 −19
Original line number Diff line number Diff line
@@ -60,25 +60,6 @@ asmlinkage long sys32_unimplemented(int r26, int r25, int r24, int r23,
    return -ENOSYS;
}

/* Note: it is necessary to treat out_fd and in_fd as unsigned ints, with the
 * corresponding cast to a signed int to insure that the proper conversion
 * (sign extension) between the register representation of a signed int (msr in
 * 32-bit mode) and the register representation of a signed int (msr in 64-bit
 * mode) is performed.
 */
asmlinkage long sys32_sendfile(u32 out_fd, u32 in_fd,
			       compat_off_t __user *offset, compat_size_t count)
{
	return compat_sys_sendfile((int)out_fd, (int)in_fd, offset, count);
}

asmlinkage long sys32_sendfile64(u32 out_fd, u32 in_fd,
				 compat_loff_t __user *offset, compat_size_t count)
{
	return sys_sendfile64((int)out_fd, (int)in_fd,
				(loff_t __user *)offset, count);
}

asmlinkage long sys32_semctl(int semid, int semnum, int cmd, union semun arg)
{
        union semun u;
+2 −2
Original line number Diff line number Diff line
@@ -198,7 +198,7 @@
	ENTRY_SAME(madvise)
	ENTRY_SAME(clone_wrapper)	/* 120 */
	ENTRY_SAME(setdomainname)
	ENTRY_DIFF(sendfile)
	ENTRY_COMP(sendfile)
	/* struct sockaddr... */
	ENTRY_SAME(recvfrom)
	/* struct timex contains longs */
@@ -304,7 +304,7 @@
	ENTRY_SAME(gettid)
	ENTRY_OURS(readahead)
	ENTRY_SAME(tkill)
	ENTRY_DIFF(sendfile64)
	ENTRY_COMP(sendfile64)
	ENTRY_COMP(futex)		/* 210 */
	ENTRY_COMP(sched_setaffinity)
	ENTRY_COMP(sched_getaffinity)
Loading