Lines Matching refs:msg
291 struct msg_msg *msg = list_entry(tmp, struct msg_msg, m_list); in freeque() local
295 free_msg(msg); in freeque()
578 static int testmsg(struct msg_msg *msg, long type, int mode) in testmsg() argument
585 if (msg->m_type <=type) in testmsg()
589 if (msg->m_type == type) in testmsg()
593 if (msg->m_type != type) in testmsg()
600 static inline int pipelined_send(struct msg_queue *msq, struct msg_msg *msg) in pipelined_send() argument
610 if (testmsg(msg, msr->r_msgtype, msr->r_mode) && in pipelined_send()
611 !security_msg_queue_msgrcv(msq, msg, msr->r_tsk, in pipelined_send()
615 if (msr->r_maxsize < msg->m_ts) { in pipelined_send()
626 msr->r_msg = msg; in pipelined_send()
639 struct msg_msg *msg; in do_msgsnd() local
650 msg = load_msg(mtext, msgsz); in do_msgsnd()
651 if (IS_ERR(msg)) in do_msgsnd()
652 return PTR_ERR(msg); in do_msgsnd()
654 msg->m_type = mtype; in do_msgsnd()
655 msg->m_ts = msgsz; in do_msgsnd()
670 err = security_msg_queue_msgsnd(msq, msg, msgflg); in do_msgsnd()
706 if (!pipelined_send(msq, msg)) { in do_msgsnd()
708 list_add_tail(&msg->m_list, &msq->q_messages); in do_msgsnd()
716 msg = NULL; in do_msgsnd()
721 if (msg != NULL) in do_msgsnd()
722 free_msg(msg); in do_msgsnd()
759 struct msg_msg *msg; in do_msgrcv() local
776 msg = ERR_PTR(-EACCES); in do_msgrcv()
780 msg = ERR_PTR(-EAGAIN); in do_msgrcv()
790 msg = walk_msg; in do_msgrcv()
793 msg = walk_msg; in do_msgrcv()
796 msg = walk_msg; in do_msgrcv()
802 if (!IS_ERR(msg)) { in do_msgrcv()
807 if ((msgsz < msg->m_ts) && !(msgflg & MSG_NOERROR)) { in do_msgrcv()
808 msg = ERR_PTR(-E2BIG); in do_msgrcv()
811 list_del(&msg->m_list); in do_msgrcv()
815 msq->q_cbytes -= msg->m_ts; in do_msgrcv()
816 atomic_sub(msg->m_ts, &ns->msg_bytes); in do_msgrcv()
824 msg = ERR_PTR(-ENOMSG); in do_msgrcv()
858 msg = (struct msg_msg*)msr_d.r_msg; in do_msgrcv()
859 while (msg == NULL) { in do_msgrcv()
861 msg = (struct msg_msg *)msr_d.r_msg; in do_msgrcv()
868 if (msg != ERR_PTR(-EAGAIN)) { in do_msgrcv()
882 msg = (struct msg_msg*)msr_d.r_msg; in do_msgrcv()
883 if (msg != ERR_PTR(-EAGAIN)) in do_msgrcv()
888 msg = ERR_PTR(-ERESTARTNOHAND); in do_msgrcv()
894 if (IS_ERR(msg)) in do_msgrcv()
895 return PTR_ERR(msg); in do_msgrcv()
897 msgsz = (msgsz > msg->m_ts) ? msg->m_ts : msgsz; in do_msgrcv()
898 *pmtype = msg->m_type; in do_msgrcv()
899 if (store_msg(mtext, msg, msgsz)) in do_msgrcv()
902 free_msg(msg); in do_msgrcv()