ipc/mqueue.c: fix mq_open() return value
authorJiri Slaby <jslaby@suse.cz>
Tue, 26 Jul 2011 23:08:47 +0000 (16:08 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Jul 2011 23:49:44 +0000 (16:49 -0700)
commitd40dcdb0172a1ba853464983a059fb45e0aaf61a
treeaa785c01ad6763c92191b86ec10f526fa772b808
parent04715206c0c2fd4ec5ca77fa51e3a5b41ce71492
ipc/mqueue.c: fix mq_open() return value

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>
ipc/mqueue.c