From owner-svn-src-head@FreeBSD.ORG Mon Dec 17 03:05:52 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A4A14574; Mon, 17 Dec 2012 03:05:52 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-wg0-f52.google.com (mail-wg0-f52.google.com [74.125.82.52]) by mx1.freebsd.org (Postfix) with ESMTP id 73AAC8FC15; Mon, 17 Dec 2012 03:05:50 +0000 (UTC) Received: by mail-wg0-f52.google.com with SMTP id 12so2322569wgh.31 for ; Sun, 16 Dec 2012 19:05:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=5b+Y5VaffajkbEZaMEvwnmiMVnw1d7NpqZHlqbpHCq8=; b=oc8+VVcCzYV0WRxXH7hFRFt8KO3gKJ/sq768W8Idhqzg+0L51PyLJDJVEerrqsF/HN CQHbRB1TJ3n50i+kLoy2vNwo8N0JW/Lwk+ADzOxEcBipEv2WwIUy1bizv9Ck2J6NIsMu aQfK871UlhcKirdrtKsXRNenD5QubXZC/WhJ3TIj/ATes/GfMIxf2CWlmkTloM3ycxOh onXCqD5ITIsGl+Vlsg8jQ2slEBTd5AdDfq3F5LX3ZXSbd2oSevG0WkU8Yu5/qcXo5tdP rAj4/G37d5Yg63WacU+jW8eYj4q34p+NNgYVZ09zciT9xMrGKypo9f5wDn/wN906/JUN Jfaw== MIME-Version: 1.0 Received: by 10.180.103.106 with SMTP id fv10mr13101133wib.19.1355713549388; Sun, 16 Dec 2012 19:05:49 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.217.57.9 with HTTP; Sun, 16 Dec 2012 19:05:48 -0800 (PST) In-Reply-To: <20121216233213.GA1451@itx> References: <201212121658.49048.jhb@freebsd.org> <50C90567.8080406@FreeBSD.org> <50C909BD.9090709@mu.org> <50C91B32.4080904@FreeBSD.org> <20121215205202.GF1411@garage.freebsd.pl> <20121216040717.GG35245@server.rulingia.com> <1355634037.1198.115.camel@revolution.hippie.lan> <50CD7C1D.3020108@FreeBSD.org> <20121216233213.GA1451@itx> Date: Sun, 16 Dec 2012 19:05:48 -0800 X-Google-Sender-Auth: rDPQ9t0DnAfUeZ0utfIKiza8GL0 Message-ID: Subject: Re: svn commit: r244112 - head/sys/kern From: Adrian Chadd To: Adrian Chadd , Andriy Gapon , Ian Lepore , Peter Wemm , Peter Jeremy , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Dec 2012 03:05:52 -0000 On 16 December 2012 15:32, Navdeep Parhar wrote: >> The status quo _does not change_ by default. > > So now we have a knob that could be used to change the behaviour of all > the KASSERTs in the system; one that hints that it may be possible to > continue even if an assertion in the FreeBSD kernel doesn't hold good > (this is the part that bothers me). I know all the KASSERTs I've looked > at or written are genuine assertions -- the code simply wouldn't be able > to cope if they were violated. You'd get NULL dereferences, or worse, > access protected structures without corresponding locks held, etc. In that case, those failures should be handled gracefully, or they should immediately panic the kernel. Claiming that a KASSERT() is optional at this point is basically us as a project saying "We know that if the kernel gets to this point and it fails this check, everything is busted after this." Ie, "Hey, if you disable KASSERT(), your data is potentially toast." Yet we ship with KASSERT() disabled. Silent data corruption, race conditions, etc. Not everything leads to a NULL pointer dereference. Again, we ship with KASSERT disabled in GENERIC on shipping production releases. The concerns you have with KASSERT printing out when Alfred's modification is enabled -does not change the fact that the kernel does _EXACTLY THIS_ kind of "oh well, I'll keep going" behaviour in a GENERIC, production, release kernel-. Adrian