ipc/mqueue.c: fix mq_open() return value
commit0d39ea76fa3b9a97e9dc45282613bc239ffa8509
authorJiri Slaby <jslaby@suse.cz>
Tue, 26 Jul 2011 23:08:47 +0000 (26 16:08 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 3 Oct 2011 18:40:43 +0000 (3 11:40 -0700)
tree7e9830ea7b5dc23125f51cfc75929fa8a9dd74a6
parent7688ef38157babe5bb0e24b3779e769f730b85fc
ipc/mqueue.c: fix mq_open() return value

commit d40dcdb0172a1ba853464983a059fb45e0aaf61a upstream.

We return ENOMEM from mqueue_get_inode even when we have enough memory.
Namely in case the system rlimit of mqueue was reached.  This error
propagates to mq_queue and user sees the error unexpectedly.  So fix
this up to properly return EMFILE as described in the manpage:

EMFILE The process already has the maximum number of files and
       message queues open.

instead of:

ENOMEM Insufficient memory.

With the previous patch we just switch to ERR_PTR/PTR_ERR/IS_ERR error
handling here.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
ipc/mqueue.c