Sorry! I am working FB/6.0. But I have checked the 6.1 code, this
prolbem exists too.
in __semctl():
error = kern_semctl(td, uap->semid, uap->semnum, uap->cmd,
&semun,
&rval);
but in kern_semctl() there is no convertion
在 06-7-26,李尚杰<[EMAIL PROT
In file kern/sysv_sem.c:
554 __semctl(td, uap)
555 struct thread *td;
556 struct __semctl_args *uap;
557 {
558 int semid = uap->semid; <cmd;
561 u_short *array;
562 union semun *arg = uap->arg;
563 union semun real
The code for ipcperm() call :
78 ipcperm(td, perm, mode)
79 struct thread *td;
80 struct ipc_perm *perm;
81 int mode;
82 {
83 struct ucred *cred = td->td_ucred;
84 int error;
85
86 if (cred->cr_uid != perm->cuid && cred->cr_uid != perm->uid) {
87
in the source code kern/sysv_shm.c:
729 error = ipcperm(td, &shmseg->u.shm_perm, mode);
730 #ifdef MAC
731 error = mac_check_sysv_shmget(td->td_ucred, shmseg, uap->shmflg);
732 if (error != 0)
733 MPRINTF(("mac_check_sysv_shmget returned %d\n", error));
734
4 matches
Mail list logo