Re: [PATCH] ppc64: Fix possible race with set_pte on a present PTE

From: Linus Torvalds
Date: Tue May 25 2004 - 21:28:06 EST




On Wed, 26 May 2004, Andrea Arcangeli wrote:
>
> after various searching on the x86 docs I found:
>
> Whenever a page-directory or page-table entry is changed (including when
> the present flag is set to zero), the operating-system must immediately
> invalidate the corresponding entry in the TLB so that it can be updated
> the next time the entry is referenced.
>
> according to the above we'd need to flush the tlb even in
> do_anonymous_page on x86, or am I reading it wrong?

You're reading it wrong.

The "including when the present flag is set to zero" part does not mean
that the present flag was zero _before_, it means "is being set to zero"
as in "having been non-zero before that".

Anytime the P flag was clear _before_, we don't need to invalidate,
because non-present entries are not cached in the TLB.

Linus
-
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/