Re: [PATCH] sched/numa: Fix use-after-free bug in the task_numa_compare

From: Peter Zijlstra
Date: Mon Jan 18 2016 - 09:33:56 EST


On Mon, Jan 18, 2016 at 09:59:08PM +0800, gavin.guo@xxxxxxxxxxxxx wrote:
> BugLink: https://bugs.launchpad.net/bugs/1527643

These do not go in patches..

> /*
> + * No need to move the exiting task or idle task.
> */
> if ((cur->flags & PF_EXITING) || is_idle_task(cur))
> cur = NULL;
> + else
> + /*
> + * The task_struct must be protected here to protect the
> + * p->numa_faults access in the task_weight since the
> + * numa_faults could already be freed in the following path:
> + * finish_task_switch()
> + * --> put_task_struct()
> + * --> __put_task_struct()
> + * --> task_numa_free()
> + */
> + get_task_struct(cur);
> +

This is incorrect CodingStyle, please add { }.