Commit 1bddcc50 authored by David Wu's avatar David Wu Committed by Linus Torvalds

[PATCH] m68knommu: add SHM support

It turns out SHMAT, SHMDT, SHMGET and SHMCTL support in sys_ipc() for
m68knommu in 2.6 kernel(uClinux-dist-20060803 release) is missing.
(copied from m68k sources, report by David Wu <davidwu@arcturusnetworks.com>)
Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 329237c1
...@@ -137,7 +137,7 @@ asmlinkage int old_select(struct sel_arg_struct *arg) ...@@ -137,7 +137,7 @@ asmlinkage int old_select(struct sel_arg_struct *arg)
asmlinkage int sys_ipc (uint call, int first, int second, asmlinkage int sys_ipc (uint call, int first, int second,
int third, void *ptr, long fifth) int third, void *ptr, long fifth)
{ {
int version; int version, ret;
version = call >> 16; /* hack for backward compatibility */ version = call >> 16; /* hack for backward compatibility */
call &= 0xffff; call &= 0xffff;
...@@ -190,6 +190,27 @@ asmlinkage int sys_ipc (uint call, int first, int second, ...@@ -190,6 +190,27 @@ asmlinkage int sys_ipc (uint call, int first, int second,
default: default:
return -EINVAL; return -EINVAL;
} }
if (call <= SHMCTL)
switch (call) {
case SHMAT:
switch (version) {
default: {
ulong raddr;
ret = do_shmat (first, ptr, second, &raddr);
if (ret)
return ret;
return put_user (raddr, (ulong __user *) third);
}
}
case SHMDT:
return sys_shmdt (ptr);
case SHMGET:
return sys_shmget (first, second, third);
case SHMCTL:
return sys_shmctl (first, second, ptr);
default:
return -ENOSYS;
}
return -EINVAL; return -EINVAL;
} }
......
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