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: David Howells <dhowells@redhat.com> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
b84ae4a140
commit
c788732523
23
fs/compat.c
23
fs/compat.c
@@ -77,7 +77,8 @@ int compat_printk(const char *fmt, ...)
|
||||
* Not all architectures have sys_utime, so implement this in terms
|
||||
* of sys_utimes.
|
||||
*/
|
||||
asmlinkage long compat_sys_utime(char __user *filename, struct compat_utimbuf __user *t)
|
||||
asmlinkage long compat_sys_utime(const char __user *filename,
|
||||
struct compat_utimbuf __user *t)
|
||||
{
|
||||
struct timespec tv[2];
|
||||
|
||||
@@ -91,7 +92,7 @@ asmlinkage long compat_sys_utime(char __user *filename, struct compat_utimbuf __
|
||||
return do_utimes(AT_FDCWD, filename, t ? tv : NULL, 0);
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_utimensat(unsigned int dfd, char __user *filename, struct compat_timespec __user *t, int flags)
|
||||
asmlinkage long compat_sys_utimensat(unsigned int dfd, const char __user *filename, struct compat_timespec __user *t, int flags)
|
||||
{
|
||||
struct timespec tv[2];
|
||||
|
||||
@@ -106,7 +107,7 @@ asmlinkage long compat_sys_utimensat(unsigned int dfd, char __user *filename, st
|
||||
return do_utimes(dfd, filename, t ? tv : NULL, flags);
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename, struct compat_timeval __user *t)
|
||||
asmlinkage long compat_sys_futimesat(unsigned int dfd, const char __user *filename, struct compat_timeval __user *t)
|
||||
{
|
||||
struct timespec tv[2];
|
||||
|
||||
@@ -125,7 +126,7 @@ asmlinkage long compat_sys_futimesat(unsigned int dfd, char __user *filename, st
|
||||
return do_utimes(dfd, filename, t ? tv : NULL, 0);
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_utimes(char __user *filename, struct compat_timeval __user *t)
|
||||
asmlinkage long compat_sys_utimes(const char __user *filename, struct compat_timeval __user *t)
|
||||
{
|
||||
return compat_sys_futimesat(AT_FDCWD, filename, t);
|
||||
}
|
||||
@@ -169,7 +170,7 @@ static int cp_compat_stat(struct kstat *stat, struct compat_stat __user *ubuf)
|
||||
return err;
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_newstat(char __user * filename,
|
||||
asmlinkage long compat_sys_newstat(const char __user * filename,
|
||||
struct compat_stat __user *statbuf)
|
||||
{
|
||||
struct kstat stat;
|
||||
@@ -181,7 +182,7 @@ asmlinkage long compat_sys_newstat(char __user * filename,
|
||||
return cp_compat_stat(&stat, statbuf);
|
||||
}
|
||||
|
||||
asmlinkage long compat_sys_newlstat(char __user * filename,
|
||||
asmlinkage long compat_sys_newlstat(const char __user * filename,
|
||||
struct compat_stat __user *statbuf)
|
||||
{
|
||||
struct kstat stat;
|
||||
@@ -194,7 +195,8 @@ asmlinkage long compat_sys_newlstat(char __user * filename,
|
||||
}
|
||||
|
||||
#ifndef __ARCH_WANT_STAT64
|
||||
asmlinkage long compat_sys_newfstatat(unsigned int dfd, char __user *filename,
|
||||
asmlinkage long compat_sys_newfstatat(unsigned int dfd,
|
||||
const char __user *filename,
|
||||
struct compat_stat __user *statbuf, int flag)
|
||||
{
|
||||
struct kstat stat;
|
||||
@@ -837,9 +839,10 @@ static int do_nfs4_super_data_conv(void *raw_data)
|
||||
#define NCPFS_NAME "ncpfs"
|
||||
#define NFS4_NAME "nfs4"
|
||||
|
||||
asmlinkage long compat_sys_mount(char __user * dev_name, char __user * dir_name,
|
||||
char __user * type, unsigned long flags,
|
||||
void __user * data)
|
||||
asmlinkage long compat_sys_mount(const char __user * dev_name,
|
||||
const char __user * dir_name,
|
||||
const char __user * type, unsigned long flags,
|
||||
const void __user * data)
|
||||
{
|
||||
char *kernel_type;
|
||||
unsigned long data_page;
|
||||
|
Reference in New Issue
Block a user