diff options
Diffstat (limited to 'arch/alpha/kernel/osf_sys.c')
-rw-r--r-- | arch/alpha/kernel/osf_sys.c | 102 |
1 files changed, 3 insertions, 99 deletions
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index e81687bdb..95e539d34 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c @@ -439,7 +439,7 @@ static int osf_ufs_mount(char *dirname, struct ufs_args *args, int flags) dentry = getdev(tmp.devname, 0); retval = PTR_ERR(dentry); - if (IS_ERR(dentry) + if (IS_ERR(dentry)) goto out; retval = do_mount(dentry->d_inode->i_bdev, tmp.devname, dirname, "ext2", flags, NULL); @@ -471,7 +471,6 @@ out: static int osf_procfs_mount(char *dirname, struct procfs_args *args, int flags) { - int retval; struct procfs_args tmp; if (copy_from_user(&tmp, args, sizeof(tmp))) @@ -1401,102 +1400,7 @@ asmlinkage int sys_old_adjtimex(struct timex32 *txc_p) return ret; } -struct shmid_ds_old { - struct ipc_perm shm_perm; /* operation perms */ - int shm_segsz; /* size of segment (bytes) */ - __kernel_time_t shm_atime; /* last attach time */ - __kernel_time_t shm_dtime; /* last detach time */ - __kernel_time_t shm_ctime; /* last change time */ - __kernel_ipc_pid_t shm_cpid; /* pid of creator */ - __kernel_ipc_pid_t shm_lpid; /* pid of last operator */ - unsigned short shm_nattch; /* no. of current attaches */ - unsigned short shm_unused; /* compatibility */ - void *shm_unused2; /* ditto - used by DIPC */ - void *shm_unused3; /* unused */ -}; - -struct shminfo_old { - int shmmax; - int shmmin; - int shmmni; - int shmseg; - int shmall; -}; - -asmlinkage long sys_shmctlold(int shmid, int cmd, struct shmid_ds_old *buf) +asmlinkage long osf_shmget (key_t key, int size, int flag) { - struct shmid_ds arg; - long ret; - mm_segment_t old_fs; - - if (cmd == IPC_SET) { - struct shmid_ds_old tbuf; - - if(copy_from_user (&tbuf, buf, sizeof(*buf))) - return -EFAULT; - arg.shm_perm = tbuf.shm_perm; - arg.shm_segsz = tbuf.shm_segsz; - arg.shm_atime = tbuf.shm_atime; - arg.shm_dtime = tbuf.shm_dtime; - arg.shm_ctime = tbuf.shm_ctime; - arg.shm_cpid = tbuf.shm_cpid; - arg.shm_lpid = tbuf.shm_lpid; - arg.shm_nattch = tbuf.shm_nattch; - arg.shm_unused = tbuf.shm_unused; - arg.shm_unused2 = tbuf.shm_unused2; - arg.shm_unused3 = tbuf.shm_unused3; - } - old_fs = get_fs (); - set_fs (KERNEL_DS); - ret = sys_shmctl(shmid, cmd, &arg); - set_fs (old_fs); - if (ret < 0) - return(ret); - switch(cmd) { - case IPC_INFO: - { - struct shminfo *tbuf = (struct shminfo *) &arg; - struct shminfo_old shminfo_oldst; - - shminfo_oldst.shmmax = (tbuf->shmmax > INT_MAX ? - INT_MAX : tbuf->shmmax); - shminfo_oldst.shmmin = tbuf->shmmin; - shminfo_oldst.shmmni = tbuf->shmmni; - shminfo_oldst.shmseg = tbuf->shmseg; - shminfo_oldst.shmall = tbuf->shmall; - if (copy_to_user(buf, &shminfo_oldst, - sizeof(struct shminfo_old))) - return -EFAULT; - return(ret); - } - case SHM_INFO: - { - struct shm_info *tbuf = (struct shm_info *) &arg; - - if (copy_to_user (buf, tbuf, sizeof(struct shm_info))) - return -EFAULT; - return(ret); - } - case SHM_STAT: - case IPC_STAT: - { - struct shmid_ds_old tbuf; - - tbuf.shm_perm = arg.shm_perm; - tbuf.shm_segsz = arg.shm_segsz; - tbuf.shm_atime = arg.shm_atime; - tbuf.shm_dtime = arg.shm_dtime; - tbuf.shm_ctime = arg.shm_ctime; - tbuf.shm_cpid = arg.shm_cpid; - tbuf.shm_lpid = arg.shm_lpid; - tbuf.shm_nattch = arg.shm_nattch; - tbuf.shm_unused = arg.shm_unused; - tbuf.shm_unused2 = arg.shm_unused2; - tbuf.shm_unused3 = arg.shm_unused3; - if (copy_to_user (buf, &tbuf, sizeof(tbuf))) - return -EFAULT; - return(ret); - } - } - return(ret); + return sys_shmget (key, size, flag); } |