Subject: Re: lib/34218: settimeofday(2) causes date(1) command to han
To: None <gnats-bugs@NetBSD.org, lib-bug-people@NetBSD.org,>
From: John Nemeth <jnemeth@victoria.tc.ca>
List: netbsd-bugs
Date: 08/16/2006 14:56:52
Can you try the following patch to lib/libc/settimeofday.c, please?
--- settimeofday.c.orig 2006-08-16 14:35:19.000000000 -0700
+++ settimeofday.c 2006-08-16 14:40:54.000000000 -0700
@@ -84,9 +84,12 @@ try_syscall:
* If credentials changed from root to an unprivilegied
* user, and we already had __clockctl_fd = -1, then we
* tried the system call as a non root user, it failed
- * with EPERM, and we will try clockctl.
+ * with EPERM, and we will try clockctl unless the user
+ * is root which means they probably tried to set the
+ * clock backwards and are not allowed to do so because
+ * of the securelevel.
*/
- if (rv != -1 || errno != EPERM)
+ if (rv != -1 || errno != EPERM || geteuid() == 0)
return rv;
__clockctl_fd = -2;
}