lkml.org 
[lkml]   [2013]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[ANNOUNCE] 3.12.5-rt7
Dear RT folks!

I'm pleased to announce the v3.12.5-rt7 patch set.

Changes since v3.12.5-rt6
- the ptrace fix got a little wrong in check_task_state() and we had two
return 0 which ensured that ptrace did not work. Noticed by Mike
Galbraith.

Known issues:

- bcache is disabled.

- Brian Silverman reported a BUG (via Debian BTS) where gdb's
record command does something nasty and causes a double fault on
x86-64 kernel with 32bit userland (the debugged application).
32bit and 64bit setup are not kernels are not affected. As far
as I understand the problem so far, it is limited to x86.

The delta patch against v3.12.5-rt6 is appended below and can be found
here:
https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/incr/patch-3.12.5-rt6-rt7.patch.xz

The RT patch against 3.12.5 can be found here:

https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patch-3.12.5-rt7.patch.xz

The split quilt queue is available at:

https://www.kernel.org/pub/linux/kernel/projects/rt/3.12/patches-3.12.5-rt7.tar.xz

Sebastian

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 9c87a17..b69f280 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -1076,9 +1076,7 @@ static bool check_task_state(struct task_struct *p, long match_state)
bool match = false;

raw_spin_lock_irq(&p->pi_lock);
- if (p->state == match_state)
- match = true;
- else if (p->saved_state == match_state)
+ if (p->state == match_state || p->saved_state == match_state)
match = true;
raw_spin_unlock_irq(&p->pi_lock);

@@ -1129,11 +1127,8 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state)
* is actually now running somewhere else!
*/
while (task_running(rq, p)) {
- if (match_state) {
- if (!unlikely(check_task_state(p, match_state)))
- return 0;
+ if (match_state && !check_task_state(p, match_state))
return 0;
- }
cpu_relax();
}

diff --git a/localversion-rt b/localversion-rt
index 8fc605d..0454789 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt6
+-rt7

\
 
 \ /
  Last update: 2013-12-17 21:01    [W:0.032 / U:0.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site