git: 452f4636c3ba - main - linux(4): Return ENOTSUP for unsupported clockid
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 31 May 2022 08:59:36 UTC
The branch main has been updated by dchagin:
URL: https://cgit.FreeBSD.org/src/commit/?id=452f4636c3ba1f51f2f549ccc31fd4177254fb6d
commit 452f4636c3ba1f51f2f549ccc31fd4177254fb6d
Author: Dmitry Chagin <dchagin@FreeBSD.org>
AuthorDate: 2022-05-31 08:43:00 +0000
Commit: Dmitry Chagin <dchagin@FreeBSD.org>
CommitDate: 2022-05-31 08:43:00 +0000
linux(4): Return ENOTSUP for unsupported clockid
It's much better from the user perspective to get a sane error code.
MFC after: 2 weeks
---
sys/compat/linux/linux_time.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/sys/compat/linux/linux_time.c b/sys/compat/linux/linux_time.c
index 0be7025abe05..5d2269190931 100644
--- a/sys/compat/linux/linux_time.c
+++ b/sys/compat/linux/linux_time.c
@@ -278,8 +278,11 @@ linux_to_native_clockid(clockid_t *n, clockid_t l)
if (l < 0) {
/* cpu-clock */
- if ((l & LINUX_CLOCKFD_MASK) == LINUX_CLOCKFD)
- return (EINVAL);
+ if (LINUX_CPUCLOCK_WHICH(l) == LINUX_CLOCKFD) {
+ LIN_SDT_PROBE1(time, linux_to_native_clockid,
+ unsupported_clockid, l);
+ return (ENOTSUP);
+ }
if (LINUX_CPUCLOCK_WHICH(l) >= LINUX_CPUCLOCK_MAX)
return (EINVAL);
@@ -319,11 +322,11 @@ linux_to_native_clockid(clockid_t *n, clockid_t l)
case LINUX_CLOCK_TAI:
LIN_SDT_PROBE1(time, linux_to_native_clockid,
unsupported_clockid, l);
- return (EINVAL);
+ return (ENOTSUP);
default:
LIN_SDT_PROBE1(time, linux_to_native_clockid,
unknown_clockid, l);
- return (EINVAL);
+ return (ENOTSUP);
}
return (0);