- clear error indication array when no error encountered
- no need to copy back mfn array in compat mode shim
Signed-off-by: Jan Beulich <jbeulich@novell.com>
struct privcmd_mmapbatch_v2_32 n32;
#ifdef xen_pfn32_t
xen_pfn_t *__user arr;
- xen_pfn32_t *__user arr32;
+ const xen_pfn32_t *__user arr32;
unsigned int i;
#endif
#endif
ret = sys_ioctl(fd, IOCTL_PRIVCMD_MMAPBATCH_V2, (unsigned long)p);
-
-#ifdef xen_pfn32_t
- for (i = 0; !ret && i < n32.num; ++i) {
- xen_pfn_t mfn;
-
- if (get_user(mfn, arr + i) || put_user(mfn, arr32 + i))
- ret = -EFAULT;
- else if (mfn != (xen_pfn32_t)mfn)
- ret = -ERANGE;
- }
-#endif
}
break;
default:
ret = -EFAULT;
i += nr; p += nr;
}
- }
+ } else if (clear_user(m.err, nr_pages * sizeof(*m.err)))
+ ret = -EFAULT;
mmapbatch_v2_out:
list_for_each_safe(l, l2, &pagelist)