]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
xen/privcmd: Fix mmap batch ioctl error status copy back.
authorAndres Lagar-Cavilla <andres@lagarcavilla.org>
Thu, 6 Sep 2012 17:24:39 +0000 (13:24 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Thu, 6 Sep 2012 20:14:36 +0000 (16:14 -0400)
Copy back of per-slot error codes is only necessary for V2. V1 does not provide
an error array, so copyback will unconditionally set the global rc to EFAULT.
Only copyback for V2.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/xen/privcmd.c

index 92a285b1b96af58d3e756ce53a1819c6eb5be86c..3b162c656205c851f8cf83788db4c9066eba04fa 100644 (file)
@@ -389,7 +389,7 @@ static long privcmd_ioctl_mmap_batch(void __user *udata, int version)
                state.err      = err_array;
                ret = traverse_pages(m.num, sizeof(xen_pfn_t),
                                     &pagelist, mmap_return_errors_v1, &state);
-       } else
+       } else if (version == 2)
                ret = __copy_to_user(m.err, err_array, m.num * sizeof(int));
 
        /* If we have not had any EFAULT-like global errors then set the global