IPC: bugfix for msgrcv with msgtyp < 0
authorSvenning Sørensen <sss@secomea.dk>
Wed, 28 Aug 2013 23:35:17 +0000 (16:35 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 29 Aug 2013 02:26:38 +0000 (19:26 -0700)
According to 'man msgrcv': "If msgtyp is less than 0, the first message of
the lowest type that is less than or equal to the absolute value of msgtyp
shall be received."

Bug: The kernel only returns a message if its type is 1; other messages
with type < abs(msgtype) will never get returned.

Fix: After having traversed the list to find the first message with the
lowest type, we need to actually return that message.

This regression was introduced by commit daaf74cf0867 ("ipc: refactor
msg list search into separate function")

Signed-off-by: Svenning Soerensen <sss@secomea.dk>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

No differences found