git: e90b2b7d6c17 - main - ptrace(PT_VM_ENTRY): report max protection

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Tue, 08 Oct 2024 06:50:43 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=e90b2b7d6c173e27dccdb894bb4e34ad30273e22

commit e90b2b7d6c173e27dccdb894bb4e34ad30273e22
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2024-10-07 07:53:18 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2024-10-08 06:50:17 +0000

    ptrace(PT_VM_ENTRY): report max protection
    
    Reviewed by:    brooks, markj
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D46971
---
 sys/kern/sys_process.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c
index 8ce4ea01fe6f..a3a7a22f4cd3 100644
--- a/sys/kern/sys_process.c
+++ b/sys/kern/sys_process.c
@@ -36,6 +36,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>
@@ -505,7 +506,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)