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

Commit c7887325 authored by David Howells's avatar David Howells Committed by Linus Torvalds
Browse files

Mark arguments to certain syscalls as being const



Mark arguments to certain system calls as being const where they should be but
aren't.  The list includes:

 (*) The filename arguments of various stat syscalls, execve(), various utimes
     syscalls and some mount syscalls.

 (*) The filename arguments of some syscall helpers relating to the above.

 (*) The buffer argument of various write syscalls.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b84ae4a1
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -244,7 +244,7 @@ do_osf_statfs(struct path *path, struct osf_statfs __user *buffer,
	return error;	
}

SYSCALL_DEFINE3(osf_statfs, char __user *, pathname,
SYSCALL_DEFINE3(osf_statfs, const char __user *, pathname,
		struct osf_statfs __user *, buffer, unsigned long, bufsiz)
{
	struct path path;
@@ -358,7 +358,7 @@ osf_procfs_mount(char *dirname, struct procfs_args __user *args, int flags)
	return do_mount("", dirname, "proc", flags, NULL);
}

SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path,
SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path,
		int, flag, void __user *, data)
{
	int retval;
@@ -932,7 +932,7 @@ SYSCALL_DEFINE3(osf_setitimer, int, which, struct itimerval32 __user *, in,

}

SYSCALL_DEFINE2(osf_utimes, char __user *, filename,
SYSCALL_DEFINE2(osf_utimes, const char __user *, filename,
		struct timeval32 __user *, tvs)
{
	struct timespec tv[2];
+1 −1
Original line number Diff line number Diff line
@@ -387,7 +387,7 @@ EXPORT_SYMBOL(dump_elf_task_fp);
 * sys_execve() executes a new program.
 */
asmlinkage int
do_sys_execve(char __user *ufilename, char __user * __user *argv,
do_sys_execve(const char __user *ufilename, char __user * __user *argv,
	      char __user * __user *envp, struct pt_regs *regs)
{
	int error;
+2 −2
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ asmlinkage int sys_vfork(struct pt_regs *regs)
/* sys_execve() executes a new program.
 * This is called indirectly via a small wrapper
 */
asmlinkage int sys_execve(char __user *filenamei, char __user * __user *argv,
asmlinkage int sys_execve(const char __user *filenamei, char __user * __user *argv,
			  char __user * __user *envp, struct pt_regs *regs)
{
	int error;
@@ -84,7 +84,7 @@ int kernel_execve(const char *filename, char *const argv[], char *const envp[])
	int ret;

	memset(&regs, 0, sizeof(struct pt_regs));
	ret = do_execve((char *)filename, (char __user * __user *)argv,
	ret = do_execve(filename, (char __user * __user *)argv,
			(char __user * __user *)envp, &regs);
	if (ret < 0)
		goto out;
+3 −3
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ static long cp_oldabi_stat64(struct kstat *stat,
	return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
}

asmlinkage long sys_oabi_stat64(char __user * filename,
asmlinkage long sys_oabi_stat64(const char __user * filename,
				struct oldabi_stat64 __user * statbuf)
{
	struct kstat stat;
@@ -151,7 +151,7 @@ asmlinkage long sys_oabi_stat64(char __user * filename,
	return error;
}

asmlinkage long sys_oabi_lstat64(char __user * filename,
asmlinkage long sys_oabi_lstat64(const char __user * filename,
				 struct oldabi_stat64 __user * statbuf)
{
	struct kstat stat;
@@ -172,7 +172,7 @@ asmlinkage long sys_oabi_fstat64(unsigned long fd,
}

asmlinkage long sys_oabi_fstatat64(int dfd,
				   char __user *filename,
				   const char __user *filename,
				   struct oldabi_stat64  __user *statbuf,
				   int flag)
{
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ asmlinkage int sys_clone(unsigned long, unsigned long,
			 unsigned long, unsigned long,
			 struct pt_regs *);
asmlinkage int sys_vfork(struct pt_regs *);
asmlinkage int sys_execve(char __user *, char __user *__user *,
asmlinkage int sys_execve(const char __user *, char __user *__user *,
			  char __user *__user *, struct pt_regs *);

/* kernel/signal.c */
Loading