Module: xenomai-gch
Branch: for-forge
Commit: 8f975533d3fe5ce13ef3449f178e4f16065c7fc8
URL:    
http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=8f975533d3fe5ce13ef3449f178e4f16065c7fc8

Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org>
Date:   Wed Dec 25 16:49:58 2013 +0100

addendum mqueue: do not call mqd_put if mqd_get failed

---

 kernel/cobalt/posix/mqueue.c |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/kernel/cobalt/posix/mqueue.c b/kernel/cobalt/posix/mqueue.c
index c39e425..db65093 100644
--- a/kernel/cobalt/posix/mqueue.c
+++ b/kernel/cobalt/posix/mqueue.c
@@ -999,7 +999,7 @@ static inline struct cobalt_mqd *cobalt_mqd_get(mqd_t fd)
        xnfd = xnfd_get(fd, current->mm, COBALT_MQD_MAGIC);
        if (IS_ERR(xnfd)) {
                int err = PTR_ERR(xnfd);
-               if (err == -ENOENT && cobalt_process_context() == NULL)
+               if (err == -EBADF && cobalt_process_context() == NULL)
                        err = -EPERM;
                return ERR_PTR(err);
        }
@@ -1112,10 +1112,8 @@ int cobalt_mq_setattr(mqd_t uqd, const struct mq_attr 
__user *u_attr,
        int err;
 
        mqd = cobalt_mqd_get(uqd);
-       if (IS_ERR(mqd)) {
-               err = PTR_ERR(mqd);
-               goto out;
-       }
+       if (IS_ERR(mqd))
+               return PTR_ERR(mqd);
 
        if (__xn_safe_copy_from_user(&attr, u_attr, sizeof(attr))) {
                err = -EFAULT;


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git

Reply via email to