From nobody Fri Mar 18 14:17:27 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 58BB01A1B47F; Fri, 18 Mar 2022 14:17:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KKmLJ0MNWz3Pfp; Fri, 18 Mar 2022 14:17:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647613048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YQqEzee6Cs+DGDuUXkb0mG9Acjy9nLBayq0tuna7aO8=; b=l+g08hjo/IxiLyYIrok7mcdXi3ElbFJltP/SrP9E0y7LMyHQGMunWbFc2WugYUBSiANgYB ahOlKLrbDPWvtwHU5ALYDb2Nz471x+WCtAsYrJWfOgLeg2PhuR7QlSQFu8TjCxGcwbS7aY hbjbvJUqimPvrwglJk8VVQJjdmBvOJTnfgH6b8LwOfen4GYB0fiX3TqyO5du8U4mviZ4r3 C0Y9MnQLNJiMg3VXRVU6pAdYBZdqyNLg7wJiwa1w290zVWaNjpktZX2q613O7W9i7grD81 j3Q8/ZOikNFXmFdIt5SURUoFhhH0I2STcHLRHgqrdPABUwXxh4D4jyHnKA5Rgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E09ED20476; Fri, 18 Mar 2022 14:17:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 22IEHRUf071834; Fri, 18 Mar 2022 14:17:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 22IEHRsM071833; Fri, 18 Mar 2022 14:17:27 GMT (envelope-from git) Date: Fri, 18 Mar 2022 14:17:27 GMT Message-Id: <202203181417.22IEHRsM071833@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: b50abe6bd45d - main - namei: Treat non-tied KLDs as if they had INVARIANTS enabled List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b50abe6bd45dde2baac130d4c4da097598c3b9c0 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647613048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YQqEzee6Cs+DGDuUXkb0mG9Acjy9nLBayq0tuna7aO8=; b=gYIMhWmRDOO0sOvvYghlEztAzCwqUi9kMlCqrHADmsDnzS38KRpJa9KNdDwgbT/4DYdsbf qwuvvbKQAzyZe5L//7Fv//C4DxgypBIYbIWV9oJTHeugBhTlS35NVj5hMnzlBidcu8XktN df32/JP40hyaJBfzPKBBcwv+iPXnu6UNwIUu0y3osDSMdmhRur4Ef1WfaTQPOLdraIABg/ XQKWIDJlzxLNGGM6dZksTdvQIkhSO/Ykw9L0hBjJvfmDZJHHy/Oxp2+4Cx+kIVnslMGcFh tD/eGexd5c1Ezoep+Np6EJmiWzpZdMdQBZQEUW40SPWvEnsSYalcBs+tA6N06Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1647613048; a=rsa-sha256; cv=none; b=U2iegGbkB2qSRXTBKCJP64NANeIhG8v2claS8c0SXZ094HvZmtvMOFC8T5NM86Md+dSmNb SGwGkokBGHz3/bRLZ76/Bo6k5RkbebUFy0baix0z3hj1PNrenvHufA9gqx4sax9/FKB2NA x3XpILA0+xMsg+Ng5OyMYtZKgXOJeqgFyth0THscSd82s2pMF+gyIm2x5TGc5A5atbLpgG uFpdrn1ghsQQpeeHJBd2eIVcPuiC5yI4hDHFo6bTJj+423UelJBZJBceKDoLpW6DzHuo5c Xo7L2J6hvJqYaF0bb9RNCqlSeKqVCMHOx+ilVIP4ewiX7Q0/23AdMexr46+pcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=b50abe6bd45dde2baac130d4c4da097598c3b9c0 commit b50abe6bd45dde2baac130d4c4da097598c3b9c0 Author: Andrew Gallatin AuthorDate: 2022-03-18 14:14:14 +0000 Commit: Andrew Gallatin CommitDate: 2022-03-18 14:14:14 +0000 namei: Treat non-tied KLDs as if they had INVARIANTS enabled When working with a vendor to debug their kernel module, I found that a non-tied kld which uses NDINIT will panic due to "namei: bad debugflags " on a kernel compiled with INVARIANTS because non-tied KLDs do not pick up the initialization that is done in NDINIT_DBG/NDREINIT_DBG(). Fix this by making this initialization happen for non-KLD_TIED as well as INVARIANTS Reviewed by: mjg Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D34588 --- sys/sys/namei.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/sys/namei.h b/sys/sys/namei.h index 23718dde5bed..98cbc2ca6ed9 100644 --- a/sys/sys/namei.h +++ b/sys/sys/namei.h @@ -228,8 +228,11 @@ int cache_fplookup(struct nameidata *ndp, enum cache_fpl_status *status, /* * Note the constant pattern may *hide* bugs. + * Note also that we enable debug checks for non-TIED KLDs + * so that they can run on an INVARIANTS kernel without tripping over + * assertions on ni_debugflags state. */ -#ifdef INVARIANTS +#if defined(INVARIANTS) || (defined(KLD_MODULE) && !defined(KLD_TIED)) #define NDINIT_PREFILL(arg) memset(arg, 0xff, offsetof(struct nameidata, \ ni_dvp_seqc)) #define NDINIT_DBG(arg) { (arg)->ni_debugflags = NAMEI_DBG_INITED; }