Commit d5460c99 authored by Heiko Carstens's avatar Heiko Carstens

[CVE-2009-0029] System call wrappers part 25

Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
parent e48fbb69
...@@ -650,8 +650,8 @@ static struct file *do_open(struct dentry *dentry, int oflag) ...@@ -650,8 +650,8 @@ static struct file *do_open(struct dentry *dentry, int oflag)
return dentry_open(dentry, mqueue_mnt, oflag, cred); return dentry_open(dentry, mqueue_mnt, oflag, cred);
} }
asmlinkage long sys_mq_open(const char __user *u_name, int oflag, mode_t mode, SYSCALL_DEFINE4(mq_open, const char __user *, u_name, int, oflag, mode_t, mode,
struct mq_attr __user *u_attr) struct mq_attr __user *, u_attr)
{ {
struct dentry *dentry; struct dentry *dentry;
struct file *filp; struct file *filp;
...@@ -721,7 +721,7 @@ out_putname: ...@@ -721,7 +721,7 @@ out_putname:
return fd; return fd;
} }
asmlinkage long sys_mq_unlink(const char __user *u_name) SYSCALL_DEFINE1(mq_unlink, const char __user *, u_name)
{ {
int err; int err;
char *name; char *name;
......
...@@ -308,7 +308,7 @@ static inline int sem_more_checks(struct kern_ipc_perm *ipcp, ...@@ -308,7 +308,7 @@ static inline int sem_more_checks(struct kern_ipc_perm *ipcp,
return 0; return 0;
} }
asmlinkage long sys_semget(key_t key, int nsems, int semflg) SYSCALL_DEFINE3(semget, key_t, key, int, nsems, int, semflg)
{ {
struct ipc_namespace *ns; struct ipc_namespace *ns;
struct ipc_ops sem_ops; struct ipc_ops sem_ops;
...@@ -1055,8 +1055,8 @@ out: ...@@ -1055,8 +1055,8 @@ out:
return un; return un;
} }
asmlinkage long sys_semtimedop(int semid, struct sembuf __user *tsops, SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops,
unsigned nsops, const struct timespec __user *timeout) unsigned, nsops, const struct timespec __user *, timeout)
{ {
int error = -EINVAL; int error = -EINVAL;
struct sem_array *sma; struct sem_array *sma;
...@@ -1232,7 +1232,8 @@ out_free: ...@@ -1232,7 +1232,8 @@ out_free:
return error; return error;
} }
asmlinkage long sys_semop (int semid, struct sembuf __user *tsops, unsigned nsops) SYSCALL_DEFINE3(semop, int, semid, struct sembuf __user *, tsops,
unsigned, nsops)
{ {
return sys_semtimedop(semid, tsops, nsops, NULL); return sys_semtimedop(semid, tsops, nsops, NULL);
} }
......
...@@ -440,7 +440,7 @@ static inline int shm_more_checks(struct kern_ipc_perm *ipcp, ...@@ -440,7 +440,7 @@ static inline int shm_more_checks(struct kern_ipc_perm *ipcp,
return 0; return 0;
} }
asmlinkage long sys_shmget (key_t key, size_t size, int shmflg) SYSCALL_DEFINE3(shmget, key_t, key, size_t, size, int, shmflg)
{ {
struct ipc_namespace *ns; struct ipc_namespace *ns;
struct ipc_ops shm_ops; struct ipc_ops shm_ops;
...@@ -621,7 +621,7 @@ out_up: ...@@ -621,7 +621,7 @@ out_up:
return err; return err;
} }
asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf) SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf)
{ {
struct shmid_kernel *shp; struct shmid_kernel *shp;
int err, version; int err, version;
...@@ -939,7 +939,7 @@ out_put_dentry: ...@@ -939,7 +939,7 @@ out_put_dentry:
goto out_nattch; goto out_nattch;
} }
asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg) SYSCALL_DEFINE3(shmat, int, shmid, char __user *, shmaddr, int, shmflg)
{ {
unsigned long ret; unsigned long ret;
long err; long err;
...@@ -955,7 +955,7 @@ asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg) ...@@ -955,7 +955,7 @@ asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg)
* detach and kill segment if marked destroyed. * detach and kill segment if marked destroyed.
* The work is done in shm_close. * The work is done in shm_close.
*/ */
asmlinkage long sys_shmdt(char __user *shmaddr) SYSCALL_DEFINE1(shmdt, char __user *, shmaddr)
{ {
struct mm_struct *mm = current->mm; struct mm_struct *mm = current->mm;
struct vm_area_struct *vma, *next; struct vm_area_struct *vma, *next;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment