Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 340e01248478ba8b78a6d4d1809b1eff > files > 360

kvm-83-270.el5_11.src.rpm

From 9a8cf4855d1335ab60d8a855e372bedc1e165dc8 Mon Sep 17 00:00:00 2001
From: Izik Eidus <ieidus@redhat.com>
Date: Wed, 22 Apr 2009 09:32:34 +0300
Subject: [PATCH 07/15] fix effective bug - 497042

this fix effective bug that the virtual address of the second page
inside the stable tree was not saved.

(this is just effective issue, nothing else)

Thanks.

Signed-off-by: Izik Eidus <ieidus@redhat.com>
Message-ID: <49EEBA02.9010706@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Acked-by: Andrea Arcangeli <aarcange@redhat.com>
Acked-by: "Michael S. Tsirkin" <mst@redhat.com>
Acked-by: john cooper <john.cooper@redhat.com>
RH-Upstream-status: pending
Bugzilla: 500263
---
 kernel/ksm/ksm_main.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/kernel/ksm/ksm_main.c b/kernel/ksm/ksm_main.c
index 02c7a90..40a0258 100644
--- a/kernel/ksm/ksm_main.c
+++ b/kernel/ksm/ksm_main.c
@@ -1002,6 +1002,14 @@ static int cmp_and_merge_page(struct ksm_scan *ksm_scan, struct page *page)
 						tree_item, tmp_rmap_item)) {
 				if (rmap_item) {
 					rmap_item->stable_tree = 1;
+					rmap_item->next = tmp_rmap_item->next;
+					rmap_item->prev = tmp_rmap_item;
+					if (tmp_rmap_item->next)
+						tmp_rmap_item->next->prev =
+								      rmap_item;
+					tmp_rmap_item->next = rmap_item;
+					rmap_item->tree_item =
+						       tmp_rmap_item->tree_item;
 				}
 			}
 		}
-- 
1.6.3.rc4.29.g8146