Files
linux/mm
Eric Dumazet 16c7560fcc slub: fix a possible memleak in __slab_alloc()
commit 73736e0387 upstream.

Zhihua Che reported a possible memleak in slub allocator on
CONFIG_PREEMPT=y builds.

It is possible current thread migrates right before disabling irqs in
__slab_alloc(). We must check again c->freelist, and perform a normal
allocation instead of scratching c->freelist.

Many thanks to Zhihua Che for spotting this bug, introduced in 2.6.39

V2: Its also possible an IRQ freed one (or several) object(s) and
populated c->freelist, so its not a CONFIG_PREEMPT only problem.

Reported-by: Zhihua Che <zhihua.che@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-20 12:48:14 -08:00
..
2009-04-01 08:59:13 -07:00
2011-05-26 09:20:31 -07:00
2011-03-31 11:26:23 -03:00
2011-11-11 09:36:29 -08:00
2011-11-11 09:36:29 -08:00
2009-09-22 07:17:35 -07:00
2011-05-26 09:20:31 -07:00
2010-03-24 16:31:21 -07:00
2011-01-13 17:32:46 -08:00
2011-05-25 08:39:18 -07:00
2010-05-21 18:31:21 -04:00
2011-07-08 21:14:44 -07:00
2011-03-10 08:52:27 +01:00
2011-05-20 12:50:29 -07:00
2011-06-27 18:00:12 -07:00
2011-03-31 11:26:23 -03:00
2011-03-10 08:52:07 +01:00
2012-02-13 11:06:11 -08:00
2011-05-25 08:39:05 -07:00