diff options
author | davem <davem> | 2001-11-29 22:52:03 +0000 |
---|---|---|
committer | davem <davem> | 2001-11-29 22:52:03 +0000 |
commit | 7b8823cab0a3fc8b43ccd9280c7e2c66e6e2f51b (patch) | |
tree | 10fa0c38bfb607130e1d2c47ef8f6f5bf5ea54a0 | |
parent | abb9d649d80f9cc8b77d6c1687da584b6d637dc7 (diff) | |
download | netdev-vger-cvs-7b8823cab0a3fc8b43ccd9280c7e2c66e6e2f51b.tar.gz |
With the revert of the bogus kernel/exec_domain.c
changes in 2.4.17-pre1, we can go back to the older and
simpler sparc64_personality implementation from revision
1.52 of arch/sparc64/kernel/sys_sparc.c
-rw-r--r-- | arch/sparc64/kernel/sys_sparc.c | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/arch/sparc64/kernel/sys_sparc.c b/arch/sparc64/kernel/sys_sparc.c index 05f5c515e..1e63e7194 100644 --- a/arch/sparc64/kernel/sys_sparc.c +++ b/arch/sparc64/kernel/sys_sparc.c @@ -1,4 +1,4 @@ -/* $Id: sys_sparc.c,v 1.54 2001-10-28 20:49:13 davem Exp $ +/* $Id: sys_sparc.c,v 1.55 2001-11-29 22:52:03 davem Exp $ * linux/arch/sparc64/kernel/sys_sparc.c * * This file contains various random system calls that @@ -255,27 +255,15 @@ extern asmlinkage long sys_personality(unsigned long); asmlinkage int sparc64_personality(unsigned long personality) { - unsigned long ret, trying, orig_ret; - - trying = ret = personality; - - if (current->personality == PER_LINUX32 && - trying == PER_LINUX) - trying = ret = PER_LINUX32; - - /* For PER_LINUX32 we want to retain &default_exec_domain. */ - if (trying == PER_LINUX32) - ret = PER_LINUX; - - orig_ret = ret; - ret = sys_personality(ret); + int ret; - if (orig_ret == PER_LINUX && trying == PER_LINUX32) { - current->personality = PER_LINUX32; + if (current->personality == PER_LINUX32 && personality == PER_LINUX) + personality = PER_LINUX32; + ret = sys_personality(personality); + if (ret == PER_LINUX32) ret = PER_LINUX; - } - return (int) ret; + return ret; } /* Linux version of mmap */ |