[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070817222228.GA783@tv-sign.ru>
Date: Sat, 18 Aug 2007 02:22:28 +0400
From: Oleg Nesterov <oleg@...sign.ru>
To: Neil Horman <nhorman@...driver.com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org
Subject: Re: + proc-export-a-processes-resource-limits-via-proc-pid.patch added to -mm tree
Neil Horman wrote:
>
> +static int proc_pid_limits(struct task_struct *task, char *buffer)
> +{
> + unsigned int i;
> + int count = 0;
> + char *bufptr = buffer;
> +
> + struct rlimit rlim[RLIM_NLIMITS];
> +
> + read_lock(&tasklist_lock);
> + memcpy(rlim, task->signal->rlim, sizeof(struct rlimit) * RLIM_NLIMITS);
> + read_unlock(&tasklist_lock);
Please don't re-introduce tasklist_lock unless strictly needed. And in this case
it doesn't help, sys_getrlimit() changes ->rlim[] under task_lock().
Hovewer, I think the whole patch is not right. The "tsk" itself is pinned, but its
->signal is not stable and can be == NULL.
You can use lock_task_sighand() to access ->signal.
Oleg.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists