IPC: bugfix for msgrcv with msgtyp < 0
authorSvenning Sørensen <[email protected]>
Wed, 28 Aug 2013 23:35:17 +0000 (16:35 -0700)
committerLinus Torvalds <[email protected]>
Thu, 29 Aug 2013 02:26:38 +0000 (19:26 -0700)
commit368ae537e056acd3f751fa276f48423f06803922
treec0e8dec82905b231fc74b732fd0966d62d530b22
parentaaaafb7f953c60d9c9eeb1b10ecdbe6970421b24
IPC: bugfix for msgrcv with msgtyp < 0

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 <[email protected]>
Reviewed-by: Peter Hurley <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
ipc/msg.c