On Wed, Nov 07, 2018 at 01:35:57PM -0800, John Baldwin wrote:
> On 11/7/18 1:01 PM, Ed Schouten wrote:
> > Op wo 7 nov. 2018 om 19:32 schreef John Baldwin <j...@freebsd.org>:
> >> Modified: head/sys/kern/imgact_elf.c
> >> ==============================================================================
> >> --- head/sys/kern/imgact_elf.c Wed Nov 7 18:29:54 2018 (r340230)
> >> +++ head/sys/kern/imgact_elf.c Wed Nov 7 18:32:02 2018 (r340231)
> >> @@ -120,7 +120,8 @@ SYSCTL_INT(_debug, OID_AUTO, __elfN(legacy_coredump),
> >>
> >> int __elfN(nxstack) =
> >> #if defined(__amd64__) || defined(__powerpc64__) /* both 64 and 32 bit */
> >> || \
> >> - (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__)
> >> + (defined(__arm__) && __ARM_ARCH >= 7) || defined(__aarch64__) || \
> >> + defined(__riscv)
> >> 1;
> >> #else
> >> 0;
> >
> > Are we getting to the point that it might make sense to invert this
> > logic, i.e., just list the architectures that require executable
> > stacks?
>
> It's not clear. The remaining set is i386 (should be able to use nxstack
> when using PAE and PG_NX is supported), MIPS (no X permission in PTEs),
> 32-bit powerpc (no X permissions in PTEs AFAICT), and sparc64 (no X
> permissions in PTEs AFAICT). For architectures without X ptes, removing
> VM_PROT_EXECUTE from the stack permissions is a no-op and would be
> harmless, so we could perhaps just default this to always on at this
> point?
AFAIR sparc64 ABI defines its stack as nx always (and PTEs do allow to
control exec permission).
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"