summaryrefslogtreecommitdiffstats
path: root/ipc-fix-rt-non_rt-imbalance.patch
blob: dbb5152dc57bf178b7366f9af29a2ae8ce30513f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
From fbf1396992d57eae7225800226720015469de0fc 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>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 ipc/mqueue.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index e039b7f..0596089 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -835,7 +835,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.0.4