From owner-cvs-src@FreeBSD.ORG Wed Sep 1 00:46:51 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3D05516A4CE; Wed, 1 Sep 2004 00:46:51 +0000 (GMT) Received: from daintree.corp.yahoo.com (daintree.corp.yahoo.com [216.145.52.172]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2BAD243D46; Wed, 1 Sep 2004 00:46:51 +0000 (GMT) (envelope-from peter@yahoo-inc.com) Received: by daintree.corp.yahoo.com (Postfix, from userid 2154) id 18FDF8803; Tue, 31 Aug 2004 17:46:51 -0700 (PDT) From: Peter Wemm To: Brooks Davis Date: Tue, 31 Aug 2004 17:46:50 -0700 User-Agent: KMail/1.6.2 References: <200408300629.i7U6TQ5C088279@repoman.freebsd.org> <200408301729.22348.peter@wemm.org> <20040831004311.GA29938@odin.ac.hmc.edu> In-Reply-To: <20040831004311.GA29938@odin.ac.hmc.edu> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200408311746.50735.peter@wemm.org> cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: Andrew Gallatin cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src UPDATING src/sys/sys param.h src/sys/net if.c if.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Sep 2004 00:46:51 -0000 On Monday 30 August 2004 05:43 pm, Brooks Davis wrote: > On Mon, Aug 30, 2004 at 05:29:22PM -0700, Peter Wemm wrote: > > On Monday 30 August 2004 02:53 pm, Brooks Davis wrote: > > > On Mon, Aug 30, 2004 at 05:34:23PM -0400, Andrew Gallatin wrote: > > > > Brooks Davis writes: > > > > > I don't think so. The main offenders will be programs that > > > > > walk the interface list via libkvm and programs that use > > > > > struct if_data. ifconfig does neither. If you haven't > > > > > recompiled a module, a non-working ifconfig might result if > > > > > by some miracle you didn't get a panic on attach. > > > > > > > > ppc does not even build modules, so that's out. An older > > > > ifconfig pukes, while a new one works, so some sort of > > > > kernel/userland ABI must have changed in the last week. Has > > > > the data exported by sysctl changed recently? > > > > > > I think I found it, at least partially. The issue is struct > > > if_msghdr which is used by ifconfig. It contains a struct > > > if_data. It has grown by a struct timeval. The weird thing is > > > that this shouldn't be a problem becuase if_msghdr has a length > > > and my addition was to the end so ifconfig should be able to skip > > > over it, but it doesn't seem to actually work. > > > > It is broken on amd64 too, FWIW. > > If if_msghdr is the problem, it will be broken on all platforms and a > rebuild of everything thing should fix it. I don't know why ifconfig > is having a problem with the extension of if_msghdr. It shouldn't > care since the format is unchanged other then the addition of a > structure at the very end and the ifm_msglen member appears to be > used correct to advance through the array passed by the sysctl. Actually, I more want to know why it didn't work. But I haven't figured out where the message lengths are even getting set, let alone (mis?)used by ifconfig. -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5