Re: + procfs-mark-thread-stack-correctly-in-proc-pid-maps.patch addedto -mm tree
From: Siddhesh Poyarekar
Date: Tue Feb 28 2012 - 12:18:20 EST
On Tue, Feb 28, 2012 at 10:34 PM, Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
>> +int vm_is_stack(struct task_struct *task,
>> + struct vm_area_struct *vma, int in_group)
>> +{
>> + if (vm_is_stack_for_task(task, vma))
>> + return 1;
>> +
>> + if (in_group) {
>> + struct task_struct *t = task;
>> + while_each_thread(task, t) {
>> + if (vm_is_stack_for_task(t, vma))
>> + return 1;
>> + }
>> + }
>> +
>> + return 0;
>> +}
>
> This is obviously wrong, while_each_thread() is not safe without
> tasklist or siglock or rcu.
I have fixed this in my git stash. I'll submit once I get to work on
Mike Frysinger's idea of marking stacks with their tids and see if it
breaks anything.
--
Siddhesh Poyarekar
http://siddhesh.in
--
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/