From 08a53e34632f8ad0e98a945bda0792fe2682b072 Mon Sep 17 00:00:00 2001 From: Hirokazu Takata Date: Thu, 16 Sep 2004 22:06:18 -0700 Subject: [PATCH] [PATCH] m32r: modify sys_ipc() to remove useless iBCS2 support code The useless iBCS2 supporting code is removed. However, according to old_ syscalls, I would like to keep backward- compatibility for a while, due to some old deb packages and executables for m32r. I'm struggling to rebuild and replace old packages to new ones. http://debian.linux-m32r.org/ Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/m32r/kernel/sys_m32r.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/arch/m32r/kernel/sys_m32r.c b/arch/m32r/kernel/sys_m32r.c index 1d885cfef73c9..0849e38293953 100644 --- a/arch/m32r/kernel/sys_m32r.c +++ b/arch/m32r/kernel/sys_m32r.c @@ -227,21 +227,16 @@ asmlinkage int sys_ipc(uint call, int first, int second, case MSGCTL: return sys_msgctl (first, second, (struct msqid_ds __user *) ptr); - case SHMAT: - switch (version) { - default: { - ulong raddr; - ret = do_shmat (first, (char __user *) ptr, - second, &raddr); - if (ret) - return ret; - return put_user (raddr, (ulong __user *) third); - } - case 1: /* iBCS2 emulator entry point */ - if (!segment_eq(get_fs(), get_ds())) - return -EINVAL; - return do_shmat (first, (char __user *) ptr, - second, (ulong *) third); + case SHMAT: { + ulong raddr; + + if ((ret = verify_area(VERIFY_WRITE, (ulong __user *) third, + sizeof(ulong)))) + return ret; + ret = do_shmat (first, (char __user *) ptr, second, &raddr); + if (ret) + return ret; + return put_user (raddr, (ulong __user *) third); } case SHMDT: return sys_shmdt ((char __user *)ptr); -- 2.53.0