Skip to content
  • Linus Torvalds's avatar
    Merge tag 'denywrite-for-5.15' of git://github.com/davidhildenbrand/linux · 49624efa
    Linus Torvalds authored
    Pull MAP_DENYWRITE removal from David Hildenbrand:
     "Remove all in-tree usage of MAP_DENYWRITE from the kernel and remove
      VM_DENYWRITE.
    
      There are some (minor) user-visible changes:
    
       - We no longer deny write access to shared libaries loaded via legacy
         uselib(); this behavior matches modern user space e.g. dlopen().
    
       - We no longer deny write access to the elf interpreter after exec
         completed, treating it just like shared libraries (which it often
         is).
    
       - We always deny write access to the file linked via /proc/pid/exe:
         sys_prctl(PR_SET_MM_MAP/EXE_FILE) will fail if write access to the
         file cannot be denied, and write access to the file will remain
         denied until the link is effectivel gone (exec, termination,
         sys_prctl(PR_SET_MM_MAP/EXE_FILE)) -- just as if exec'ing the file.
    
      Cross-compiled for a bunch of architectures (alpha, microblaze, i386,
      s390x, ...) and verified via ltp that especially the relevant tests
      (i.e., creat07 and execve04) continue working as expected"
    
    * tag 'denywrite-for-5.15' of git://github.com/davidhildenbrand/linux:
      fs: update documentation of get_write_access() and friends
      mm: ignore MAP_DENYWRITE in ksys_mmap_pgoff()
      mm: remove VM_DENYWRITE
      binfmt: remove in-tree usage of MAP_DENYWRITE
      kernel/fork: always deny write access to current MM exe_file
      kernel/fork: factor out replacing the current MM exe_file
      binfmt: don't use MAP_DENYWRITE when loading shared libraries via uselib()
    49624efa