login
Header Space

 
 

Re: sparc64 BUG: using smp_processor_id() in preemptible

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <m.kozlowski@...>
Cc: <torvalds@...>, <linux-kernel@...>, <sparclinux@...>
Date: Wednesday, March 26, 2008 - 7:25 am

From: David Miller <davem@davemloft.net>
Date: Wed, 26 Mar 2008 04:16:26 -0700 (PDT)


And this patch should fix it:

commit 69072f6e8e4bd4799d2a54e4ff8771d0657512c1
Author: David S. Miller <davem@davemloft.net>
Date:   Wed Mar 26 04:25:00 2008 -0700

    [SPARC64]: Fix __get_cpu_var in preemption-enabled area.
    
    Reported by Mariusz Kozlowski.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/arch/sparc64/mm/tlb.c b/arch/sparc64/mm/tlb.c
index 3f10fc9..a0f000b 100644
--- a/arch/sparc64/mm/tlb.c
+++ b/arch/sparc64/mm/tlb.c
@@ -23,10 +23,11 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers) = { 0, };
 
 void flush_tlb_pending(void)
 {
-	struct mmu_gather *mp = &__get_cpu_var(mmu_gathers);
+	struct mmu_gather *mp;
 
 	preempt_disable();
 
+	mp = &__get_cpu_var(mmu_gathers);
 	if (mp->tlb_nr) {
 		flush_tsb_user(mp);
 
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Linux 2.6.25-rc7, Linus Torvalds, (Tue Mar 25, 10:07 pm)
Re: Linux 2.6.25-rc7 sparc64 loops forever on cat /proc/&lt;..., Mariusz Kozlowski, (Wed Mar 26, 8:02 am)
Re: Linux 2.6.25-rc7 sparc64 loops forever on cat /proc/&lt;..., Mariusz Kozlowski, (Fri Mar 28, 7:33 am)
sparc64 BUG: using smp_processor_id() in preemptible, Mariusz Kozlowski, (Wed Mar 26, 6:42 am)
Re: sparc64 BUG: using smp_processor_id() in preemptible, David Miller, (Wed Mar 26, 7:25 am)
Re: sparc64 BUG: using smp_processor_id() in preemptible, Andrew Morton, (Wed Mar 26, 11:25 pm)
Re: sparc64 BUG: using smp_processor_id() in preemptible, Mariusz Kozlowski, (Wed Mar 26, 7:46 am)
Re: sparc64 BUG: using smp_processor_id() in preemptible, Mariusz Kozlowski, (Wed Mar 26, 8:10 am)
speck-geostationary