Messages in this thread Patch in this message | | | Date | Sat, 29 Jan 2011 00:21:04 +0100 | From | Kacper Kornet <> | Subject | [PATCH v2] Fix prlimit64 for suid/sgid processes |
| |
Since check_prlimit_permission always fails in the case of SUID/GUID processes, such processes are not able to read or set their own limits. This commit changes this by assuming that process can always read/change its own limits.
Signed-off-by: Kacper Kornet <kornet@camk.edu.pl> --- kernel/sys.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/kernel/sys.c b/kernel/sys.c index e9ad444..03bead7 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1375,7 +1375,8 @@ static int check_prlimit_permission(struct task_struct *task) const struct cred *cred = current_cred(), *tcred; tcred = __task_cred(task); - if ((cred->uid != tcred->euid || + if (current != task && + (cred->uid != tcred->euid || cred->uid != tcred->suid || cred->uid != tcred->uid || cred->gid != tcred->egid || -- 1.7.3.5 -- Kacper
| |