Lines Matching refs:attr

142 	struct mq_attr attr;
229 info->attr.mq_curmsgs++;
264 if (info->attr.mq_curmsgs) {
268 info->attr.mq_curmsgs = 0;
287 info->attr.mq_curmsgs--;
294 struct mq_attr *attr)
329 memset(&info->attr, 0, sizeof(info->attr));
330 info->attr.mq_maxmsg = min(ipc_ns->mq_msg_max,
332 info->attr.mq_msgsize = min(ipc_ns->mq_msgsize_max,
334 if (attr) {
335 info->attr.mq_maxmsg = attr->mq_maxmsg;
336 info->attr.mq_msgsize = attr->mq_msgsize;
353 if (info->attr.mq_maxmsg <= 0 || info->attr.mq_msgsize <= 0)
356 if (info->attr.mq_maxmsg > HARD_MSGMAX ||
357 info->attr.mq_msgsize > HARD_MSGSIZEMAX)
360 if (info->attr.mq_maxmsg > ipc_ns->mq_msg_max ||
361 info->attr.mq_msgsize > ipc_ns->mq_msgsize_max)
366 if (info->attr.mq_msgsize > ULONG_MAX/info->attr.mq_maxmsg)
368 mq_treesize = info->attr.mq_maxmsg * sizeof(struct msg_msg) +
369 min_t(unsigned int, info->attr.mq_maxmsg, MQ_PRIO_MAX) *
371 mq_bytes = info->attr.mq_maxmsg * info->attr.mq_msgsize;
542 mq_treesize = info->attr.mq_maxmsg * sizeof(struct msg_msg) +
543 min_t(unsigned int, info->attr.mq_maxmsg, MQ_PRIO_MAX) *
546 mq_bytes = mq_treesize + (info->attr.mq_maxmsg *
547 info->attr.mq_msgsize);
570 struct mq_attr *attr = arg;
589 inode = mqueue_get_inode(dir->i_sb, ipc_ns, mode, attr);
683 if (info->attr.mq_curmsgs)
686 if (info->attr.mq_curmsgs < info->attr.mq_maxmsg)
790 info->attr.mq_curmsgs == 1) {
868 struct mq_attr *attr)
881 mqueue_create_attr, attr);
894 struct mq_attr *attr)
903 audit_mq_open(oflag, mode, attr);
920 error = prepare_open(path.dentry, oflag, ro, mode, name, attr);
945 struct mq_attr attr;
946 if (u_attr && copy_from_user(&attr, u_attr, sizeof(struct mq_attr)))
949 return do_mq_open(u_name, oflag, mode, u_attr ? &attr : NULL);
1104 if (unlikely(msg_len > info->attr.mq_msgsize)) {
1138 if (info->attr.mq_curmsgs == info->attr.mq_maxmsg) {
1220 if (unlikely(msg_len < info->attr.mq_msgsize)) {
1243 if (info->attr.mq_curmsgs == 0) {
1476 *old = info->attr;
1531 static inline int get_compat_mq_attr(struct mq_attr *attr,
1539 memset(attr, 0, sizeof(*attr));
1540 attr->mq_flags = v.mq_flags;
1541 attr->mq_maxmsg = v.mq_maxmsg;
1542 attr->mq_msgsize = v.mq_msgsize;
1543 attr->mq_curmsgs = v.mq_curmsgs;
1547 static inline int put_compat_mq_attr(const struct mq_attr *attr,
1553 v.mq_flags = attr->mq_flags;
1554 v.mq_maxmsg = attr->mq_maxmsg;
1555 v.mq_msgsize = attr->mq_msgsize;
1556 v.mq_curmsgs = attr->mq_curmsgs;
1566 struct mq_attr attr, *p = NULL;
1568 p = &attr;
1569 if (get_compat_mq_attr(&attr, u_attr))