From: Andres Lagar-Cavilla Date: Thu, 6 Sep 2012 17:24:39 +0000 (-0400) Subject: xen/privcmd: Fix mmap batch ioctl error status copy back. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=1714df7f2cee6a741c3ed24231ec5db25b90633a;p=linux-beck.git xen/privcmd: Fix mmap batch ioctl error status copy back. 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 Signed-off-by: Konrad Rzeszutek Wilk --- diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c index 92a285b1b96a..3b162c656205 100644 --- a/drivers/xen/privcmd.c +++ b/drivers/xen/privcmd.c @@ -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