From owner-freebsd-current@FreeBSD.ORG Tue May 29 15:20:44 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1DA4C16A400 for ; Tue, 29 May 2007 15:20:44 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id CADF913C46C for ; Tue, 29 May 2007 15:20:43 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from phobos.samsco.home (phobos.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.8/8.13.8) with ESMTP id l4TFIgAj055552; Tue, 29 May 2007 09:18:43 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <465C444F.2050505@samsco.org> Date: Tue, 29 May 2007 09:18:39 -0600 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.2pre) Gecko/20070111 SeaMonkey/1.1 MIME-Version: 1.0 To: Yar Tikhiy References: <20070529131758.GB53113@comp.chem.msu.su> In-Reply-To: <20070529131758.GB53113@comp.chem.msu.su> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (pooker.samsco.org [168.103.85.57]); Tue, 29 May 2007 09:18:43 -0600 (MDT) X-Spam-Status: No, score=-1.4 required=5.5 tests=ALL_TRUSTED autolearn=failed version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: freebsd-current@freebsd.org Subject: Re: HEADS UP: KBI breakage for Ethernet modules X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2007 15:20:44 -0000 Yar Tikhiy wrote: > On Sun, May 27, 2007 at 03:51:29PM +0400, Yar Tikhiy wrote: >> As discussed earlier on -net, I'd like to commit the following >> patch. It will bring ether_ioctl() into accord with ioctl() WRT >> the type of the command argument. In our ioctl(), command became >> an u_long ages ago, but ether_ioctl() has never been fixed. With >> int and u_long being of different widths on 64-bit arch'es, the >> discrepancy can get us in trouble sooner or later. >> >> In fact, ioctl command coding is very unlikely to change, so it >> will continue to fit in 32 bits. OTOH, the C compiler should be >> uneasy about squeezing u_long into int when ether_ioctl() is called >> from an if_ioctl handler, so this patch will be a little step on >> the way to a warning-free kernel. >> >> This change will inevitably break the kernel interface to network >> modules, so all of them will need rebuilding. > > I received several positive replies and no negative ones, so the > change has just been committed. In fact, it breaks KBI on 64-bit > platforms only. (Thanks to Ruslan Ermilov for reminding me about > that.) Many thanks to those folks who encouraged the change. > > Now all Ethernet-related kernel modules need to be rebuilt on 64-bit > platforms. The conventional "make buildkernel" procedure will take > care of stock modules, so only 3rd-party modules need some attention. > How does this affect 32-bit compatibility on amd64? Scott