summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/crunch.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2009-12-18 15:34:43 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-12-18 15:53:41 +0100
commit797245f5da543074ee7db0e0516da744c89aa17f (patch)
tree429a08d54bb870c720139a3f04ad27ded7f93a8f /arch/arm/kernel/crunch.c
parentARM: 5853/1: ARM: Fix build break on ARM v6 and v7 (diff)
downloadlinux-797245f5da543074ee7db0e0516da744c89aa17f.tar.xz
linux-797245f5da543074ee7db0e0516da744c89aa17f.zip
ARM: Convert VFP/Crunch/XscaleCP thread_release() to exit_thread()
This avoids races in the VFP code where the dead thread may have state on another CPU. By moving this code to exit_thread(), we will be running as the thread, and therefore be running on the current CPU. This means that we can ensure that the only local state is accessed in the thread notifiers. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/crunch.c')
-rw-r--r--arch/arm/kernel/crunch.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/kernel/crunch.c b/arch/arm/kernel/crunch.c
index 769abe15cf91..25ef223ba7f3 100644
--- a/arch/arm/kernel/crunch.c
+++ b/arch/arm/kernel/crunch.c
@@ -51,7 +51,7 @@ static int crunch_do(struct notifier_block *self, unsigned long cmd, void *t)
* initialised state information on the first fault.
*/
- case THREAD_NOTIFY_RELEASE:
+ case THREAD_NOTIFY_EXIT:
crunch_task_release(thread);
break;