]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitc7a102059c847414dd64dd455541411bf23314f5
tree010bad7b7e3d3969f6050406b448fbcbc57cdca0
parent759a2375226f1cabb81d748d33445901c1f212a4
slub: tid must be retrieved from the percpu area of the current processor

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>
mm/slub.c