Lines Matching refs:msqptr
477 struct msqid_ds *msqptr; in msgctl1() local
495 msqptr = &msq->msq_u; in msgctl1()
497 if (msqptr->msg_qbytes == 0) { in msgctl1()
502 if (msqptr->msg_perm._seq != IPCID_TO_SEQ(msqid)) { in msgctl1()
512 if ((error = ipcperm(cred, &msqptr->msg_perm, IPC_M)) != 0) in msgctl1()
515 msghdr = msqptr->_msg_first; in msgctl1()
520 msqptr->_msg_cbytes -= msghdr->msg_ts; in msgctl1()
521 msqptr->msg_qnum--; in msgctl1()
526 KASSERT(msqptr->_msg_cbytes == 0); in msgctl1()
527 KASSERT(msqptr->msg_qnum == 0); in msgctl1()
530 msqptr->msg_qbytes = 0; in msgctl1()
536 if ((error = ipcperm(cred, &msqptr->msg_perm, IPC_M))) in msgctl1()
538 if (msqbuf->msg_qbytes > msqptr->msg_qbytes && in msgctl1()
542 KAUTH_ARG(msqptr->msg_qbytes), NULL) != 0) { in msgctl1()
557 msqptr->msg_perm.uid = msqbuf->msg_perm.uid; in msgctl1()
558 msqptr->msg_perm.gid = msqbuf->msg_perm.gid; in msgctl1()
559 msqptr->msg_perm.mode = (msqptr->msg_perm.mode & ~0777) | in msgctl1()
561 msqptr->msg_qbytes = msqbuf->msg_qbytes; in msgctl1()
562 msqptr->msg_ctime = time_second; in msgctl1()
566 if ((error = ipcperm(cred, &msqptr->msg_perm, IPC_R))) { in msgctl1()
571 msqbuf->msg_perm = msqptr->msg_perm; in msgctl1()
573 msqbuf->msg_qnum = msqptr->msg_qnum; in msgctl1()
574 msqbuf->msg_qbytes = msqptr->msg_qbytes; in msgctl1()
575 msqbuf->msg_lspid = msqptr->msg_lspid; in msgctl1()
576 msqbuf->msg_lrpid = msqptr->msg_lrpid; in msgctl1()
577 msqbuf->msg_stime = msqptr->msg_stime; in msgctl1()
578 msqbuf->msg_rtime = msqptr->msg_rtime; in msgctl1()
579 msqbuf->msg_ctime = msqptr->msg_ctime; in msgctl1()
604 struct msqid_ds *msqptr = NULL; in sys_msgget() local
614 msqptr = &msq->msq_u; in sys_msgget()
615 if (msqptr->msg_qbytes != 0 && in sys_msgget()
616 msqptr->msg_perm._key == key) in sys_msgget()
626 if ((error = ipcperm(cred, &msqptr->msg_perm, in sys_msgget()
646 msqptr = &msq->msq_u; in sys_msgget()
647 if (msqptr->msg_qbytes == 0 && in sys_msgget()
648 (msqptr->msg_perm.mode & MSG_LOCKED) == 0) in sys_msgget()
657 msqptr->msg_perm._key = key; in sys_msgget()
658 msqptr->msg_perm.cuid = kauth_cred_geteuid(cred); in sys_msgget()
659 msqptr->msg_perm.uid = kauth_cred_geteuid(cred); in sys_msgget()
660 msqptr->msg_perm.cgid = kauth_cred_getegid(cred); in sys_msgget()
661 msqptr->msg_perm.gid = kauth_cred_getegid(cred); in sys_msgget()
662 msqptr->msg_perm.mode = (msgflg & 0777); in sys_msgget()
664 msqptr->msg_perm._seq++; in sys_msgget()
665 msqptr->_msg_first = NULL; in sys_msgget()
666 msqptr->_msg_last = NULL; in sys_msgget()
667 msqptr->_msg_cbytes = 0; in sys_msgget()
668 msqptr->msg_qnum = 0; in sys_msgget()
669 msqptr->msg_qbytes = msginfo.msgmnb; in sys_msgget()
670 msqptr->msg_lspid = 0; in sys_msgget()
671 msqptr->msg_lrpid = 0; in sys_msgget()
672 msqptr->msg_stime = 0; in sys_msgget()
673 msqptr->msg_rtime = 0; in sys_msgget()
674 msqptr->msg_ctime = time_second; in sys_msgget()
683 *retval = IXSEQ_TO_IPCID(msqid, msqptr->msg_perm); in sys_msgget()
710 struct msqid_ds *msqptr; in msgsnd1() local
737 msqptr = &msq->msq_u; in msgsnd1()
739 if (msqptr->msg_qbytes == 0) { in msgsnd1()
744 if (msqptr->msg_perm._seq != IPCID_TO_SEQ(msqidr)) { in msgsnd1()
750 if ((error = ipcperm(cred, &msqptr->msg_perm, IPC_W))) { in msgsnd1()
766 if (msgsz > msqptr->msg_qbytes) { in msgsnd1()
772 if (msqptr->msg_perm.mode & MSG_LOCKED) { in msgsnd1()
776 if (msgsz + msqptr->_msg_cbytes > msqptr->msg_qbytes) { in msgsnd1()
799 if ((msqptr->msg_perm.mode & MSG_LOCKED) != 0) { in msgsnd1()
806 msqptr->msg_perm.mode |= MSG_LOCKED; in msgsnd1()
817 msqptr->msg_perm.mode &= ~MSG_LOCKED; in msgsnd1()
840 if (msqptr->msg_qbytes == 0) { in msgsnd1()
856 KASSERT((msqptr->msg_perm.mode & MSG_LOCKED) == 0); in msgsnd1()
858 KASSERT(msgsz + msqptr->_msg_cbytes <= msqptr->msg_qbytes); in msgsnd1()
866 KASSERT((msqptr->msg_perm.mode & MSG_LOCKED) == 0); in msgsnd1()
867 msqptr->msg_perm.mode |= MSG_LOCKED; in msgsnd1()
905 msqptr->msg_perm.mode &= ~MSG_LOCKED; in msgsnd1()
917 msqptr->msg_perm.mode &= ~MSG_LOCKED; in msgsnd1()
945 msqptr->msg_perm.mode &= ~MSG_LOCKED; in msgsnd1()
959 msqptr->msg_perm.mode &= ~MSG_LOCKED; in msgsnd1()
965 if (msqptr->msg_qbytes == 0) { in msgsnd1()
976 if (msqptr->_msg_first == NULL) { in msgsnd1()
977 msqptr->_msg_first = msghdr; in msgsnd1()
978 msqptr->_msg_last = msghdr; in msgsnd1()
980 msqptr->_msg_last->msg_next = msghdr; in msgsnd1()
981 msqptr->_msg_last = msghdr; in msgsnd1()
983 msqptr->_msg_last->msg_next = NULL; in msgsnd1()
985 msqptr->_msg_cbytes += msghdr->msg_ts; in msgsnd1()
986 msqptr->msg_qnum++; in msgsnd1()
987 msqptr->msg_lspid = l->l_proc->p_pid; in msgsnd1()
988 msqptr->msg_stime = time_second; in msgsnd1()
1019 struct msqid_ds *msqptr; in msgrcv1() local
1047 msqptr = &msq->msq_u; in msgrcv1()
1049 if (msqptr->msg_qbytes == 0) { in msgrcv1()
1054 if (msqptr->msg_perm._seq != IPCID_TO_SEQ(msqidr)) { in msgrcv1()
1060 if ((error = ipcperm(cred, &msqptr->msg_perm, IPC_R))) { in msgrcv1()
1068 msghdr = msqptr->_msg_first; in msgrcv1()
1078 if (msqptr->_msg_first == msqptr->_msg_last) { in msgrcv1()
1079 msqptr->_msg_first = NULL; in msgrcv1()
1080 msqptr->_msg_last = NULL; in msgrcv1()
1082 msqptr->_msg_first = msghdr->msg_next; in msgrcv1()
1083 KASSERT(msqptr->_msg_first != NULL); in msgrcv1()
1090 for (previous = NULL, prev = &msqptr->_msg_first; in msgrcv1()
1118 if (msghdr != msqptr->_msg_last) in msgrcv1()
1121 KASSERT(prev == &msqptr->_msg_first); in msgrcv1()
1122 msqptr->_msg_first = NULL; in msgrcv1()
1123 msqptr->_msg_last = NULL; in msgrcv1()
1125 KASSERT(prev != &msqptr->_msg_first); in msgrcv1()
1126 msqptr->_msg_last = previous; in msgrcv1()
1181 if (msqptr->msg_qbytes == 0 || in msgrcv1()
1182 msqptr->msg_perm._seq != IPCID_TO_SEQ(msqidr)) { in msgrcv1()
1195 msqptr->_msg_cbytes -= msghdr->msg_ts; in msgrcv1()
1196 msqptr->msg_qnum--; in msgrcv1()
1197 msqptr->msg_lrpid = l->l_proc->p_pid; in msgrcv1()
1198 msqptr->msg_rtime = time_second; in msgrcv1()