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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to