Messages in this thread | | | From | Nick Piggin <> | Subject | Re: [PATCH -v8 3/4] Enable the MS_ASYNC functionality in sys_msync() | Date | Thu, 24 Jan 2008 12:36:00 +1100 |
| |
On Thursday 24 January 2008 04:05, Linus Torvalds wrote: > On Wed, 23 Jan 2008, Anton Salikhmetov wrote: > > + > > + if (pte_dirty(*pte) && pte_write(*pte)) { > > Not correct. > > You still need to check "pte_present()" before you can test any other > bits. For a non-present pte, none of the other bits are defined, and for > all we know there might be architectures out there that require them to > be non-dirty. > > As it is, you just possibly randomly corrupted the pte. > > Yeah, on all architectures I know of, it the pte is clear, neither of > those tests will trigger, so it just happens to work, but it's still > wrong.
Probably it can fail for !present nonlinear mappings on many architectures.
| |