Re: preempt bug in set_pmd_pfn?

From: Jeremy Fitzhardinge
Date: Tue Mar 04 2008 - 19:12:36 EST


Andi Kleen wrote:
Won't this leave a stale tlb on the old processor?

__set_fixmap should be only used in early boot, so it's always
on CPU 0

vdso32-setup.c:map_compat_vdso() uses it to create the compat vdso mapping, which typically happens on the first execve(), and could happen if you turn compat vdso off and on during runtime. (It follows the call with flush_tlb_all(), so there's no risk of stray tlb entries in this case.)

But that answers my broader question about how __set_fixmap can get away with just flushing on the current cpu; I'll add a preempt disable bracket to keep everyone happy.

Any opinions on set_pte_at(&init_mm, ...) without holding any locks? All ok?

J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/