Thread (20 messages) 20 messages, 6 authors, 2023-05-17

Re: [PATCH v9 0/3] mm/gup: disallow GUP writing to file-backed mappings by default

From: Lorenzo Stoakes <hidden>
Date: 2023-05-17 07:40:34
Also in: bpf, linux-fsdevel, linux-mm, linux-perf-users, lkml

On Wed, May 17, 2023 at 09:29:20AM +0200, Jan Kara wrote:
On Mon 15-05-23 14:07:57, Lorenzo Stoakes wrote:
quoted
On Mon, May 15, 2023 at 09:12:49AM -0300, Jason Gunthorpe wrote:
quoted
On Mon, May 15, 2023 at 12:16:21PM +0100, Lorenzo Stoakes wrote:
quoted
Jason will have some thoughts on this I'm sure. I guess the key question
here is - is it actually feasible for this to work at all? Once we
establish that, the rest are details :)
Surely it is, but like Ted said, the FS folks are not interested and
they are at least half the solution..
:'(
Well, I'd phrase this a bit differently - it is a difficult sell to fs
maintainers that they should significantly complicate writeback code / VFS
with bounce page handling etc. for a thing that is not much used corner
case. So if we can get away with forbiding long-term pins, then that's the
easiest solution. Dealing with short-term pins is easier as we can just
wait for unpinning which is implementable in a localized manner.
Totally understandable. It's unfortunately I feel a case of something we
should simply not have allowed.
quoted
quoted
The FS also has to actively not write out the page while it cannot be
write protected unless it copies the data to a stable page. The block
stack needs the source data to be stable to do checksum/parity/etc
stuff. It is a complicated subject.
Yes my sense was that being able to write arbitrarily to these pages _at
all_ was a big issue, not only the dirty tracking aspect.
Yes.
quoted
I guess at some level letting filesystems have such total flexibility as to
how they implement things leaves us in a difficult position.
I'm not sure what you mean by "total flexibility" here. In my opinion it is
also about how HW performs checksumming etc.
I mean to say *_ops allow a lot of flexibility in how things are
handled. Certainly checksumming is a great example but in theory an
arbitrary filesystem could be doing, well, anything and always assuming
that only userland mappings should be modifying the underlying data.
								Honza
--
Jan Kara [off-list ref]
SUSE Labs, CR
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help