i386: copyin/copyout error is EFAULT

Discussed with:	kib
MFC with:	r332489
Sponsored by:	Dell EMC Isilon
This commit is contained in:
Ryan Libby 2018-06-13 19:57:03 +00:00
parent 86b83608d8
commit a7be368aec
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=335076

View File

@ -226,7 +226,7 @@ copyin(const void *udaddr, void *kaddr, size_t len)
if ((uintptr_t)udaddr + len < (uintptr_t)udaddr ||
(uintptr_t)udaddr + len > VM_MAXUSER_ADDRESS)
return (-1);
return (EFAULT);
if (len == 0 || (fast_copyout && len <= TRAMP_COPYOUT_SZ &&
copyin_fast_tramp(udaddr, kaddr, len, KCR3) == 0))
return (0);
@ -261,7 +261,7 @@ copyout(const void *kaddr, void *udaddr, size_t len)
if ((uintptr_t)udaddr + len < (uintptr_t)udaddr ||
(uintptr_t)udaddr + len > VM_MAXUSER_ADDRESS)
return (-1);
return (EFAULT);
if (len == 0 || (fast_copyout && len <= TRAMP_COPYOUT_SZ &&
copyout_fast_tramp(kaddr, udaddr, len, KCR3) == 0))
return (0);