Re: [PATCH v2] Fix prlimit64 for suid/sgid processes

From: Jiri Slaby
Date: Fri Jan 28 2011 - 18:28:57 EST


On 01/29/2011 12:21 AM, Kacper Kornet wrote:
> 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@xxxxxxxxxxx>

ACK. The check comes from the ptrace code. I forgot to copy this test.

> ---
> 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 ||

thanks,
--
js
suse labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/