With the -x option there is no need for write access to /dev/clockctl.
#elif defined(SOLARIS) && defined(FEAT_PRIVDROP)
SYS_Solaris_DropRoot(uid, gid, context);
#elif (defined(NETBSD) || defined(FREEBSD)) && defined(FEAT_PRIVDROP)
- SYS_NetBSD_DropRoot(uid, gid, context);
+ SYS_NetBSD_DropRoot(uid, gid, context, !null_driver);
#elif defined(MACOSX) && defined(FEAT_PRIVDROP)
SYS_MacOSX_DropRoot(uid, gid, context);
#else
#ifdef FEAT_PRIVDROP
void
-SYS_NetBSD_DropRoot(uid_t uid, gid_t gid, SYS_ProcessContext context)
+SYS_NetBSD_DropRoot(uid_t uid, gid_t gid, SYS_ProcessContext context, int clock_control)
{
#ifdef NETBSD
int fd;
UTI_DropRoot(uid, gid);
#ifdef NETBSD
+ if (!clock_control)
+ return;
+
/* Check if we have write access to /dev/clockctl */
fd = open("/dev/clockctl", O_WRONLY);
if (fd < 0)
void SYS_NetBSD_Finalise(void);
-void SYS_NetBSD_DropRoot(uid_t uid, gid_t gid, SYS_ProcessContext context);
+void SYS_NetBSD_DropRoot(uid_t uid, gid_t gid, SYS_ProcessContext context, int clock_control);
#endif