Hi, I had sent out a request for the backport on 2014-03-17 16:17:32 GMT titled "sched/autogroup: Fix race with task_groups list". I did not however hear back about the status of the review of this backport. Can you please let me know about the same? The below patch is known to have fixed several boot time kernel oops on some of our local machines and would be good to have it in the 3.10 stable kernel. Thanks Regards Preeti U Murthy From: Gerald Schaefer <gerald.schaefer <at> de.ibm.com> commit 41261b6a832ea0e788627f6a8707854423f9ff49 upstream In autogroup_create(), a tg is allocated and added to the task_groups list. If CONFIG_RT_GROUP_SCHED is set, this tg is then modified while on the list, without locking. This can race with someone walking the list, like __enable_runtime() during CPU unplug, and result in a use-after-free bug. To fix this, move sched_online_group(), which adds the tg to the list, to the end of the autogroup_create() function after the modification. Please backport this fix to stable/3.10.y. There were many reports of kernel oops on 3.10 due to the absence of this fix. Signed-off-by: Gerald Schaefer <gerald.schaefer <at> de.ibm.com> Signed-off-by: Peter Zijlstra <peterz <at> infradead.org> Link: http://lkml.kernel.org/r/1369411669-46971-2-git-send-email-gerald.schaefer <at> de.ibm.com Signed-off-by: Ingo Molnar <mingo <at> kernel.org> Signed-off-by: Preeti U Murthy <preeti <at> linux.vnet.ibm.com> --- kernel/sched/auto_group.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/sched/auto_group.c b/kernel/sched/auto_group.c index 64de5f8..4a07353 100644 --- a/kernel/sched/auto_group.c +++ b/kernel/sched/auto_group.c <at> <at> -77,8 +77,6 <at> <at> static inline struct autogroup *autogroup_create(void) if (IS_ERR(tg)) goto out_free; - sched_online_group(tg, &root_task_group); - kref_init(&ag->kref); init_rwsem(&ag->lock); ag->id = atomic_inc_return(&autogroup_seq_nr); <at> <at> -98,6 +96,7 <at> <at> static inline struct autogroup *autogroup_create(void) #endif tg->autogroup = ag; + sched_online_group(tg, &root_task_group); return ag; out_free: -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html