diff options
| author | David S. Miller <davem@nuts.ninka.net> | 2003-02-10 12:35:58 -0800 |
|---|---|---|
| committer | David S. Miller <davem@nuts.ninka.net> | 2003-02-10 12:35:58 -0800 |
| commit | 7aaaac17c1734a4467b3f56fbaff0f6747154ee1 (patch) | |
| tree | 86a32cf92aa476b7bb3e12d23af686f58c79ef62 /kernel/sys.c | |
| parent | b6f7756d69ed057d16e1989e6fea345cba5368a9 (diff) | |
| parent | 2b009dcf7905a0e81813f7b67d6a1a004208e3ad (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.c | 13 |
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; } |
