From 84fb3278bc57bb7889b2dd6b0b9d9be400552b99 Mon Sep 17 00:00:00 2001 From: David Wu Date: Mon, 4 Dec 2006 17:27:22 +1000 Subject: [PATCH] --- yaml --- r: 42009 b: refs/heads/master c: 1bddcc50c27c8ca39a62a1d37e3928707be8f850 h: refs/heads/master i: 42007: fc35c720e557c645487e9d2e977c533d24b4fdea v: v3 --- [refs] | 2 +- trunk/arch/m68knommu/kernel/sys_m68k.c | 23 ++++++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e4767e351bf1..4b9441c294d8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 329237c12b94911dfad128e2588b0b7ae9c516e7 +refs/heads/master: 1bddcc50c27c8ca39a62a1d37e3928707be8f850 diff --git a/trunk/arch/m68knommu/kernel/sys_m68k.c b/trunk/arch/m68knommu/kernel/sys_m68k.c index c3494b8447d1..3265b2d734db 100644 --- a/trunk/arch/m68knommu/kernel/sys_m68k.c +++ b/trunk/arch/m68knommu/kernel/sys_m68k.c @@ -137,7 +137,7 @@ asmlinkage int old_select(struct sel_arg_struct *arg) asmlinkage int sys_ipc (uint call, int first, int second, int third, void *ptr, long fifth) { - int version; + int version, ret; version = call >> 16; /* hack for backward compatibility */ call &= 0xffff; @@ -190,6 +190,27 @@ asmlinkage int sys_ipc (uint call, int first, int second, default: 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; }