The branch main has been updated by eugen:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=048ce0876f5421f70a6d348479bdeacdd8472bed

commit 048ce0876f5421f70a6d348479bdeacdd8472bed
Author:     Eugene Grosbein <[email protected]>
AuthorDate: 2022-06-21 18:29:08 +0000
Commit:     Eugene Grosbein <[email protected]>
CommitDate: 2022-06-21 18:32:54 +0000

    adjkerntz(8):   detect extra jailed invokation to keep logs clean
    
    It may happen that "adjkerntz -a" called from jailed root crontab.
    In that case it spams logs with a line:
    
    sysctl(set: "machdep.wall_cmos_clock"): Operation not permitted
    
    Be silent in that case.
    
    MFC after:      1 month
---
 sbin/adjkerntz/adjkerntz.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sbin/adjkerntz/adjkerntz.c b/sbin/adjkerntz/adjkerntz.c
index e6cadcf7f189..2fde545ebf32 100644
--- a/sbin/adjkerntz/adjkerntz.c
+++ b/sbin/adjkerntz/adjkerntz.c
@@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$");
  * with Garrett Wollman and Bruce Evans fixes.
  *
  */
+#include <errno.h>
 #include <stdio.h>
 #include <signal.h>
 #include <stdlib.h>
@@ -159,6 +160,12 @@ again:
 
        len = sizeof(kern_offset);
        if (sysctlbyname("machdep.adjkerntz", &kern_offset, &len, NULL, 0) == 
-1) {
+               if (errno == EPERM && !init && geteuid() == 0)
+                       /*
+                        * Surplus call from jailed root crontab.
+                        * Avoid spamming logs.
+                        */
+                       return 1;
                syslog(LOG_ERR, "sysctl(\"machdep.adjkerntz\"): %m");
                return 1;
        }

Reply via email to