Lines Matching defs:msqid
390 static int msgctl_down(struct ipc_namespace *ns, int msqid, int cmd, struct ipc64_perm *perm, int msg_qbytes)
399 ipcp = ipcctl_obtain_check(ns, &msg_ids(ns), msqid, cmd, perm, msg_qbytes);
464 static int msgctl_info(struct ipc_namespace *ns, int msqid, int cmd, struct msginfo *msginfo)
500 static int msgctl_stat(struct ipc_namespace *ns, int msqid, int cmd, struct msqid64_ds *p)
509 msq = msq_obtain_object(ns, msqid);
515 msq = msq_obtain_object_check(ns, msqid);
580 static long ksys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf, int version)
586 if (msqid < 0 || cmd < 0) {
596 err = msgctl_info(ns, msqid, cmd, &msginfo);
605 case MSG_STAT: /* msqid is an index rather than a msg queue id */
608 err = msgctl_stat(ns, msqid, cmd, &msqid64);
620 return msgctl_down(ns, msqid, cmd, &msqid64.msg_perm, msqid64.msg_qbytes);
622 return msgctl_down(ns, msqid, cmd, NULL, 0);
628 SYSCALL_DEFINE3(msgctl, int, msqid, int, cmd, struct msqid_ds __user *, buf)
630 return ksys_msgctl(msqid, cmd, buf, IPC_64);
634 long ksys_old_msgctl(int msqid, int cmd, struct msqid_ds __user *buf)
638 return ksys_msgctl(msqid, cmd, buf, version);
641 SYSCALL_DEFINE3(old_msgctl, int, msqid, int, cmd, struct msqid_ds __user *, buf)
643 return ksys_old_msgctl(msqid, cmd, buf);
722 static long compat_ksys_msgctl(int msqid, int cmd, void __user *uptr, int version)
730 if (msqid < 0 || cmd < 0) {
738 err = msgctl_info(ns, msqid, cmd, &msginfo);
750 err = msgctl_stat(ns, msqid, cmd, &msqid64);
762 return msgctl_down(ns, msqid, cmd, &msqid64.msg_perm, msqid64.msg_qbytes);
764 return msgctl_down(ns, msqid, cmd, NULL, 0);
770 COMPAT_SYSCALL_DEFINE3(msgctl, int, msqid, int, cmd, void __user *, uptr)
772 return compat_ksys_msgctl(msqid, cmd, uptr, IPC_64);
776 long compat_ksys_old_msgctl(int msqid, int cmd, void __user *uptr)
780 return compat_ksys_msgctl(msqid, cmd, uptr, version);
783 COMPAT_SYSCALL_DEFINE3(old_msgctl, int, msqid, int, cmd, void __user *, uptr)
785 return compat_ksys_old_msgctl(msqid, cmd, uptr);
845 static long do_msgsnd(int msqid, long mtype, void __user *mtext, size_t msgsz, int msgflg)
855 if (msgsz > ns->msg_ctlmax || (long)msgsz < 0 || msqid < 0) {
871 msq = msq_obtain_object_check(ns, msqid);
963 long ksys_msgsnd(int msqid, struct msgbuf __user *msgp, size_t msgsz, int msgflg)
970 return do_msgsnd(msqid, mtype, msgp->mtext, msgsz, msgflg);
973 SYSCALL_DEFINE4(msgsnd, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz, int, msgflg)
975 return ksys_msgsnd(msqid, msgp, msgsz, msgflg);
985 long compat_ksys_msgsnd(int msqid, compat_uptr_t msgp, compat_ssize_t msgsz, int msgflg)
993 return do_msgsnd(msqid, mtype, up->mtext, (ssize_t)msgsz, msgflg);
996 COMPAT_SYSCALL_DEFINE4(msgsnd, int, msqid, compat_uptr_t, msgp, compat_ssize_t, msgsz, int, msgflg)
998 return compat_ksys_msgsnd(msqid, msgp, msgsz, msgflg);
1107 static long do_msgrcv(int msqid, void __user *buf, size_t bufsz, long msgtyp, int msgflg,
1118 if (msqid < 0 || (long)bufsz < 0) {
1134 msq = msq_obtain_object_check(ns, msqid);
1279 long ksys_msgrcv(int msqid, struct msgbuf __user *msgp, size_t msgsz, long msgtyp, int msgflg)
1281 return do_msgrcv(msqid, msgp, msgsz, msgtyp, msgflg, do_msg_fill);
1284 SYSCALL_DEFINE5(msgrcv, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz, long, msgtyp, int, msgflg)
1286 return ksys_msgrcv(msqid, msgp, msgsz, msgtyp, msgflg);
1306 long compat_ksys_msgrcv(int msqid, compat_uptr_t msgp, compat_ssize_t msgsz, compat_long_t msgtyp, int msgflg)
1308 return do_msgrcv(msqid, compat_ptr(msgp), (ssize_t)msgsz, (long)msgtyp, msgflg, compat_do_msg_fill);
1311 COMPAT_SYSCALL_DEFINE5(msgrcv, int, msqid, compat_uptr_t, msgp, compat_ssize_t, msgsz, compat_long_t, msgtyp, int,
1314 return compat_ksys_msgrcv(msqid, msgp, msgsz, msgtyp, msgflg);
1361 " key msqid perms cbytes qnum lspid lrpid uid gid cuid cgid "