user.c (7b3b6e42032e94a6132a85642e95106f5346650e) | user.c (b6dff3ec5e116e3af6f537d4caedcad6b9e5082a) |
---|---|
1/* 2 * The "user cache". 3 * 4 * (C) Copyright 1991-2000 Linus Torvalds 5 * 6 * We have a per-user structure to keep track of how many 7 * processes, files etc the user has claimed, in order to be 8 * able to have per-user limits for system resources. --- 443 unchanged lines hidden (view full) --- 452{ 453 struct user_struct *old_user; 454 455 /* What if a process setreuid()'s and this brings the 456 * new uid over his NPROC rlimit? We can check this now 457 * cheaply with the new uid cache, so if it matters 458 * we should be checking for it. -DaveM 459 */ | 1/* 2 * The "user cache". 3 * 4 * (C) Copyright 1991-2000 Linus Torvalds 5 * 6 * We have a per-user structure to keep track of how many 7 * processes, files etc the user has claimed, in order to be 8 * able to have per-user limits for system resources. --- 443 unchanged lines hidden (view full) --- 452{ 453 struct user_struct *old_user; 454 455 /* What if a process setreuid()'s and this brings the 456 * new uid over his NPROC rlimit? We can check this now 457 * cheaply with the new uid cache, so if it matters 458 * we should be checking for it. -DaveM 459 */ |
460 old_user = current->user; | 460 old_user = current->cred->user; |
461 atomic_inc(&new_user->processes); 462 atomic_dec(&old_user->processes); 463 switch_uid_keyring(new_user); | 461 atomic_inc(&new_user->processes); 462 atomic_dec(&old_user->processes); 463 switch_uid_keyring(new_user); |
464 current->user = new_user; | 464 current->cred->user = new_user; |
465 sched_switch_user(current); 466 467 /* 468 * We need to synchronize with __sigqueue_alloc() 469 * doing a get_uid(p->user).. If that saw the old 470 * user value, we need to wait until it has exited 471 * its critical region before we can free the old 472 * structure. --- 54 unchanged lines hidden --- | 465 sched_switch_user(current); 466 467 /* 468 * We need to synchronize with __sigqueue_alloc() 469 * doing a get_uid(p->user).. If that saw the old 470 * user value, we need to wait until it has exited 471 * its critical region before we can free the old 472 * structure. --- 54 unchanged lines hidden --- |