svn commit: r340231 - head/sys/kern

John Baldwin jhb at FreeBSD.org
Wed Nov 7 21:36:02 UTC 2018


On 11/7/18 1:01 PM, Ed Schouten wrote:
> Op wo 7 nov. 2018 om 19:32 schreef John Baldwin <jhb at 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?

-- 
John Baldwin

                                                                            


More information about the svn-src-head mailing list