summaryrefslogtreecommitdiff
path: root/kernel/sys.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.ninka.net>2003-02-10 12:35:58 -0800
committerDavid S. Miller <davem@nuts.ninka.net>2003-02-10 12:35:58 -0800
commit7aaaac17c1734a4467b3f56fbaff0f6747154ee1 (patch)
tree86a32cf92aa476b7bb3e12d23af686f58c79ef62 /kernel/sys.c
parentb6f7756d69ed057d16e1989e6fea345cba5368a9 (diff)
parent2b009dcf7905a0e81813f7b67d6a1a004208e3ad (diff)
Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5
into nuts.ninka.net:/home/davem/src/BK/sparc-2.5
Diffstat (limited to 'kernel/sys.c')
-rw-r--r--kernel/sys.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/kernel/sys.c b/kernel/sys.c
index 9404304eba74..dffb67035c78 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -561,19 +561,12 @@ asmlinkage long sys_setgid(gid_t gid)
static int set_user(uid_t new_ruid, int dumpclear)
{
- struct user_struct *new_user, *old_user;
+ struct user_struct *new_user;
- /* What if a process setreuid()'s and this brings the
- * new uid over his NPROC rlimit? We can check this now
- * cheaply with the new uid cache, so if it matters
- * we should be checking for it. -DaveM
- */
new_user = alloc_uid(new_ruid);
if (!new_user)
return -EAGAIN;
- old_user = current->user;
- atomic_dec(&old_user->processes);
- atomic_inc(&new_user->processes);
+ switch_uid(new_user);
if(dumpclear)
{
@@ -581,8 +574,6 @@ static int set_user(uid_t new_ruid, int dumpclear)
wmb();
}
current->uid = new_ruid;
- current->user = new_user;
- free_uid(old_user);
return 0;
}