Fix small race in 44x tlbie function

Josh Boyer jwboyer at linux.vnet.ibm.com
Thu Aug 9 07:29:51 EST 2007


On Wed, 8 Aug 2007 20:43:25 +0000 (UTC)
Hollis Blanchard <hollisb at us.ibm.com> wrote:

> On Tue, 07 Aug 2007 14:20:50 +1000, David Gibson wrote:
> > 
> > This patch fixes the problem in both arch/ppc and arch/powerpc by
> > inhibiting interrupts (even critical and debug interrupts) across the
> > relevant instructions.
> 
> How could a critical or debug interrupt modify the contents of MMUCR?

Interrupts from UICs can be configured as critical.  If one of those
triggers, (or any other CE triggers) and causes a tlb miss, you have a
race.  The watchdog timer interrupt also is a CE IIRC.

CE and DE are admittedly a much smaller race, but still possible.
Masking EE off is the largest one.

josh



More information about the Linuxppc-dev mailing list