Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 3160499aacb81f6735941eb4c372d87a > files > 153

kvm-83-164.el5_5.30.src.rpm

From 9fa0fc1b249b48f15ef1948937b3453f1bfe26a0 Mon Sep 17 00:00:00 2001
From: Izik Eidus <ieidus@redhat.com>
Date: Wed, 15 Apr 2009 18:15:29 +0300
Subject: [PATCH 03/15] KSM: fix bug 495912

change get_user_pages() return value check.

Signed-off-by: Izik Eidus <ieidus@redhat.com>
Message-Id: <1239808529-22398-7-git-send-email-ieidus@redhat.com>
Message-Id: <1239808529-22398-7-git-send-email-ieidus@redhat.com>
Message-Id: <1240106904-21687-7-git-send-email-ieidus@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com
RH-Upstream-status: pending
Acked-by: Andrea Arcangeli <aarcange@redhat.com>
Acked-by: "Michael S. Tsirkin" <mst@redhat.com>
Acked-by: john cooper <john.cooper@redhat.com>
Bugzilla: 500263
---
 kernel/ksm/ksm_main.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/ksm/ksm_main.c b/kernel/ksm/ksm_main.c
index f620f42..818711e 100644
--- a/kernel/ksm/ksm_main.c
+++ b/kernel/ksm/ksm_main.c
@@ -618,7 +618,7 @@ static int try_to_merge_two_pages_alloc(struct mm_struct *mm1,
 			struct page *tmppage[1];
 			down_read(&mm1->mmap_sem);
 			if (get_user_pages(current, mm1, addr1, 1, 1, 0,
-					   tmppage, NULL)) {
+					   tmppage, NULL) == 1) {
 				put_page(tmppage[0]);
 			}
 			up_read(&mm1->mmap_sem);
@@ -681,7 +681,7 @@ static int is_zapped_item(struct rmap_item *rmap_item,
 		up_read(&rmap_item->mm->mmap_sem);
 	}
 
-	if (!ret)
+	if (ret != 1)
 		return 1;
 
 	if (unlikely(!PageKsm(page[0]))) {
@@ -834,7 +834,7 @@ static struct tree_item *unstable_tree_search_insert(struct page *page,
 		ret = get_user_pages(current, rmap_item->mm, rmap_item->address,
 				     1, 0, 0, page2, NULL);
 		up_read(&rmap_item->mm->mmap_sem);
-		if (!ret)
+		if (ret != 1)
 			return NULL;
 
 		ret = memcmp_pages(page, page2[0]);
-- 
1.6.3.rc4.29.g8146