]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
lib/genalloc.c: remove unmatched write_lock() in gen_pool_destroy
authorZygo Blaxell <zygo.blaxell@xandros.com>
Tue, 16 Jun 2009 22:33:57 +0000 (15:33 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 2 Jul 2009 23:50:59 +0000 (16:50 -0700)
commit5fbba42ae4b30f9eb2a4fd87d4599e3c4cde2137
treea661b1c6b188b482124dac176a85a5a75e16339f
parentcc2b6aacfc0e7a9288ed7ea518ff122454ccf7fb
lib/genalloc.c: remove unmatched write_lock() in gen_pool_destroy

commit 8e8a2dea0ca91fe2cb7de7ea212124cfe8c82c35 upstream.

There is a call to write_lock() in gen_pool_destroy which is not balanced
by any corresponding write_unlock().  This causes problems with preemption
because the preemption-disable counter is incremented in the write_lock()
call, but never decremented by any call to write_unlock().  This bug is
gen_pool_destroy, and one of them is non-x86 arch-specific code.

Signed-off-by: Zygo Blaxell <zygo.blaxell@xandros.com>
Cc: Jiri Kosina <trivial@kernel.org>
Cc: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
lib/genalloc.c