|
@@ -266,9 +266,7 @@ static int mmap_return_errors(void *data, void *state)
|
|
xen_pfn_t *mfnp = data;
|
|
xen_pfn_t *mfnp = data;
|
|
struct mmap_batch_state *st = state;
|
|
struct mmap_batch_state *st = state;
|
|
|
|
|
|
- put_user(*mfnp, st->user++);
|
|
|
|
-
|
|
|
|
- return 0;
|
|
|
|
|
|
+ return put_user(*mfnp, st->user++);
|
|
}
|
|
}
|
|
|
|
|
|
static struct vm_operations_struct privcmd_vm_ops;
|
|
static struct vm_operations_struct privcmd_vm_ops;
|
|
@@ -323,10 +321,8 @@ static long privcmd_ioctl_mmap_batch(void __user *udata)
|
|
up_write(&mm->mmap_sem);
|
|
up_write(&mm->mmap_sem);
|
|
|
|
|
|
if (state.err > 0) {
|
|
if (state.err > 0) {
|
|
- ret = 0;
|
|
|
|
-
|
|
|
|
state.user = m.arr;
|
|
state.user = m.arr;
|
|
- traverse_pages(m.num, sizeof(xen_pfn_t),
|
|
|
|
|
|
+ ret = traverse_pages(m.num, sizeof(xen_pfn_t),
|
|
&pagelist,
|
|
&pagelist,
|
|
mmap_return_errors, &state);
|
|
mmap_return_errors, &state);
|
|
}
|
|
}
|