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

From: KOSAKI Motohiro
Date: Mon Jun 18 2012 - 04:20:52 EST


(6/9/12 5:40 AM), David Mackey wrote:
> From: Andi Kleen<ak@xxxxxxxxxxxxxxx>
>
> 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 control flow based on feedback from
> cl@xxxxxxxxx, fix logic, and cleanup current task_struct reference]
> Signed-off-by: David Mackey<tdmackey@xxxxxxxxxxx>

Acked-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>




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