David Howells <dhowells@xxxxxxxxxx> wrote: > > How does this work align with the goal of no longer using FOLL_GET for > > O_DIRECT? We should get rid of any FOLL_GET usage for accessing page content. > > Would that run the risk of changes being made by the child being visible to > the a DIO write if the parent changes the buffer first? > > > PARENT CHILD > ====== ===== > start-DIO-write > fork() = pid fork() = 0 > alter-buffer > CoW happens > page copied original page retained > alter-buffer > <DMA-happens> Ah, I think I might have got the wrong end of the stick. A pinned page is *always* copied on fork() if I understand copy_present_pte() correctly. David