patch-2.4.23 linux-2.4.23/kernel/kmod.c
Next file: linux-2.4.23/kernel/ksyms.c
Previous file: linux-2.4.23/kernel/fork.c
Back to the patch index
Back to the overall index
- Lines: 26
- Date:
2003-11-28 10:26:21.000000000 -0800
- Orig file:
linux-2.4.22/kernel/kmod.c
- Orig date:
2002-08-02 17:39:46.000000000 -0700
diff -urN linux-2.4.22/kernel/kmod.c linux-2.4.23/kernel/kmod.c
@@ -119,19 +119,14 @@
if (curtask->files->fd[i]) close(i);
}
- /* Drop the "current user" thing */
- {
- struct user_struct *user = curtask->user;
- curtask->user = INIT_USER;
- atomic_inc(&INIT_USER->__count);
- atomic_inc(&INIT_USER->processes);
- atomic_dec(&user->processes);
- free_uid(user);
- }
+ switch_uid(INIT_USER);
/* Give kmod all effective privileges.. */
- curtask->euid = curtask->fsuid = 0;
- curtask->egid = curtask->fsgid = 0;
+ curtask->euid = curtask->uid = curtask->suid = curtask->fsuid = 0;
+ curtask->egid = curtask->gid = curtask->sgid = curtask->fsgid = 0;
+
+ curtask->ngroups = 0;
+
cap_set_full(curtask->cap_effective);
/* Allow execve args to be in kernel space. */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)