From owner-cvs-all@FreeBSD.ORG Mon Jan 31 23:10:47 2005 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A9E016A4CE; Mon, 31 Jan 2005 23:10:47 +0000 (GMT) Received: from www.portaone.com (support.portaone.com [195.70.151.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 38AEB43D2D; Mon, 31 Jan 2005 23:10:46 +0000 (GMT) (envelope-from sobomax@portaone.com) Received: from [192.168.0.128] (sobohome.portaone.com [193.28.87.24]) (authenticated bits=0) by www.portaone.com (8.12.11/8.12.11) with ESMTP id j0VNAfY2078150 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 1 Feb 2005 00:10:42 +0100 (CET) (envelope-from sobomax@portaone.com) Message-ID: <41FEBAE5.7010201@portaone.com> Date: Tue, 01 Feb 2005 01:10:29 +0200 From: Maxim Sobolev Organization: Porta Software Ltd User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Baldwin References: <200501292312.j0TNC0VE052634@repoman.freebsd.org> <200501311441.24275.jhb@FreeBSD.org> In-Reply-To: <200501311441.24275.jhb@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV 0.80/685/Wed Jan 26 10:08:24 2005 clamav-milter version 0.80j on www.portaone.com X-Virus-Status: Clean cc: cvs-src@FreeBSD.ORG cc: src-committers@FreeBSD.ORG cc: cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/alpha/linux linux_sysvec.csrc/sys/alpha/osf1 src/sys/compat/ia32imgact_svr4.c svr4_sysvec.c ... X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jan 2005 23:10:47 -0000 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