提交 313e7441 编写于 作者: V Vasiliy Kulikov 提交者: 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: NVasiliy Kulikov <segooon@gmail.com>
Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册