|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Fix blktap "bad page state" bug.
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 3e5a203c548982a7fdca77aa78ce837a8329f5c4
# Parent 369bdfa1e04aa5097440eb0cd548d4e2033365ae
Fix blktap "bad page state" bug.
Signed-off-by: Andrew Warfield <andrew.warfield@xxxxxxxxxxxx>
Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx>
diff -r 369bdfa1e04a -r 3e5a203c5489 linux-2.6-xen-sparse/mm/memory.c
--- a/linux-2.6-xen-sparse/mm/memory.c Sun Apr 30 09:32:21 2006 +0100
+++ b/linux-2.6-xen-sparse/mm/memory.c Sun Apr 30 09:39:04 2006 +0100
@@ -968,6 +968,7 @@ int get_user_pages(struct task_struct *t
{
int i;
unsigned int vm_flags;
+ int xenpage = 0;
/*
* Require read or write permissions.
@@ -1025,10 +1026,14 @@ int get_user_pages(struct task_struct *t
if (vma && (vma->vm_flags & VM_FOREIGN)) {
struct page **map = vma->vm_private_data;
int offset = (start - vma->vm_start) >> PAGE_SHIFT;
-
+ xenpage =1;
if (map[offset] != NULL) {
- if (pages)
- pages[i] = map[offset];
+ if (pages) {
+ struct page *page = map[offset];
+
+ pages[i] = page;
+ get_page(page);
+ }
if (vmas)
vmas[i] = vma;
i++;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Fix blktap "bad page state" bug.,
Xen patchbot -unstable <=
|
|
|
|
|