Re: [RFC][PATCH] fix move/migrate_pages() race on task struct

From: Christoph Lameter
Date: Fri Feb 24 2012 - 11:54:16 EST


On Fri, 24 Feb 2012, Dave Hansen wrote:

> On 02/24/2012 07:20 AM, Christoph Lameter wrote:
> > Subject: migration: Do not do rcu_read_unlock until the last time we need the task_struct pointer
> >
> > Migration functions perform the rcu_read_unlock too early. As a result the
> > task pointed to may change. Bugs were introduced when adding security checks
> > because rcu_unlock/lock sequences were inserted. Plus the security checks
> > and do_move_pages used the task_struct pointer after rcu_unlock.
> >
> > Fix those issues by removing the unlock/lock sequences and moving the
> > rcu_read_unlock after the last use of the task struct pointer.
> >
> > Signed-off-by: Christoph Lameter <cl@xxxxxxxxx>
>
> It doesn't fix the code duplication, but it definitely does fix the bug

Yes I did not want to override all your good work.

Could you do another patch that removed the duplication?

--
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/