diff options
author | David S. Miller <davem@davemloft.net> | 2008-04-18 02:56:30 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-18 02:56:30 -0400 |
commit | 1e42198609d73ed1a9adcba2af275c24c2678420 (patch) | |
tree | 32fd4d9073bfc0f3909af8f9fb4bcff38951d01a /arch/x86/kernel/step.c | |
parent | 794eb6bf20ebf992c040ea831cd3a9c64b0c1f7a (diff) | |
parent | 4b119e21d0c66c22e8ca03df05d9de623d0eb50f (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'arch/x86/kernel/step.c')
-rw-r--r-- | arch/x86/kernel/step.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/x86/kernel/step.c b/arch/x86/kernel/step.c index 9d406cdc847f..071ff4798236 100644 --- a/arch/x86/kernel/step.c +++ b/arch/x86/kernel/step.c | |||
@@ -140,6 +140,9 @@ static int enable_single_step(struct task_struct *child) | |||
140 | */ | 140 | */ |
141 | static void write_debugctlmsr(struct task_struct *child, unsigned long val) | 141 | static void write_debugctlmsr(struct task_struct *child, unsigned long val) |
142 | { | 142 | { |
143 | if (child->thread.debugctlmsr == val) | ||
144 | return; | ||
145 | |||
143 | child->thread.debugctlmsr = val; | 146 | child->thread.debugctlmsr = val; |
144 | 147 | ||
145 | if (child != current) | 148 | if (child != current) |
@@ -165,11 +168,11 @@ static void enable_step(struct task_struct *child, bool block) | |||
165 | write_debugctlmsr(child, | 168 | write_debugctlmsr(child, |
166 | child->thread.debugctlmsr | DEBUGCTLMSR_BTF); | 169 | child->thread.debugctlmsr | DEBUGCTLMSR_BTF); |
167 | } else { | 170 | } else { |
168 | write_debugctlmsr(child, | 171 | write_debugctlmsr(child, |
169 | child->thread.debugctlmsr & ~DEBUGCTLMSR_BTF); | 172 | child->thread.debugctlmsr & ~DEBUGCTLMSR_BTF); |
170 | 173 | ||
171 | if (!child->thread.debugctlmsr) | 174 | if (!child->thread.debugctlmsr) |
172 | clear_tsk_thread_flag(child, TIF_DEBUGCTLMSR); | 175 | clear_tsk_thread_flag(child, TIF_DEBUGCTLMSR); |
173 | } | 176 | } |
174 | } | 177 | } |
175 | 178 | ||