DF-0191 / fix.diff
diff --git a/sys/kern/subr_log.c b/sys/kern/subr_log.c --- a/sys/kern/subr_log.c +++ b/sys/kern/subr_log.c @@ -85,8 +85,21 @@ /* Times per second to check for a pending syslog wakeup. */ static int log_wakeups_per_second = 5; -SYSCTL_INT(_kern, OID_AUTO, log_wakeups_per_second, CTLFLAG_RW, - &log_wakeups_per_second, 0, ""); +static int +sysctl_log_wakeups_per_second(SYSCTL_HANDLER_ARGS) +{ + int error, val = log_wakeups_per_second; + error = sysctl_handle_int(oidp, &val, 0, req); + if (error || req->newptr == NULL) + return (error); + if (val <= 0 || val > hz) + return (EINVAL); + log_wakeups_per_second = val; + return (0); +} +SYSCTL_PROC(_kern, OID_AUTO, log_wakeups_per_second, + CTLTYPE_INT | CTLFLAG_RW, &log_wakeups_per_second, 0, + sysctl_log_wakeups_per_second, "I", ""); /*ARGSUSED*/ static int |