Messages in this thread | | | Date | Thu, 2 Oct 2014 09:01:38 -0700 | Subject | Re: pipe/page fault oddness. | From | Linus Torvalds <> |
| |
On Thu, Oct 2, 2014 at 7:25 AM, Kirill A. Shutemov <kirill@shutemov.name> wrote: > > I don't see what prevents the code to make zero page writable here. > We need at least pmd = pmd_wrprotect(pmd) before set_pmd_at();
Do we? If it's the zero page, it had better be an anonymous mapping, and vm_page_prot had better not be writable.
Anonymous pages don't _start_ out writable, we explicitly make them so with code like
if (vma->vm_flags & VM_WRITE) entry = pte_mkwrite(pte_mkdirty(entry));
so it should be fine to just use "pmd_modify(pmd, vma->vm_page_prot);" directly.
But hey, this is the kind of thing that maybe I'm missing something on..
Linus
| |