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