| Kernel v2.4.11 /kernel/exec_domain.c |
|---|
 2.4.11
 kernel
 exec_domain.c
diff -u --recursive --new-file v2.4.10/linux/kernel/exec_domain.c linux/kernel/exec_domain.c
--- v2.4.10/linux/kernel/exec_domain.c Sun Sep 23 11:41:01 2001
+++ linux/kernel/exec_domain.c Thu Oct 4 16:41:54 2001
@@ -219,13 +219,15 @@
asmlinkage long
sys_personality(u_long personality)
{
- if (personality == 0xffffffff)
- goto ret;
- set_personality(personality);
- if (current->personality != personality)
- return -EINVAL;
-ret:
- return (current->personality);
+ u_long old = current->personality;;
+
+ if (personality != 0xffffffff) {
+ set_personality(personality);
+ if (current->personality != personality)
+ return -EINVAL;
+ }
+
+ return (long)old;
}
|