unsigned long raddr;
long err;
- err = sys_shmat(shmid, shmaddr, shmflg, &raddr);
+ err = do_shmat(shmid, shmaddr, shmflg, &raddr);
/*
* This works because all user-level addresses are
switch (version) {
default: {
ulong raddr;
- ret = sys_shmat (first, (char *) ptr, second, &raddr);
+ ret = do_shmat (first, (char *) ptr, second, &raddr);
if (ret)
return ret;
return put_user (raddr, (ulong *) third);
case 1: /* iBCS2 emulator entry point */
if (!segment_eq(get_fs(), get_ds()))
return -EINVAL;
- return sys_shmat (first, (char *) ptr,
+ return do_shmat (first, (char *) ptr,
second, (ulong *) third);
}
case SHMDT:
switch (version) {
default: {
ulong raddr;
- ret = sys_shmat (first, (char *) ptr, second, &raddr);
+ ret = do_shmat (first, (char *) ptr, second, &raddr);
if (ret)
return ret;
return put_user (raddr, (ulong *) third);
case 1: /* iBCS2 emulator entry point */
if (!segment_eq(get_fs(), get_ds()))
return -EINVAL;
- return sys_shmat (first, (char *) ptr,
+ return do_shmat (first, (char *) ptr,
second, (ulong *) third);
}
case SHMDT:
case SHMAT: {
ulong raddr;
- ret = sys_shmat (first, (char __user *) ptr, second, &raddr);
+ ret = do_shmat (first, (char __user *) ptr, second, &raddr);
if (ret)
return ret;
return put_user (raddr, (ulong __user *) third);
switch (version) {
default: {
ulong raddr;
- ret = sys_shmat (first, (char *) ptr,
+ ret = do_shmat (first, (char *) ptr,
second, &raddr);
if (ret)
return ret;
switch (version) {
default: {
ulong raddr;
- ret = sys_shmat (first, (char __user *) ptr, second, &raddr);
+ ret = do_shmat (first, (char __user *) ptr, second, &raddr);
if (ret)
return ret;
return put_user (raddr, (ulong __user *) third);
if (!segment_eq(get_fs(), get_ds()))
return -EINVAL;
/* The "(ulong *) third" is valid _only_ because of the kernel segment thing */
- return sys_shmat (first, (char __user *) ptr, second, (ulong *) third);
+ return do_shmat (first, (char __user *) ptr, second, (ulong *) third);
}
case SHMDT:
return sys_shmdt ((char __user *)ptr);
if (version == 1)
return -EINVAL; /* iBCS2 emulator entry point: unsupported */
- err = sys_shmat(first, uptr, second, &raddr);
+ err = do_shmat(first, uptr, second, &raddr);
if (err)
return err;
return put_user(raddr, uaddr);
unsigned long raddr;
int retval;
- retval = sys_shmat(shmid, shmaddr, shmflg, &raddr);
+ retval = do_shmat(shmid, shmaddr, shmflg, &raddr);
if (retval < 0)
return retval;
switch (version) {
default: {
ulong raddr;
- ret = sys_shmat (first, (char *) ptr,
+ ret = do_shmat (first, (char *) ptr,
second, &raddr);
if (ret)
return ret;
if (version == 1)
return err;
- err = sys_shmat (first, uptr, second, &raddr);
+ err = do_shmat (first, uptr, second, &raddr);
if (err)
return err;
err = put_user (raddr, uaddr);
switch (version) {
default: {
ulong raddr;
- ret = sys_shmat (first, (char *) ptr, second, &raddr);
+ ret = do_shmat (first, (char *) ptr, second, &raddr);
if (ret)
return ret;
return put_user (raddr, (ulong *) third);
case 1: /* iBCS2 emulator entry point */
if (!segment_eq(get_fs(), get_ds()))
return -EINVAL;
- return sys_shmat (first, (char *) ptr, second, (ulong *) third);
+ return do_shmat (first, (char *) ptr, second, (ulong *) third);
}
case SHMDT:
return sys_shmdt ((char *)ptr);
{
switch (opcode) {
case 0:
- return sys_shmat((int) arg0, (char *)arg1, (int) arg2,
+ return do_shmat((int) arg0, (char *)arg1, (int) arg2,
(unsigned long *) arg3);
case 1:
return sys_shmctl((int)arg0, (int)arg1, (struct shmid_ds *)arg2);
unsigned long raddr;
int r;
- r = sys_shmat(shmid, shmaddr, shmflag, &raddr);
+ r = do_shmat(shmid, shmaddr, shmflag, &raddr);
if (r < 0)
return r;
return raddr;
if ((ret = verify_area(VERIFY_WRITE, (ulong __user *) third,
sizeof(ulong))))
break;
- ret = sys_shmat (first, (char __user *) ptr, second, &raddr);
+ ret = do_shmat (first, (char __user *) ptr, second, &raddr);
if (ret)
break;
ret = put_user (raddr, (ulong __user *) third);
if (version == 1)
return err;
- err = sys_shmat(first, uptr, second, &raddr);
+ err = do_shmat(first, uptr, second, &raddr);
if (err)
return err;
err = put_user(raddr, uaddr);
switch (version) {
default: {
ulong raddr;
- ret = sys_shmat (first, (char *) ptr, second, &raddr);
+ ret = do_shmat (first, (char *) ptr, second, &raddr);
if (ret)
break;
ret = put_user (raddr, (ulong *) third);
ret = -EINVAL;
if (!segment_eq(get_fs(), get_ds()))
break;
- ret = sys_shmat (first, (char *) ptr, second,
+ ret = do_shmat (first, (char *) ptr, second,
(ulong *) third);
break;
}
if (version == 1)
goto out;
- err = sys_shmat (first, uptr, second, &raddr);
+ err = do_shmat (first, uptr, second, &raddr);
if (err)
goto out;
err = put_user (raddr, uaddr);
case SHMAT: {
ulong raddr;
- ret = sys_shmat (first, (char *) ptr, second, &raddr);
+ ret = do_shmat (first, (char *) ptr, second, &raddr);
if (ret)
return ret;
return put_user (raddr, (ulong *) third);
switch (version) {
default: {
ulong raddr;
- ret = sys_shmat (first, (char __user *) ptr,
+ ret = do_shmat (first, (char __user *) ptr,
second, &raddr);
if (ret)
return ret;
case 1: /* iBCS2 emulator entry point */
if (!segment_eq(get_fs(), get_ds()))
return -EINVAL;
- return sys_shmat (first, (char __user *) ptr,
+ return do_shmat (first, (char __user *) ptr,
second, (ulong *) third);
}
case SHMDT:
switch (version) {
case 0: default: {
ulong raddr;
- err = sys_shmat (first, (char __user *) ptr, second, &raddr);
+ err = do_shmat (first, (char __user *) ptr, second, &raddr);
if (err)
goto out;
err = -EFAULT;
goto out;
}
case 1: /* iBCS2 emulator entry point */
- err = sys_shmat (first, (char __user *) ptr, second, (ulong __user *) third);
+ err = do_shmat (first, (char __user *) ptr, second, (ulong __user *) third);
goto out;
}
case SHMDT:
switch(op) {
case 0:
- /* sys_shmat(): attach a shared memory area */
- rval = sys_shmat((int)arg1,(char *)arg2,(int)arg3,&raddr);
+ /* do_shmat(): attach a shared memory area */
+ rval = do_shmat((int)arg1,(char *)arg2,(int)arg3,&raddr);
if(!rval)
rval = (int) raddr;
break;
switch (call) {
case SHMAT: {
ulong raddr;
- err = sys_shmat (first, (char *) ptr, second, &raddr);
+ err = do_shmat (first, (char *) ptr, second, &raddr);
if (!err) {
if (put_user(raddr, (ulong __user *) third))
err = -EFAULT;
if (version == 1)
goto out;
- err = sys_shmat (first, uptr, second, &raddr);
+ err = do_shmat (first, uptr, second, &raddr);
if (err)
goto out;
err = put_user (raddr, uaddr);
switch(op) {
case 0:
- /* sys_shmat(): attach a shared memory area */
- rval = sys_shmat((int)arg1,(char *)A(arg2),(int)arg3,&raddr);
+ /* do_shmat(): attach a shared memory area */
+ rval = do_shmat((int)arg1,(char *)A(arg2),(int)arg3,&raddr);
if(!rval)
rval = (int) raddr;
break;
switch (version) {
default: {
ulong raddr;
- ret = sys_shmat (first, (char *) ptr, second, &raddr);
+ ret = do_shmat (first, (char *) ptr, second, &raddr);
if (ret)
return ret;
return put_user (raddr, (ulong *) third);
case 1: /* iBCS2 emulator entry point */
if (!segment_eq(get_fs(), get_ds()))
return -EINVAL;
- return sys_shmat (first, (char *) ptr, second, (ulong *) third);
+ return do_shmat (first, (char *) ptr, second, (ulong *) third);
}
case SHMDT:
return sys_shmdt ((char *)ptr);
if ((ret = verify_area(VERIFY_WRITE, (ulong*) third,
sizeof(ulong))))
break;
- ret = sys_shmat (first, (char *) ptr, second, &raddr);
+ ret = do_shmat (first, (char *) ptr, second, &raddr);
if (ret)
break;
ret = put_user (raddr, (ulong *) third);
case 1: /* iBCS2 emulator entry point */
if (!segment_eq(get_fs(), get_ds()))
break;
- ret = sys_shmat (first, (char *) ptr, second,
+ ret = do_shmat (first, (char *) ptr, second,
(ulong *) third);
break;
}
if (version == 1)
return -EINVAL; /* iBCS2 emulator entry point: unsupported */
- err = sys_shmat(first, uptr, second, &raddr);
+ err = do_shmat(first, uptr, second, &raddr);
if (err)
return err;
return put_user(raddr, uaddr);
asmlinkage long wrap_sys_shmat(int shmid, char *shmaddr, int shmflg)
{
unsigned long raddr;
- return sys_shmat(shmid,shmaddr,shmflg,&raddr) ?: (long)raddr;
-}
+ return do_shmat(shmid,shmaddr,shmflg,&raddr) ?: (long)raddr;
+}
asmlinkage long sys_time64(long * tloc)
{
#define SHM_LOCKED 02000 /* segment will not be swapped */
#define SHM_HUGETLB 04000 /* segment will use huge TLB pages */
-long sys_shmat (int shmid, char __user *shmaddr, int shmflg, unsigned long *addr);
+#ifdef CONFIG_SYSVIPC
+long do_shmat (int shmid, char __user *shmaddr, int shmflg, unsigned long *addr);
+#else
+inline long do_shmat (int shmid, char __user *shmaddr, int shmflg, unsigned long *addr)
+{
+ return -ENOSYS;
+}
+#endif
asmlinkage long sys_shmget (key_t key, size_t size, int flag);
asmlinkage long sys_shmdt (char __user *shmaddr);
asmlinkage long sys_shmctl (int shmid, int cmd, struct shmid_ds __user *buf);
* "raddr" thing points to kernel space, and there has to be a wrapper around
* this.
*/
-asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
+long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
{
struct shmid_kernel *shp;
unsigned long addr;
cond_syscall(sys_msgrcv)
cond_syscall(sys_msgctl)
cond_syscall(sys_shmget)
-cond_syscall(sys_shmat)
cond_syscall(sys_shmdt)
cond_syscall(sys_shmctl)