aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2024-10-07 07:53:18 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2024-10-15 14:50:16 +0000
commit32b3b01083ce4e7d8df4200ecb2ef21e4a2763b7 (patch)
tree5b1735e8524ac5e5212d3f23995cbe70f2c769e7
parenta1ae801880ef64e2c2fd7ca51744ff86611df313 (diff)
ptrace(PT_VM_ENTRY): report max protection
(cherry picked from commit e90b2b7d6c173e27dccdb894bb4e34ad30273e22)
-rw-r--r--sys/kern/sys_process.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c
index 647487f86b02..a45d5b065382 100644
--- a/sys/kern/sys_process.c
+++ b/sys/kern/sys_process.c
@@ -37,6 +37,7 @@
#include <sys/ktr.h>
#include <sys/limits.h>
#include <sys/lock.h>
+#include <sys/mman.h>
#include <sys/mutex.h>
#include <sys/reg.h>
#include <sys/syscallsubr.h>
@@ -517,7 +518,8 @@ ptrace_vm_entry(struct thread *td, struct proc *p, struct ptrace_vm_entry *pve)
pve->pve_start = entry->start;
pve->pve_end = entry->end - 1;
pve->pve_offset = entry->offset;
- pve->pve_prot = entry->protection;
+ pve->pve_prot = entry->protection |
+ PROT_MAX(entry->max_protection);
/* Backing object's path needed? */
if (pve->pve_pathlen == 0)