]> git.karo-electronics.de Git - karo-tx-linux.git/commit
highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow
authorSoeren Sandmann <sandmann@daimi.au.dk>
Wed, 28 Oct 2009 17:55:36 +0000 (18:55 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 8 Dec 2009 18:21:08 +0000 (10:21 -0800)
commit52f9034cfc63fad0aa06eecb1fd943432b6dc9f1
treeaf0cd8a945619a6558ece37670599c9d8cb79ded
parent80bc5c1318442367dbcdccfa737ec952548088a3
highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow

commit 5ebd4c22897dce65845807a9bd3a31cc4e142b53 upstream.

debug_kmap_atomic() tries to prevent ever printing more than 10
warnings, but it does so by testing whether an unsigned integer
is equal to 0. However, if the warning is caused by a nested
IRQ, then this counter may underflow and the stream of warnings
will never end.

Fix that by using a signed integer instead.

Signed-off-by: Soeren Sandmann Pedersen <sandmann@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: a.p.zijlstra@chello.nl
LKML-Reference: <ye8zl7b8ktj.fsf@camel23.daimi.au.dk>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
mm/highmem.c