From b789ebfca657a1fc77f6bd4dd648c0d5e96057c8 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Mon, 10 Feb 2003 07:37:12 -0800 Subject: [PATCH] fix current->user->processes leak Patch from: Eric Lammerts Every time you do a loop mount, a kernel thread is started (those processes are called "loop0", "loop1", etc.). The problem is that when it starts, it's counted as one of your processes. Then, it's changed to be a root-owned process without correcting that count. Patch below fixes the problem. It moves the bookkeeping of changing current->user to a new function switch_uid() (which is now also used by exec_usermodehelper() in kmod.c). The patch is tested. --- include/linux/sched.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/linux/sched.h b/include/linux/sched.h index 16864532fcd9..b99d2eb57a82 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -509,6 +509,7 @@ extern void __set_special_pids(pid_t session, pid_t pgrp); /* per-UID process charging. */ extern struct user_struct * alloc_uid(uid_t); extern void free_uid(struct user_struct *); +extern void switch_uid(struct user_struct *); #include -- cgit v1.2.3