ptrace reads/writes memory using uvm_io, which generates an temporary
authorderaadt <deraadt@openbsd.org>
Tue, 24 Jan 2023 00:12:03 +0000 (00:12 +0000)
committerderaadt <deraadt@openbsd.org>
Tue, 24 Jan 2023 00:12:03 +0000 (00:12 +0000)
commit50cf6b9cb8be33ae848de15eac4f16eab8b04a28
tree414d3f9bde70a61eada1e20502e630def83a886f
parentd17fd858b2c7964bf94f4d33396a87e724a43528
ptrace reads/writes memory using uvm_io, which generates an temporary
alias mapping using uvm_map_extract.  With xonly now operational, this
alias mapping is created with minprot, which for text will be xonly, and
the kernel cannot read it (unless the architecture has implied read for
exec from kernel pov).
Pass UVM_IO_FIXPROT to create the alias with maxprot instead.
ok kettenis
sys/kern/sys_process.c