Messages in this thread | | | Date | Thu, 27 Apr 2006 02:06:37 +1000 | From | Nick Piggin <> | Subject | Re: [PATCH] i386: PAE entries must have their low word cleared first |
| |
Hugh Dickins wrote: > On Wed, 26 Apr 2006, Keir Fraser wrote: > >>We cannot use pte_clear() unless we redefine it for PAE. Currently it reduces >>to set_pte() which explicitly uses the wrong ordering (sets high *then* low, >>because it's normally used to introduce a mapping). > > > I overlooked that reversal completely. What a very good point. > I think that actually pte_clear() _does_ need to be redefined for PAE, > to reverse that ordering as you point out. Take a look at its use in > mm/highmem.c (where a comment states it's safe against speculative > execution, but a comment can't guarantee that!): what do you think?
Speculative execution is safe I think (and so is ptep_get_and_clear_full, because in neither case will the virtual address be visible).
Speculative prefetching + tlb instantiation, apparently no.
-- SUSE Labs, Novell Inc. Send instant messages to your online friends http://au.messenger.yahoo.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |