| From 522ecd1cf18899a6c436421d8c5eb4684fdcc2f1 Mon Sep 17 00:00:00 2001 |
| From: John Kacur <jkacur@redhat.com> |
| Date: Thu, 15 Oct 2009 21:09:32 +0200 |
| Subject: [PATCH] ipc: fix rt/non_rt imbalance |
| |
| commit 1920d618c37ee53bb424a32f26076af2fa5b2a8b in tip. |
| |
| commit 3c96a2 (ipc: Make the ipc code -rt aware) introduced a |
| imbalance of preempt_disable_rt vs. preempt_enable_nort. That results |
| in preempt count leak. |
| |
| Make it symetric. |
| |
| Reported-by: Joerg Abraham <Joerg.Abraham@alcatel-lucent.de> |
| Signed-off-by: John Kacur <jkacur@redhat.com> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| |
| diff --git a/ipc/mqueue.c b/ipc/mqueue.c |
| index 02ee4ff..5bcb571 100644 |
| --- a/ipc/mqueue.c |
| +++ b/ipc/mqueue.c |
| @@ -828,7 +828,7 @@ static inline void pipelined_send(struct mqueue_inode_info *info, |
| wake_up_process(receiver->task); |
| smp_wmb(); |
| receiver->state = STATE_READY; |
| - preempt_enable_nort(); |
| + preempt_enable_rt(); |
| } |
| |
| /* pipelined_receive() - if there is task waiting in sys_mq_timedsend() |
| -- |
| 1.7.1.1 |
| |