svn commit: r336871 - head/sys/compat/freebsd32
Alan Somers
asomers at FreeBSD.org
Sun Jul 29 18:22:27 UTC 2018
Author: asomers
Date: Sun Jul 29 18:22:26 2018
New Revision: 336871
URL: https://svnweb.freebsd.org/changeset/base/336871
Log:
getrusage(2): fix return value under 32-bit emulation
According to the man page, getrusage(2) should return EFAULT if the rusage
argument lies outside of the process's address space. But due to an
oversight in r100384, that's never been the case during 32-bit emulation.
Fix it.
PR: 230153
Reported by: tests(7)
Reviewed by: cem
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D16500
Modified:
head/sys/compat/freebsd32/freebsd32_misc.c
Modified: head/sys/compat/freebsd32/freebsd32_misc.c
==============================================================================
--- head/sys/compat/freebsd32/freebsd32_misc.c Sun Jul 29 17:27:10 2018 (r336870)
+++ head/sys/compat/freebsd32/freebsd32_misc.c Sun Jul 29 18:22:26 2018 (r336871)
@@ -883,12 +883,9 @@ freebsd32_getrusage(struct thread *td, struct freebsd3
int error;
error = kern_getrusage(td, uap->who, &s);
- if (error)
- return (error);
- if (uap->rusage != NULL) {
- freebsd32_rusage_out(&s, &s32);
+ freebsd32_rusage_out(&s, &s32);
+ if (error == 0)
error = copyout(&s32, uap->rusage, sizeof(s32));
- }
return (error);
}
More information about the svn-src-all
mailing list