On 08.09.25 17:46, David Hildenbrand wrote:
On 08.09.25 17:33, Jason Gunthorpe wrote:
On Mon, Sep 08, 2025 at 05:24:23PM +0200, David Hildenbrand wrote:
I think we need to be cautious of scope here :) I don't want to
accidentally break things this way.
IMHO it is worth doing when you get into more driver places it is far
more obvious why the VM_SHARED is being checked.
OK I think a sensible way forward - How about I add desc_is_cowable() or
vma_desc_cowable() and only set this if I'm confident it's correct?
I'm thinking to call it vma_desc_never_cowable() as that is much much
clear what the purpose is.
Secretmem wants no private mappings. So we should check exactly that, not
whether we might have a cow mapping.
secretmem is checking shared for a different reason than many other places..
I think many cases just don't want any private mappings.
After all, you need a R/O file (VM_MAYWRITE cleared) mapped MAP_PRIVATE
to make is_cow_mapping() == false.
Sorry, was confused there. R/O file does not matter with MAP_PRIVATE. I
think we default to VM_MAYWRITE with MAP_PRIVATE unless someone
explicitly clears it.
So in practice there is indeed not a big difference between a private
and cow mapping.
--
Cheers
David / dhildenb