On 19.12.24 17:40, Shakeel Butt wrote:
On Thu, Dec 19, 2024 at 05:29:08PM +0100, David Hildenbrand wrote:
[...]
If you check the code just above this patch, this
mapping_writeback_indeterminate() check only happen for pages under
writeback which is a temp state. Anyways, fuse folios should not be
unmovable for their lifetime but only while under writeback which is
same for all fs.
But there, writeback is expected to be a temporary thing, not possibly:
"AS_WRITEBACK_INDETERMINATE", that is a BIG difference.
I'll have to NACK anything that violates ZONE_MOVABLE / ALLOC_CMA
guarantees, and unfortunately, it sounds like this is the case here, unless
I am missing something important.
It might just be the name "AS_WRITEBACK_INDETERMINATE" is causing
the confusion. The writeback state is not indefinite. A proper fuse fs,
like anyother fs, should handle writeback pages appropriately. These
additional checks and skips are for (I think) untrusted fuse servers.
Can unprivileged user space provoke this case?
--
Cheers,
David / dhildenb