Thread (61 messages) 61 messages, 9 authors, 2005-08-04

Re: [patch 2.6.13-rc4] fix get_user_pages bug

From: Martin Schwidefsky <hidden>
Date: 2005-08-02 12:01:32
Also in: lkml

Possibly related (same subject, not in this thread)

quoted
Any chance you can change the __follow_page test to account for
writeable clean ptes? Something like

      if (write && !pte_dirty(pte) && !pte_write(pte))
              goto out;

And then you would re-add the set_page_dirty logic further on.
Hmm.. That should be possible. I wanted to do the simplest possible code
sequence, but yeah, I guess there's nothing wrong with allowing the code
to dirty the page.

Somebody want to send me a proper patch? Also, I haven't actually heard
from whoever actually noticed the problem in the first place (Robin?)
whether the fix does fix it. It "obviously does", but testing is always
good ;)
Why do we require the !pte_dirty(pte) check? I don't get it. If a writeable
clean pte is just fine then why do we check the dirty bit at all? Doesn't
pte_dirty() imply pte_write()?

With the additional !pte_write(pte) check (and if I haven't overlooked
something which is not unlikely) s390 should work fine even without the
software-dirty bit hack.

blue skies,
   Martin

Martin Schwidefsky
Linux for zSeries Development & Services
IBM Deutschland Entwicklung GmbH


--
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: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help