diff options
Diffstat (limited to 'kernel/kmod.c')
-rw-r--r-- | kernel/kmod.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/kmod.c b/kernel/kmod.c index 3f59386e5..8fc459453 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -108,7 +108,12 @@ int exec_usermodehelper(char *program_path, char *argv[], char *envp[]) } /* Drop the "current user" thing */ - free_uid(current); + { + struct user_struct *user = current->user; + current->user = INIT_USER; + atomic_inc(¤t->user->__count); + free_uid(user); + } /* Give kmod all effective privileges.. */ current->uid = current->euid = current->fsuid = 0; |