slub: tid must be retrieved from the percpu area of the current processor
authorChristoph Lameter <cl@linux.com>
Wed, 23 Jan 2013 21:45:48 +0000 (21:45 +0000)
committerPekka Enberg <penberg@kernel.org>
Fri, 5 Apr 2013 11:23:06 +0000 (14:23 +0300)
As Steven Rostedt has pointer out: rescheduling could occur on a
different processor after the determination of the per cpu pointer and
before the tid is retrieved. This could result in allocation from the
wrong node in slab_alloc().

The effect is much more severe in slab_free() where we could free to the
freelist of the wrong page.

The window for something like that occurring is pretty small but it is
possible.

Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>

No differences found