Commit 313e7441 authored by Vasiliy Kulikov's avatar Vasiliy Kulikov Committed by Jeremy Fitzhardinge

xen: xenfs: privcmd: check put_user() return code

put_user() may fail.  In this case propagate error code from
privcmd_ioctl_mmap_batch().
Signed-off-by: default avatarVasiliy Kulikov <segooon@gmail.com>
Signed-off-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
parent 9387377e
...@@ -266,9 +266,7 @@ static int mmap_return_errors(void *data, void *state) ...@@ -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 put_user(*mfnp, st->user++);
return 0;
} }
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) ...@@ -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);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment