From owner-cvs-all@FreeBSD.ORG Wed Jul 19 07:39:01 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org 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 6230C16A4E0; Wed, 19 Jul 2006 07:39:01 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (comp.chem.msu.su [158.250.32.97]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D78243D76; Wed, 19 Jul 2006 07:38:57 +0000 (GMT) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (localhost [127.0.0.1]) by comp.chem.msu.su (8.13.4/8.13.3) with ESMTP id k6J7cmcj076834; Wed, 19 Jul 2006 11:38:48 +0400 (MSD) (envelope-from yar@comp.chem.msu.su) Received: (from yar@localhost) by comp.chem.msu.su (8.13.4/8.13.3/Submit) id k6J7cfEQ076832; Wed, 19 Jul 2006 11:38:41 +0400 (MSD) (envelope-from yar) Date: Wed, 19 Jul 2006 11:38:40 +0400 From: Yar Tikhiy To: Bruce Evans Message-ID: <20060719073840.GC69362@comp.chem.msu.su> References: <200606291922.k5TJM5ev007314@repoman.freebsd.org> <20060701003326.GA41947@gothmog.pc> <20060719131841.U41630@delplex.bde.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060719131841.U41630@delplex.bde.org> User-Agent: Mutt/1.5.9i Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Giorgos Keramidas , cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/net if.c if_atmsubr.c if_stf.c if_tun.c src/sys/netinet if_ether.c ip_divert.c ip_fw2.c src/sys/netinet6 in6.c in6_var.h src/sys/nfsclient bootp_subr.c nfs_diskless.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 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: Wed, 19 Jul 2006 07:39:01 -0000 On Wed, Jul 19, 2006 at 01:32:26PM +1000, Bruce Evans wrote: > Long ago, On Sat, 1 Jul 2006, Giorgos Keramidas wrote: > > >On 2006-06-29 19:22, Yar Tikhiy wrote: > >>yar 2006-06-29 19:22:05 UTC > >> > >> FreeBSD src repository > >> > >> Modified files: > >> sys/net if.c if_atmsubr.c if_stf.c if_tun.c > >> sys/netinet if_ether.c ip_divert.c ip_fw2.c > >> sys/netinet6 in6.c in6_var.h > >> sys/nfsclient bootp_subr.c nfs_diskless.c > >> Log: > >> There is a consensus that ifaddr.ifa_addr should never be NULL, > >> except in places dealing with ifaddr creation or destruction; and > >> in such special places incomplete ifaddrs should never be linked > >> to system-wide data structures. Therefore we can eliminate all the > >> superfluous checks for "ifa->ifa_addr != NULL" and get ready > >> to the system crashing honestly instead of masking possible bugs. > > > >This is probably silly, but it was the first thing I thought about when > >I saw the NULL checks removed. > > > >Since we assume that ifa->ifa_addr != NULL, does it make sense to add > >KASSERT() calls in the places where we do so? > > No, that would be worse than leaving the checks unchanged. Asserting > that pointers aren't null just re-bloats the code (at least at the > source level) and breaks normal handling of dereferencing of null > pointers. With normal handling, you get a trap that can be restarted > using a debugger, but with assertions (if assertions are enabled) you > get a panic that can't be restarted (modulo the RESTARTABLE_PANICS > option which causes other problems). Seconded. I believe that KASSERT() shouldn't be routinely used for NULL checks, it's for more complex consistency tests. -- Yar