ARM: VFP: fix vfp thread init bug and document vfp notifier entry conditions
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 12 Dec 2009 14:47:40 +0000 (14:47 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 13 Dec 2009 16:33:19 +0000 (16:33 +0000)
commit0d782dc430d94dc36b47cb11c2e33ecb1bb38234
treed9718e6c1aefdf943c6ad16ceaae25f692f40d3f
parent002939729c7c8f6448e89e9e86c8c5bf6f0c77d3
ARM: VFP: fix vfp thread init bug and document vfp notifier entry conditions

When the VFP notifier is called for flush_thread(), we may be
preemptible, meaning we might migrate to another CPU, which means
referencing the current CPU number without some form of locking is
invalid, and can cause data corruption.

For the most cases, this isn't a problem since atomic notifiers are run
under rcu lock, which for most configurations results in preemption
being disabled - except when the preemptable tree-based rcu
implementation is selected.

Let's make it safe anyway.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/vfp/vfpmodule.c