version 1.98, 2005/12/05 00:16:34 |
version 1.99, 2006/05/14 21:15:11 |
Line 85 __KERNEL_RCSID(0, "$NetBSD$"); |
|
Line 85 __KERNEL_RCSID(0, "$NetBSD$"); |
|
#include <sys/signalvar.h> |
#include <sys/signalvar.h> |
#include <sys/syslog.h> |
#include <sys/syslog.h> |
#include <sys/timevar.h> |
#include <sys/timevar.h> |
|
#include <sys/kauth.h> |
|
|
#include <sys/mount.h> |
#include <sys/mount.h> |
#include <sys/syscallargs.h> |
#include <sys/syscallargs.h> |
Line 141 settime(struct proc *p, struct timespec |
|
Line 142 settime(struct proc *p, struct timespec |
|
log(LOG_WARNING, "pid %d (%s) " |
log(LOG_WARNING, "pid %d (%s) " |
"invoked by uid %d ppid %d (%s) " |
"invoked by uid %d ppid %d (%s) " |
"tried to set clock forward to %ld\n", |
"tried to set clock forward to %ld\n", |
p->p_pid, p->p_comm, pp->p_ucred->cr_uid, |
p->p_pid, p->p_comm, kauth_cred_geteuid(pp->p_cred), |
pp->p_pid, pp->p_comm, (long)ts->tv_sec); |
pp->p_pid, pp->p_comm, (long)ts->tv_sec); |
return (EPERM); |
return (EPERM); |
} |
} |
Line 223 sys_clock_settime(struct lwp *l, void *v |
|
Line 224 sys_clock_settime(struct lwp *l, void *v |
|
struct proc *p = l->l_proc; |
struct proc *p = l->l_proc; |
int error; |
int error; |
|
|
if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) |
if ((error = kauth_authorize_generic(p->p_cred, KAUTH_GENERIC_ISSUSER, |
|
&p->p_acflag)) != 0) |
return (error); |
return (error); |
|
|
return (clock_settime1(p, SCARG(uap, clock_id), SCARG(uap, tp))); |
return (clock_settime1(p, SCARG(uap, clock_id), SCARG(uap, tp))); |
Line 381 sys_settimeofday(struct lwp *l, void *v, |
|
Line 383 sys_settimeofday(struct lwp *l, void *v, |
|
struct proc *p = l->l_proc; |
struct proc *p = l->l_proc; |
int error; |
int error; |
|
|
if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) |
if ((error = kauth_authorize_generic(p->p_cred, KAUTH_GENERIC_ISSUSER, |
|
&p->p_acflag)) != 0) |
return (error); |
return (error); |
|
|
return settimeofday1(SCARG(uap, tv), SCARG(uap, tzp), p); |
return settimeofday1(SCARG(uap, tv), SCARG(uap, tzp), p); |
Line 429 sys_adjtime(struct lwp *l, void *v, regi |
|
Line 432 sys_adjtime(struct lwp *l, void *v, regi |
|
struct proc *p = l->l_proc; |
struct proc *p = l->l_proc; |
int error; |
int error; |
|
|
if ((error = suser(p->p_ucred, &p->p_acflag)) != 0) |
if ((error = kauth_authorize_generic(p->p_cred, KAUTH_GENERIC_ISSUSER, |
|
&p->p_acflag)) != 0) |
return (error); |
return (error); |
|
|
return adjtime1(SCARG(uap, delta), SCARG(uap, olddelta), p); |
return adjtime1(SCARG(uap, delta), SCARG(uap, olddelta), p); |
Line 574 timer_create1(timer_t *tid, clockid_t id |
|
Line 578 timer_create1(timer_t *tid, clockid_t id |
|
pt->pt_info.ksi_errno = 0; |
pt->pt_info.ksi_errno = 0; |
pt->pt_info.ksi_code = 0; |
pt->pt_info.ksi_code = 0; |
pt->pt_info.ksi_pid = p->p_pid; |
pt->pt_info.ksi_pid = p->p_pid; |
pt->pt_info.ksi_uid = p->p_cred->p_ruid; |
pt->pt_info.ksi_uid = kauth_cred_getuid(p->p_cred); |
pt->pt_info.ksi_sigval = pt->pt_ev.sigev_value; |
pt->pt_info.ksi_sigval = pt->pt_ev.sigev_value; |
|
|
pt->pt_type = id; |
pt->pt_type = id; |