Date: Fri, 14 Oct 2011 14:35:15 -0700 From: Marcel Moolenaar <marcel@xcllnt.net> To: Kostik Belousov <kostikbel@gmail.com> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Marcel Moolenaar <marcel@freebsd.org>, src-committers@freebsd.org, John Baldwin <jhb@freebsd.org> Subject: Re: svn commit: r226343 - head/sys/vm Message-ID: <93156F0C-A80A-4E60-8873-E6269D543973@xcllnt.net> In-Reply-To: <20111014182443.GP1511@deviant.kiev.zoral.com.ua> References: <201110131620.p9DGKAM2022926@svn.freebsd.org> <20111013190943.GM1511@deviant.kiev.zoral.com.ua> <D6F3D623-23A5-4147-A439-746AD670DE14@xcllnt.net> <201110131707.14466.jhb@freebsd.org> <CC78FD86-8B14-49EE-A2AA-4B1EE186A4BB@xcllnt.net> <20111013225030.GA75054@zim.MIT.EDU> <20111014182443.GP1511@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
On Oct 14, 2011, at 11:24 AM, Kostik Belousov wrote: >>>=20 > After more thought about the issue, I do not agree with you. > Elf specification says about the PF_R flag that only read permission > for the memory image of the segment is required, but read and execute > is allowed. The ELF specification does not contain CPU specifics. Those are always covered by processor supplements. Since this is very i386 specific behaviour we're talking about, it's a non sequitur to use the generic ELF specification to argue a point in this respect. > I want to commit the following refinement: The patch is good. > diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c > index 669c652..9970386 100644 > --- a/sys/kern/imgact_elf.c > +++ b/sys/kern/imgact_elf.c > @@ -118,11 +118,24 @@ static int elf_legacy_coredump =3D 0; > SYSCTL_INT(_debug, OID_AUTO, __elfN(legacy_coredump), CTLFLAG_RW,=20 > &elf_legacy_coredump, 0, ""); >=20 > -static int __elfN(nxstack) =3D 0; > +static int __elfN(nxstack) =3D > +#if defined(__amd64__) || defined(__powerpc__) /* both 64 and 32 bit = */ > + 1; > +#else > + 0; > +#endif > SYSCTL_INT(__CONCAT(_kern_elf, __ELF_WORD_SIZE), OID_AUTO, > nxstack, CTLFLAG_RW, &__elfN(nxstack), 0, > __XSTRING(__CONCAT(ELF, __ELF_WORD_SIZE)) ": enable non-executable = stack"); Please do not commit this change with the rest. It's not to the point. In fact, if you're changing it to the above, please add ia64 to the list as well. --=20 Marcel Moolenaar marcel@xcllnt.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?93156F0C-A80A-4E60-8873-E6269D543973>