From b39ed1e5ea215c88df6d85306b9127e6ba0a10e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Goddard=20Rosa?= Date: Tue, 23 Feb 2010 04:04:24 -0300 Subject: [PATCH] --- yaml --- r: 185735 b: refs/heads/master c: 8834cf796a4320be2d3a70b1e4f9aba732a0f4ee h: refs/heads/master i: 185733: 7f7746c8eb2c9d0a66ed8e1b6c170f008233137b 185731: d95531b49215fa504b73429e98f852209115a301 185727: 3a939f95a4caebf446965117ae6dee64440270ad v: v3 --- [refs] | 2 +- trunk/ipc/mqueue.c | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index d4059c2b68b7..9bc7c2bb9b3b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c8308b1c91056b09e96d40dbde4880ea685c377e +refs/heads/master: 8834cf796a4320be2d3a70b1e4f9aba732a0f4ee diff --git a/trunk/ipc/mqueue.c b/trunk/ipc/mqueue.c index 3660c334ee6b..15eabf9d51fd 100644 --- a/trunk/ipc/mqueue.c +++ b/trunk/ipc/mqueue.c @@ -261,8 +261,9 @@ static void mqueue_delete_inode(struct inode *inode) clear_inode(inode); - mq_bytes = (info->attr.mq_maxmsg * sizeof(struct msg_msg *) + - (info->attr.mq_maxmsg * info->attr.mq_msgsize)); + /* Total amount of bytes accounted for the mqueue */ + mq_bytes = info->attr.mq_maxmsg * (sizeof(struct msg_msg *) + + info->attr.mq_msgsize); user = info->user; if (user) { spin_lock(&mq_lock); @@ -601,8 +602,8 @@ static int mq_attr_ok(struct ipc_namespace *ipc_ns, struct mq_attr *attr) /* check for overflow */ if (attr->mq_msgsize > ULONG_MAX/attr->mq_maxmsg) return 0; - if ((unsigned long)(attr->mq_maxmsg * attr->mq_msgsize) + - (attr->mq_maxmsg * sizeof (struct msg_msg *)) < + if ((unsigned long)(attr->mq_maxmsg * (attr->mq_msgsize + + sizeof (struct msg_msg *))) < (unsigned long)(attr->mq_maxmsg * attr->mq_msgsize)) return 0; return 1;