Lines Matching refs:cmd

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);
407 err = security_msg_queue_msgctl(&msq->q_perm, cmd);
412 switch (cmd) {
464 static int msgctl_info(struct ipc_namespace *ns, int msqid, int cmd, struct msginfo *msginfo)
474 err = security_msg_queue_msgctl(NULL, cmd);
486 if (cmd == MSG_INFO) {
500 static int msgctl_stat(struct ipc_namespace *ns, int msqid, int cmd, struct msqid64_ds *p)
508 if (cmd == MSG_STAT || cmd == MSG_STAT_ANY) {
523 if (cmd == MSG_STAT_ANY) {
532 err = security_msg_queue_msgctl(&msq->q_perm, cmd);
560 if (cmd == IPC_STAT) {
580 static long ksys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf, int version)
586 if (msqid < 0 || cmd < 0) {
592 switch (cmd) {
596 err = msgctl_info(ns, msqid, cmd, &msginfo);
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)
636 int version = ipc_parse_version(&cmd);
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) {
734 switch (cmd & (~IPC_64)) {
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)
778 int version = compat_ipc_parse_version(&cmd);
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);