diff --git a/sys/hardenedbsd/hbsd_pax_segvguard.c b/sys/hardenedbsd/hbsd_pax_segvguard.c index 0a21f628102..5946a239028 100644 --- a/sys/hardenedbsd/hbsd_pax_segvguard.c +++ b/sys/hardenedbsd/hbsd_pax_segvguard.c @@ -444,15 +444,15 @@ pax_segvguard_segfault(struct thread *td, const char *name) struct vnode *v; sbintime_t sbt; + if (pax_segvguard_active(td->td_proc) == false) + return (0); + v = td->td_proc->p_textvp; if (v == NULL) return (EFAULT); pr = pax_get_prison_td(td); - if (pax_segvguard_active(td->td_proc) == false) - return (0); - sbt = sbinuptime(); se = pax_segvguard_lookup(td, v); @@ -495,12 +495,12 @@ pax_segvguard_check(struct thread *td, struct vnode *v, const char *name) struct pax_segvguard_entry *se; sbintime_t sbt; - if (v == NULL) - return (EFAULT); - if (pax_segvguard_active(td->td_proc) == false) return (0); + if (v == NULL) + return (EFAULT); + sbt = sbinuptime(); se = pax_segvguard_lookup(td, v);