cvs commit: src/sys/alpha/linux linux_sysvec.csrc/sys/alpha/osf1
src/sys/compat/ia32imgact_svr4.c svr4_sysvec.c ...
Maxim Sobolev
sobomax at portaone.com
Mon Jan 31 15:10:47 PST 2005
John Baldwin wrote:
> On Saturday 29 January 2005 06:12 pm, Maxim Sobolev wrote:
>
>>sobomax 2005-01-29 23:12:00 UTC
>>
>> FreeBSD src repository
>>
>> Modified files:
>> sys/alpha/linux linux_sysvec.c
>> sys/alpha/osf1 imgact_osf1.c osf1_sysvec.c
>> sys/amd64/linux32 linux32_sysvec.c
>> sys/compat/ia32 ia32_sysvec.c
>> sys/compat/pecoff imgact_pecoff.c
>> sys/compat/svr4 imgact_svr4.c svr4_sysvec.c
>> sys/i386/ibcs2 ibcs2_sysvec.c imgact_coff.c
>> sys/i386/linux imgact_linux.c linux_sysvec.c
>> linux_machdep.c
>> sys/kern imgact_aout.c imgact_elf.c imgact_gzip.c
>> imgact_shell.c kern_exec.c kern_kse.c
>> sys/modules Makefile
>> sys/sys imgact.h syscallsubr.h
>> Log:
>> o Split out kernel part of execve(2) syscall into two parts: one that
>> copies arguments into the kernel space and one that operates
>> completely in the kernel space;
>>
>> o use kernel-only version of execve(2) to kill another stackgap in
>> linuxlator/i386.
>>
>> Obtained from: DragonFlyBSD (partially)
>> MFC after: 2 weeks
>
>
> Cool, this had been on my anti-stackgap todo list as well.
:-)
We have been tolerating this stackgap hack for too long.
Right now linuxlator/i386 is almost stackgap-free. The only remaining
stackgap is in semctl(2) syscal, which in my opinion it is very
over/under engineered API, so that there is no a good clean way to do
the split. At the same time, it's not the one used oftenly, so that I
can wait when I (or somebody else) is in the right mood to do the
remaining work.
Other arches/emulation layers are awaiting for somebody (maintainers?)
to do the work, which will be very easy one, since most popular kernel
interfaces that work on userland structures/buffers have been split.
-Maxim
More information about the cvs-src
mailing list