From owner-freebsd-hackers@FreeBSD.ORG Fri Sep 17 02:04:46 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E041716A4CE for ; Fri, 17 Sep 2004 02:04:46 +0000 (GMT) Received: from delight.idiom.com (delight.idiom.com [216.240.32.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA4A043D5C for ; Fri, 17 Sep 2004 02:04:46 +0000 (GMT) (envelope-from mwm-dated-1096248274.a40ab9@mired.org) Received: from idiom.com (idiom.com [216.240.32.1]) by delight.idiom.com (Postfix) with ESMTP id 8FC1A1256AF for ; Thu, 16 Sep 2004 19:04:45 -0700 (PDT) Received: from mired.org (mwm@idiom [216.240.32.1]) by idiom.com (8.12.11/8.12.11) with SMTP id i8H1OYqv018629 for ; Thu, 16 Sep 2004 18:24:34 -0700 (PDT) (envelope-from mwm-dated-1096248274.a40ab9@mired.org) Received: (qmail 68982 invoked by uid 100); 17 Sep 2004 01:24:34 -0000 Received: by guru.mired.org (tmda-sendmail, from uid 100); Thu, 16 Sep 2004 20:24:33 -0500 (CDT) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16714.15569.122973.367346@guru.mired.org> Date: Thu, 16 Sep 2004 20:24:33 -0500 To: gerarra@tin.it In-Reply-To: <4146316C00007823@ims3a.cp.tin.it> References: <20040917002301.GB73372@hub.freebsd.org> <4146316C00007823@ims3a.cp.tin.it> X-Mailer: VM 7.17 under 21.1 (patch 14) "Cuyahoga Valley" XEmacs Lucid X-Primary-Address: mwm@mired.org X-face: "5Mnwy%?j>IIV\)A=):rjWL~NB2aH[}Yq8Z=u~vJ`"(,&SiLvbbz2W`; h9L,Yg`+vb1>RG% *h+%X^n0EZd>TM8_IB;a8F?(Fb"lw'IgCoyM.[Lg#r\ X-Delivery-Agent: TMDA/1.0.3 (Seattle Slew) From: Mike Meyer X-Mailman-Approved-At: Fri, 17 Sep 2004 12:08:03 +0000 cc: freebsd-hackers@freebsd.org Subject: Re: FreeBSD Kernel buffer overflow X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Sep 2004 02:04:47 -0000 > Nobody can write a syscall with more than 8 arguments and this is conceptually > wrong. In my opinion this is a mistake, no assumptions might be done on I'd argue that a syscall with 9 or more arguments is conceptually wrong in the first place. Anything with that many knobs needs to be an object, not a simple list of parameters. In other words, you should bundle the parameters up into a struct, and pass a pointer to the struct. Take a look at namei (which used to have a very long argument list) for an example of what I mean. http://www.mired.org/consulting.html Independent Network/Unix/Perforce consultant, email for more information.