The primary motivation is performance, suspending the process with ptrace or using /proc/pid/mem is very slow. As a side effect, proc_vm_ path behaves like modern windows WRT partial writes. It is harder to do for fallback path as requires explicit permission check (looks like ptrace and /proc/pid/mem don't favour read and write page protection) and will probably make it even slower, so I left that as is.