git: 0dfbdd9fc269 - main - linux(4): make getcwd(2) return ERANGE instead of ENOMEM
Edward Tomasz Napierala
trasz at FreeBSD.org
Fri Mar 12 15:34:41 UTC 2021
The branch main has been updated by trasz:
URL: https://cgit.FreeBSD.org/src/commit/?id=0dfbdd9fc269f0438ffcc31632d35234a90584ad
commit 0dfbdd9fc269f0438ffcc31632d35234a90584ad
Author: Edward Tomasz Napierala <trasz at FreeBSD.org>
AuthorDate: 2021-03-12 15:31:37 +0000
Commit: Edward Tomasz Napierala <trasz at FreeBSD.org>
CommitDate: 2021-03-12 15:31:45 +0000
linux(4): make getcwd(2) return ERANGE instead of ENOMEM
For native FreeBSD binaries, the return value from __getcwd(2)
doesn't really matter, as the libc wrapper takes over and returns
the proper errno.
PR: kern/254120
Reported By: Alex S <iwtcex at gmail.com>
Reviewed By: kib
Sponsored By: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D29217
---
sys/compat/linux/linux_getcwd.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sys/compat/linux/linux_getcwd.c b/sys/compat/linux/linux_getcwd.c
index c39e69c4e707..4917641be5e5 100644
--- a/sys/compat/linux/linux_getcwd.c
+++ b/sys/compat/linux/linux_getcwd.c
@@ -74,6 +74,8 @@ linux_getcwd(struct thread *td, struct linux_getcwd_args *uap)
buf = malloc(buflen, M_TEMP, M_WAITOK);
error = vn_getcwd(buf, &retbuf, &buflen);
+ if (error == ENOMEM)
+ error = ERANGE;
if (error == 0) {
error = copyout(retbuf, uap->buf, buflen);
if (error == 0)
More information about the dev-commits-src-all
mailing list