Re: [PATCH 41/50] sched: numa: Use {cpu, pid} to create task groupsfor shared faults

From: Hillf Danton
Date: Thu Sep 12 2013 - 08:42:24 EST


Hello Mel

On Tue, Sep 10, 2013 at 5:32 PM, Mel Gorman <mgorman@xxxxxxx> wrote:
>
> +void task_numa_free(struct task_struct *p)
> +{
> + struct numa_group *grp = p->numa_group;
> + int i;
> +
> + kfree(p->numa_faults);
> +
> + if (grp) {
> + for (i = 0; i < 2*nr_node_ids; i++)
> + atomic_long_sub(p->numa_faults[i], &grp->faults[i]);
> +
use after free, numa_faults ;/

> + spin_lock(&grp->lock);
> + list_del(&p->numa_entry);
> + grp->nr_tasks--;
> + spin_unlock(&grp->lock);
> + rcu_assign_pointer(p->numa_group, NULL);
> + put_numa_group(grp);
> + }
> +}
> +
--
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/