On Mon, Sep 08, 2025 at 03:09:43PM +0100, Lorenzo Stoakes wrote: > > Perhaps > > > > !vma_desc_cowable() > > > > Is what many drivers are really trying to assert. > > Well no, because: > > static inline bool is_cow_mapping(vm_flags_t flags) > { > return (flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE; > } > > Read-only means !CoW. What drivers want when they check SHARED is to prevent COW. It is COW that causes problems for whatever the driver is doing, so calling the helper cowable and making the test actually right for is a good thing. COW of this VMA, and no possibilty to remap/mprotect/fork/etc it into something that is COW in future. Drivers have commonly various things with VM_SHARED to establish !COW, but if that isn't actually right then lets fix it to be clear and correct. Jason