Re: [PATCH v4] slab/mempolicy: always use local policy from interruptcontext

From: David Rientjes
Date: Thu May 31 2012 - 16:41:39 EST


On Wed, 30 May 2012, David Mackey wrote:

> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> slab_node() could access current->mempolicy from interrupt context.
> However there's a race condition during exit where the mempolicy
> is first freed and then the pointer zeroed.
>
> Using this from interrupts seems bogus anyways. The interrupt
> will interrupt a random process and therefore get a random
> mempolicy. Many times, this will be idle's, which noone can change.
>
> Just disable this here and always use local for slab
> from interrupts. I also cleaned up the callers of slab_node a bit
> which always passed the same argument.
>
> I believe the original mempolicy code did that in fact,
> so it's likely a regression.
>
> v2: send version with correct logic
> v3: simplify. fix typo.
> Reported-by: Arun Sharma <asharma@xxxxxx>
> Cc: penberg@xxxxxxxxxx
> Cc: cl@xxxxxxxxx
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> [tdmackey@xxxxxxxxxxx: Rework patch logic and avoid dereference of current
> task if in interrupt context.]
> Signed-off-by: David Mackey <tdmackey@xxxxxxxxxxx>

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>

Thanks for following up on this.
--
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/