From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Rostedt Subject: [PATCH RT 10/20] kernel: softirq: unlock with irqs on Date: Wed, 02 Mar 2016 10:37:08 -0500 Message-ID: <20160302153715.971402628@goodmis.org> References: <20160302153658.995489487@goodmis.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Cc: Thomas Gleixner , Carsten Emde , Sebastian Andrzej Siewior , John Kacur , Paul Gortmaker To: linux-kernel@vger.kernel.org, linux-rt-users Return-path: Content-Disposition: inline; filename=0010-kernel-softirq-unlock-with-irqs-on.patch Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-rt-users.vger.kernel.org 3.18.27-rt27-rc1 stable review patch. If anyone has any objections, please let me know. ------------------ From: Sebastian Andrzej Siewior We unlock the lock while the interrupts are off. This isn't a problem now but will get because the migrate_disable() + enable are not symmetrical in regard to the status of interrupts. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Steven Rostedt --- kernel/softirq.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/softirq.c b/kernel/softirq.c index a55e80dca611..0b1f914e4639 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -564,8 +564,10 @@ static void do_current_softirqs(int need_rcu_bh_qs) do_single_softirq(i, need_rcu_bh_qs); } softirq_clr_runner(i); - unlock_softirq(i); WARN_ON(current->softirq_nestcnt != 1); + local_irq_enable(); + unlock_softirq(i); + local_irq_disable(); } } -- 2.7.0