Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > I'm not sure how that would even look. I don't think it would > necessarily be *impossible* (special marker in the exception table to > let the fault code know that this is a "prepare" fault), but it would > be pretty challenging. Probably the most obvious way would be to set a flag in task_struct saying what you're doing and have the point that would otherwise wait for the page to become unlocked skip to the fault fixup code if the page is locked after ->readahead() has been invoked and the flag is set, then use get_user() in iov_iter_fault_in_readable(). But, as Willy says, there's a reasonable chance that the source page is present anyway (presumably you want to write out data you've just constructed or modified), in which case it's probably not worth the complexity. David