sync code with last fixes and improvements from OpenBSD
This commit is contained in:
parent
bf0676207f
commit
8f31919cdb
325 changed files with 2094 additions and 51856 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: sys_process.c,v 1.93 2023/01/24 00:12:03 deraadt Exp $ */
|
||||
/* $OpenBSD: sys_process.c,v 1.94 2023/06/10 19:30:48 kettenis Exp $ */
|
||||
/* $NetBSD: sys_process.c,v 1.55 1996/05/15 06:17:47 tls Exp $ */
|
||||
|
||||
/*-
|
||||
|
@ -104,6 +104,7 @@ sys_ptrace(struct proc *p, void *v, register_t *retval)
|
|||
struct ptrace_event u_pe;
|
||||
struct ptrace_state u_ps;
|
||||
register_t u_wcookie;
|
||||
register_t u_pacmask[2];
|
||||
} u;
|
||||
int size = 0;
|
||||
enum { NONE, IN, IN_ALLOC, OUT, OUT_ALLOC, IN_OUT } mode;
|
||||
|
@ -199,6 +200,12 @@ sys_ptrace(struct proc *p, void *v, register_t *retval)
|
|||
size = sizeof u.u_wcookie;
|
||||
data = size; /* suppress the data == size check */
|
||||
break;
|
||||
#endif
|
||||
#ifdef PT_PACMASK
|
||||
case PT_PACMASK:
|
||||
mode = OUT;
|
||||
size = sizeof u.u_pacmask;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
return EINVAL;
|
||||
|
@ -731,6 +738,12 @@ ptrace_ustate(struct proc *p, int req, pid_t pid, void *addr, int data,
|
|||
case PT_WCOOKIE:
|
||||
*(register_t *)addr = process_get_wcookie(t);
|
||||
return 0;
|
||||
#endif
|
||||
#ifdef PT_PACMASK
|
||||
case PT_PACMASK:
|
||||
((register_t *)addr)[0] = process_get_pacmask(t);
|
||||
((register_t *)addr)[1] = process_get_pacmask(t);
|
||||
return 0;
|
||||
#endif
|
||||
default:
|
||||
KASSERTMSG(0, "%s: unhandled request %d", __func__, req);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue