Thread (25 messages) 25 messages, 7 authors, 2021-06-22

Re: Do we need to unrevert "fs: do not prefault sys_write() user buffer pages"?

From: David Howells <dhowells@redhat.com>
Date: 2021-06-22 18:23:46
Also in: linux-ext4, linux-fsdevel, lkml

Linus Torvalds [off-list ref] 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

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help