Skip to content

Commit

Permalink
[PATCH] m68k: syscalls __user annotation
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <[email protected]>
Cc: Roman Zippel <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Al Viro authored and Linus Torvalds committed Jan 12, 2006
1 parent 1b7bb54 commit 350c20a
Showing 1 changed file with 16 additions and 23 deletions.
39 changes: 16 additions & 23 deletions arch/m68k/kernel/sys_m68k.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
* sys_pipe() is the normal C calling standard for creating
* a pipe. It's not the way unix traditionally does this, though.
*/
asmlinkage int sys_pipe(unsigned long * fildes)
asmlinkage int sys_pipe(unsigned long __user * fildes)
{
int fd[2];
int error;
Expand Down Expand Up @@ -94,7 +94,7 @@ struct mmap_arg_struct {
unsigned long offset;
};

asmlinkage int old_mmap(struct mmap_arg_struct *arg)
asmlinkage int old_mmap(struct mmap_arg_struct __user *arg)
{
struct mmap_arg_struct a;
int error = -EFAULT;
Expand Down Expand Up @@ -160,11 +160,11 @@ asmlinkage long sys_mmap64(struct mmap_arg_struct64 *arg)

struct sel_arg_struct {
unsigned long n;
fd_set *inp, *outp, *exp;
struct timeval *tvp;
fd_set __user *inp, *outp, *exp;
struct timeval __user *tvp;
};

asmlinkage int old_select(struct sel_arg_struct *arg)
asmlinkage int old_select(struct sel_arg_struct __user *arg)
{
struct sel_arg_struct a;

Expand All @@ -180,7 +180,7 @@ asmlinkage int old_select(struct sel_arg_struct *arg)
* This is really horribly ugly.
*/
asmlinkage int sys_ipc (uint call, int first, int second,
int third, void *ptr, long fifth)
int third, void __user *ptr, long fifth)
{
int version, ret;

Expand All @@ -190,14 +190,14 @@ asmlinkage int sys_ipc (uint call, int first, int second,
if (call <= SEMCTL)
switch (call) {
case SEMOP:
return sys_semop (first, (struct sembuf *)ptr, second);
return sys_semop (first, ptr, second);
case SEMGET:
return sys_semget (first, second, third);
case SEMCTL: {
union semun fourth;
if (!ptr)
return -EINVAL;
if (get_user(fourth.__pad, (void **) ptr))
if (get_user(fourth.__pad, (void __user *__user *) ptr))
return -EFAULT;
return sys_semctl (first, second, third, fourth);
}
Expand All @@ -207,31 +207,26 @@ asmlinkage int sys_ipc (uint call, int first, int second,
if (call <= MSGCTL)
switch (call) {
case MSGSND:
return sys_msgsnd (first, (struct msgbuf *) ptr,
second, third);
return sys_msgsnd (first, ptr, second, third);
case MSGRCV:
switch (version) {
case 0: {
struct ipc_kludge tmp;
if (!ptr)
return -EINVAL;
if (copy_from_user (&tmp,
(struct ipc_kludge *)ptr,
sizeof (tmp)))
if (copy_from_user (&tmp, ptr, sizeof (tmp)))
return -EFAULT;
return sys_msgrcv (first, tmp.msgp, second,
tmp.msgtyp, third);
}
default:
return sys_msgrcv (first,
(struct msgbuf *) ptr,
return sys_msgrcv (first, ptr,
second, fifth, third);
}
case MSGGET:
return sys_msgget ((key_t) first, second);
case MSGCTL:
return sys_msgctl (first, second,
(struct msqid_ds *) ptr);
return sys_msgctl (first, second, ptr);
default:
return -ENOSYS;
}
Expand All @@ -241,20 +236,18 @@ asmlinkage int sys_ipc (uint call, int first, int second,
switch (version) {
default: {
ulong raddr;
ret = do_shmat (first, (char *) ptr,
second, &raddr);
ret = do_shmat (first, ptr, second, &raddr);
if (ret)
return ret;
return put_user (raddr, (ulong *) third);
return put_user (raddr, (ulong __user *) third);
}
}
case SHMDT:
return sys_shmdt ((char *)ptr);
return sys_shmdt (ptr);
case SHMGET:
return sys_shmget (first, second, third);
case SHMCTL:
return sys_shmctl (first, second,
(struct shmid_ds *) ptr);
return sys_shmctl (first, second, ptr);
default:
return -ENOSYS;
}
Expand Down

0 comments on commit 350c20a

Please sign in to comment.