 include/linux/mm.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN include/linux/mm.h~compound-page-fix include/linux/mm.h
--- 25/include/linux/mm.h~compound-page-fix	2003-04-08 03:38:52.000000000 -0700
+++ 25-akpm/include/linux/mm.h	2003-04-08 03:39:01.000000000 -0700
@@ -232,8 +232,8 @@ static inline void get_page(struct page 
 static inline void put_page(struct page *page)
 {
 	if (PageCompound(page)) {
+		page = (struct page *)page->lru.next;
 		if (put_page_testzero(page)) {
-			page = (struct page *)page->lru.next;
 			if (page->lru.prev) {	/* destructor? */
 				(*(void (*)(struct page *))page->lru.prev)(page);
 			} else {

_
