From: Nick Piggin Date: Mon, 10 Apr 2006 01:21:48 +0000 (+1000) Subject: [PATCH] Fix buddy list race that could lead to page lru list corruptions X-Git-Tag: v2.6.17-rc2~289 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=676165a8af7167f488abdcce6851a9bc36e83254;p=pandora-kernel.git [PATCH] Fix buddy list race that could lead to page lru list corruptions Rohit found an obscure bug causing buddy list corruption. page_is_buddy is using a non-atomic test (PagePrivate && page_count == 0) to determine whether or not a free page's buddy is itself free and in the buddy lists. Each of the conjuncts may be true at different times due to unrelated conditions, so the non-atomic page_is_buddy test may find each conjunct to be true even if they were not both true at the same time (ie. the page was not on the buddy lists). Signed-off-by: Martin Bligh Signed-off-by: Rohit Seth Signed-off-by: Nick Piggin Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed