Regression: mmap rejects shared, read-only mappings of write-sealed memfds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Since around

    5de19506 mm: resolve faulty mmap_region() error path behaviour

mmap rejects shared, read-only mapping of memfds that have a write-seal applied.

Before the commit, the code in mmap_region was

    if (file) {
        vma->vm_file = get_file(file);
        error = mmap_file(file, vma);
        if (error)
            goto unmap_and_free_vma;

        if (vma_is_shared_maywrite(vma)) {
            error = mapping_map_writable(file->f_mapping);

where mmap_file would clear the VM_MAYWRITE flag for write-sealed memfds.

After the commit, the code in mmap_region is simply

    if (file && is_shared_maywrite(vm_flags)) {
        int error = mapping_map_writable(file->f_mapping);

with mmap_file not being called until much later.

This regression seems to have been first released in 6.12 and is still
present on master.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux