| Date | Tue, 15 Feb 2011 16:13:49 -0800 | From | Greg KH <> | Subject | [172/272] Fix prlimit64 for suid/sgid processes |
| |
2.6.37-stable review patch. If anyone has any objections, please let us know.
------------------
From: Kacper Kornet <kornet@camk.edu.pl>
commit aa5bd67dcfdf9af34c7fa36ebc87d4e1f7e91873 upstream.
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> Acked-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- kernel/sys.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
--- a/kernel/sys.c +++ b/kernel/sys.c @@ -1377,7 +1377,8 @@ static int check_prlimit_permission(stru 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 ||
|