From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Tue, 25 May 2004 21:54:50 -0700 (PDT) From: Linus Torvalds Subject: Re: [PATCH] ppc64: Fix possible race with set_pte on a present PTE In-Reply-To: <1085546780.5584.19.camel@gaston> Message-ID: References: <1085369393.15315.28.camel@gaston> <1085371988.15281.38.camel@gaston> <1085373839.14969.42.camel@gaston> <20040525034326.GT29378@dualathlon.random> <20040525114437.GC29154@parcelfarce.linux.theplanet.co.uk> <20040525153501.GA19465@foobazco.org> <20040525102547.35207879.davem@redhat.com> <20040525105442.2ebdc355.davem@redhat.com> <1085521251.24948.127.camel@gaston> <1085522860.15315.133.camel@gaston> <1085530867.14969.143.camel@gaston> <1085541906.14969.412.camel@gaston> <1085546780.5584.19.camel@gaston> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org Return-Path: To: Benjamin Herrenschmidt Cc: "David S. Miller" , wesolows@foobazco.org, willy@debian.org, Andrea Arcangeli , Andrew Morton , Linux Kernel list , mingo@elte.hu, bcrl@kvack.org, linux-mm@kvack.org, Linux Arch list List-ID: On Wed, 26 May 2004, Benjamin Herrenschmidt wrote: > > Ok, your patch just missed the do_wp_page() case which needs the same > medication as break_cow(), which leaves us with only one caller of > ptep_establish... the one which just sets those 2 bits and shouldn't > be named ptep establish at all ;) Actually, the do_wp_page() one doesn't change the page, but it potentially changes _three_ bits: accessed, dirty _and_ writable. But the fix on ppc64 should be to add the writable bit to the mask of things, and rename the function to reflect that fact. > I'd rather have ptep_establish do the ptep_clear_flush & set_pte, and > the later just do the bit flip, but then, the arch (and possibly > generic) implementation of that bit flip must also do the TLB flush > when necessary (it's not on ppc). I agree on the renaming, but please don't use the ptep_clear_flush() in do_wp_page(), because it really isn't changing the virtual mapping, it's only a (slightly) extended case of the same old "set another bit". Linus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: aart@kvack.org