[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <58de20b4bd55e3813c3988344f6a4de3e2881d5e.1554737688.git.tom.zanussi@linux.intel.com>
Date: Mon, 8 Apr 2019 14:14:11 -0500
From: Tom Zanussi <zanussi@...nel.org>
To: linux-kernel@...r.kernel.org, linux-rt-users@...r.kernel.org
Cc: rostedt@...dmis.org, tglx@...utronix.de, C.Emde@...dl.org,
jkacur@...hat.com, bigeasy@...utronix.de,
daniel.wagner@...mens.com, julia@...com, amartin@...dia.com
Subject: [PATCH 09/13] x86: lazy-preempt: properly check against preempt-mask
4.14.109-rt58-rc1 stable review patch.
If anyone has any objections, please let me know.
------------------
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
[ Upstream commit 0f8a27bb5f45cc8a66f488549cecc4ce4d4533c2 ]
should_resched() should check against preempt_offset after unmasking the
need-resched-bit. Otherwise should_resched() won't work for
preempt_offset != 0 and lazy-preempt set.
Cc: stable-rt@...r.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Signed-off-by: Tom Zanussi <tom.zanussi@...ux.intel.com>
---
arch/x86/include/asm/preempt.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/preempt.h b/arch/x86/include/asm/preempt.h
index 22992c837795..f66708779274 100644
--- a/arch/x86/include/asm/preempt.h
+++ b/arch/x86/include/asm/preempt.h
@@ -118,7 +118,7 @@ static __always_inline bool should_resched(int preempt_offset)
/* preempt count == 0 ? */
tmp &= ~PREEMPT_NEED_RESCHED;
- if (tmp)
+ if (tmp != preempt_offset)
return false;
if (current_thread_info()->preempt_lazy_count)
return false;
--
2.14.1
Powered by blists - more mailing lists