From nobody Sat Nov 18 20:48:19 2023 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 4SXm7m0nq3z51c3d; Sat, 18 Nov 2023 20:48:20 +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 4SXm7m0HPwz4XW8; Sat, 18 Nov 2023 20:48:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700340500; 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=S9QlGIZZ3HW6k5pwBkIvVGtAZnmK00Vq+k24QhVlMpI=; b=nrHVK64jCspQRHHVwVr8EDXfw6ZUoIuoH4sTUkawljTJ+LYaBXfqm90YqlfaQ3swGAzPnO LLSpymPcnB4xAP09kY5VTS59oLkal3gQozIuEmuH668irEQy1SOTa9IuEmnITPedq5MQ77 I1UPemIJGh/M0zmuZPGd/N0XMlTAyfTii061Ufs6u3A0jeQcG0ZtEB/uni9jsKGp/y1RJO ms61Lf9CNYerfgBL4H6LklMN44RargEh4WRum05EGykgmyp7W097Tm6ZwoI81MHSqren6G 8v5BaoIlVXmqIkVKSgoO1VmTrHgdu1YcjDSkIP1FWu4uYK7C5avm9X8sfRzAXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700340500; 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=S9QlGIZZ3HW6k5pwBkIvVGtAZnmK00Vq+k24QhVlMpI=; b=rvRTx6JUgI7eFYuuUKPs799jnXqRKsFQBQOKbU8YU0WotyFHj/wc/wu0/QLbvMLxhqXVyo tCRShv6N0H7CyS5ZdtjpCcfaVczmDfqhvf1KEKMMre9AghdNdtKdBgsyLPsb1YwOsd/qL/ 0JrmlrkghmTeEH+NM6Fesb3anSFi/V1C9r/DemVlYuWFIQWFo13GL35IBRIt32XqAlrddZ zc2fJWHub3iI3AErlDjhzsNpbNcrVrJfY1Tm5Tf9HvHNJWBCzQUbneCIJ6PxQxo5/ksdW7 2iSC7MuP7VlxSk6hRoQSC6mTp9KGJvSUAzjIvl3c9thvQ3BRxN9jvPXziJsW2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700340500; a=rsa-sha256; cv=none; b=Q0ZHD6ViraKSceR/xOVWp+huPmpM2ZWwD3v3vMc5+4fy1LrEqfMjLHEX3zWh9M/O9Vdxg3 dNBDpkaY8oD7NqZMhFTqZVXWed/0Zm65MJ0YCYaA+41jZOQJqkO/RFG2ou744vf/0rB9Zw xzA/VJqdUBBjRGT+Sj81F3+CZOW6r/DqKbntq0L0tOlc50F5q+OAJm1RzhSIXBYAl3QmOq U8idjTkgbbVOT0MCVwomMHwXbaNfQGSJJ6diU9JXdR0vOEsKREBpeOAb0OmXekvZg/+ap9 mGgC4C+6dmEvtrR6VCgdYUc2uytselqbK576hu/I6JEcRxLwUbFEPKlkTONJuA== 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 4SXm7l6SMpzhWR; Sat, 18 Nov 2023 20:48:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AIKmJb3051286; Sat, 18 Nov 2023 20:48:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AIKmJGq051283; Sat, 18 Nov 2023 20:48:19 GMT (envelope-from git) Date: Sat, 18 Nov 2023 20:48:19 GMT Message-Id: <202311182048.3AIKmJGq051283@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jamie Gritton Subject: git: 6000d46fc3c1 - main - Move "jail -e" out of the rest of jail(8) flow. 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: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6000d46fc3c18c72bd09f7f4134c7293b62f3416 Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=6000d46fc3c18c72bd09f7f4134c7293b62f3416 commit 6000d46fc3c18c72bd09f7f4134c7293b62f3416 Author: Jamie Gritton AuthorDate: 2023-11-18 20:47:50 +0000 Commit: Jamie Gritton CommitDate: 2023-11-18 20:47:50 +0000 Move "jail -e" out of the rest of jail(8) flow. --- usr.sbin/jail/jail.c | 25 ++++++++++++++----------- usr.sbin/jail/jailp.h | 1 - 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/usr.sbin/jail/jail.c b/usr.sbin/jail/jail.c index 9e443c9f3f1d..fcff0d485682 100644 --- a/usr.sbin/jail/jail.c +++ b/usr.sbin/jail/jail.c @@ -139,7 +139,7 @@ main(int argc, char **argv) size_t sysvallen; unsigned op, pi; int ch, docf, error, i, oldcl, sysval; - int dflag, Rflag; + int dflag, eflag, Rflag; #if defined(INET) || defined(INET6) char *cs, *ncs; #endif @@ -148,7 +148,7 @@ main(int argc, char **argv) #endif op = 0; - dflag = Rflag = 0; + dflag = eflag = Rflag = 0; docf = 1; cfname = CONF_FILE; JidFile = NULL; @@ -162,7 +162,7 @@ main(int argc, char **argv) dflag = 1; break; case 'e': - op |= JF_SHOW; + eflag = 1; separator = optarg; break; case 'f': @@ -232,7 +232,16 @@ main(int argc, char **argv) argc -= optind; argv += optind; - /* Find out which of the four command line styles this is. */ + if (eflag) { + /* Just print list of all configured non-wildcard jails */ + if (op || argc > 0) + usage(); + load_config(cfname); + show_jails(); + exit(0); + } + + /* Find out which of the command line styles this is. */ oldcl = 0; if (!op) { /* Old-style command line with four fixed parameters */ @@ -282,13 +291,7 @@ main(int argc, char **argv) ? NULL : "false"); } } - } else if (op == JF_STOP || op == JF_SHOW) { - /* Just print list of all configured non-wildcard jails */ - if (op == JF_SHOW) { - load_config(cfname); - show_jails(); - exit(0); - } + } else if (op == JF_STOP) { /* Jail remove, perhaps using the config file */ if (!docf || argc == 0) usage(); diff --git a/usr.sbin/jail/jailp.h b/usr.sbin/jail/jailp.h index f371a92b82ec..c064da09d7a5 100644 --- a/usr.sbin/jail/jailp.h +++ b/usr.sbin/jail/jailp.h @@ -67,7 +67,6 @@ #define JF_TIMEOUT 0x0200 /* A command (or process kill) timed out */ #define JF_SLEEPQ 0x0400 /* Waiting on a command and/or timeout */ #define JF_FROM_RUNQ 0x0800 /* Has already been on the run queue */ -#define JF_SHOW 0x1000 /* -e Exhibit list of configured jails */ #define JF_OP_MASK (JF_START | JF_SET | JF_STOP) #define JF_RESTART (JF_START | JF_STOP) From nobody Sun Nov 19 01:15:41 2023 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 4SXt4G29P1z50xv2; Sun, 19 Nov 2023 01:15:42 +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 4SXt4G1XXKz3SxL; Sun, 19 Nov 2023 01:15:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700356542; 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=n3nU5ca3/7545RXU4UWOJP2F8iD4RNRMqSv7DkP0pdM=; b=mw07GXpcxCnpPc2Pm1FRHTSdR0Q73aScFlXv0bcvn7Gb6EC39hvmNwUXfqazCGUcAMMSHB xk2zV6pvYupZ+0Mr+FF1Zmdr7qiFL+vryZDz0EbbyDnH38qwUQSF661xi1xYUVrYzyUlVF O2oRTPMm2kGBytYZl26tbOw1V+r+C5POtXTZ1rpI1L4RN4xeQQFLwwaqkXO0wcdeTuxzmY pQwRupoNoxA2PBLQUXkDccW/nxoF31b99g8dX53BItpO3lf3VcIYtifw7FWXZdvL4WtOci 05kozyc7b2WJGzxZah6sh1ydQlKtkI+W44FWj17XAOiIQT9QDB92LEc3fx0TjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700356542; 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=n3nU5ca3/7545RXU4UWOJP2F8iD4RNRMqSv7DkP0pdM=; b=vem6lcKoS3wHkW8PixDcfBvSSLtRF93rx8LYBaYrSKEa3H3AaH2uCsoAfvUuk2LUwnXFTd 7ZREMBbSSQoTnGX6D3abzcyQzt6J0jbaab3ujylwJLbFr4ay0OP075e/M1o9/ih0oSvn/R JEGARJDVA0COKlVDr7Dzg+Nxzt0TtMP+YxXL2PnfGCioilDH35YIygVYPb0HkNwNFKLU2T yyVCLMGDjEN/bqhmMPGzvRQPDgfalWQEgrRhjhIRd72uh9Om6cLxsM4fZSZfCwqZ36RTMH DHh0G41uDypCbMquQyQ1TsjVxNdznVv16uKaQHvZrdwLvfT46UrPRTHx12dqaQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700356542; a=rsa-sha256; cv=none; b=Qytsd6aNFkjwdAyT3u2O2xj1kIvpyjUFR/UthtdXANO+SJBz5T+AwbQKnx8T+/f0VMWhxu 2Rq33rGsHh72dMKSeqGxJrrHkLgLrC76UEOFbvexW46K4LN9gDztcQO/EnCx1H++XiwHku NR4x8if7HXFMzF+4W7nSeJq5mcMgAAztz/JuqDg2OuhaAJ+G0EsycJy9RBHRm7UjE+iK5e +QOLOUCKlyVbknjlSuVRqUi94fXltCwboMQp5vbeOueV6siOekp5gLe/OZ0MZt8RX5P17T nVsfNOHURNoAT/GwVzTXP0WROn59MwmIcEXSew8KgW+nsc3VUUtFEyH6A30HLA== 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 4SXt4G0bkVzq7w; Sun, 19 Nov 2023 01:15:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJ1Ff75099880; Sun, 19 Nov 2023 01:15:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJ1FfSu099877; Sun, 19 Nov 2023 01:15:41 GMT (envelope-from git) Date: Sun, 19 Nov 2023 01:15:41 GMT Message-Id: <202311190115.3AJ1FfSu099877@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: 3c773cad5706 - main - cat: fallback on EISDIR with copy_file_range(2) 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3c773cad57064c23873f286fbec69f6f0305b889 Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=3c773cad57064c23873f286fbec69f6f0305b889 commit 3c773cad57064c23873f286fbec69f6f0305b889 Author: Martin Matuska AuthorDate: 2023-11-19 01:09:34 +0000 Commit: Martin Matuska CommitDate: 2023-11-19 01:14:50 +0000 cat: fallback on EISDIR with copy_file_range(2) The filesystem may support reading directories directly when security.bsd.allow_read_dir is set. MFC after: 1 week PR: 275099 --- bin/cat/cat.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/cat/cat.c b/bin/cat/cat.c index ce7a83d59d5a..c69bbc4911cb 100644 --- a/bin/cat/cat.c +++ b/bin/cat/cat.c @@ -281,7 +281,8 @@ scanfiles(char *argv[], int cooked __unused) } else { #ifndef BOOTSTRAP_CAT if (in_kernel_copy(fd) == -1) { - if (errno == EINVAL || errno == EBADF) + if (errno == EINVAL || errno == EBADF || + errno == EISDIR) raw_cat(fd); else err(1, "stdout"); From nobody Sun Nov 19 14:06:29 2023 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 4SYC9d6xnzz51pvy; Sun, 19 Nov 2023 14:06:29 +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 4SYC9d5mcSz3RYh; Sun, 19 Nov 2023 14:06:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700402789; 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=jVZH3jcDs4smRYGaBdf1dKeEeDrt7SRz2epzKRjCZJ8=; b=IVGJBow57uz3AUhdtsy50P+3+Sr5DroeTFE7JwWbj1iu/OM171DPi28Bl7QNBq0e7rnvId N5JUh6Nn58yyhdwCsZEswMt8Q9L8bUMvH5C/mtL5nJAVMEzR+b2gkoeM5EB2O40SJ44eq/ Kdd6n94cHN9baK3HKVhePIumbodj7RSJQqYIo5oImGnjK0/G/PeZv5vIdZ0dlxq8knMW7N A77raK54J1F11RHHiisfkER1eqhdSV3qicKMFr0YzIV4KE3BiaXVZq805kHne7Rn/+oLfK U/Qcclb9T9NgeoLomYWJchK4YLsknPY2ntyem5gSByX+MDSn7Gm+p52GoR1nkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700402789; 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=jVZH3jcDs4smRYGaBdf1dKeEeDrt7SRz2epzKRjCZJ8=; b=dCc9ljnzh/U0+jJdU7c7X9dHIRIG0TTQLU0G8cl/ltD3vd/nq7CYj4U5FnWM3AP95nfHhc e7YkS7J5wyTegkaUarexTIBgF7umUir5VUhcYNNC7IIsMYTuYo8L8JtvyexbizwJKlB2Lz O9ColNoNenIsScT2yVEVpn3GNhrJk7hexdz5Lj+idK5hrQk5fRrXmz3+9wXn3aCe+uA3OU jxaq6WTsS7o7Tw8SaNFrPra0P/u3LkEiwotAZxabjiDkURakpdD5WWQz+96Xt5vSJeuZAr 8kxhF8ctbfzT9zmtmh7jY3Nm0FnM7dV0LItx6RFQwaTa50hZeaEn1yYpSflWrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700402789; a=rsa-sha256; cv=none; b=PNWxnK4vQ/mVcRH+6A0KNLR1lvDl5pkBycC4c/KBMKNmoN32yq5wwnsb1QtimCgYhR6QM6 NPokaiSfDwZnHvZwjG2osef6w4iDjFdD/zVH7qraEHKncEIBddwXHjvFzIbhkKjrzpuzCO rwah+4+Svsjhy3txkjZkRU+/HUJDYU1h3QT9ingScipG6D3R0zlSxvWPUvuUPf9XMofIkA y+IgKwOwa56C82vB3+r4XaeGeNDv0WO8wA8Qj+gjH0wARx6M1iYDlFDIUdV+YHISWMAYzz nOUrlKZGu/k/JboUOis8YgyUfA9DFrWde4btfmL4DDTyB13/lwH5gmLtdu+Gtw== 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 4SYC9d4py2z1BC5; Sun, 19 Nov 2023 14:06:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJE6T8L084471; Sun, 19 Nov 2023 14:06:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJE6TrF084468; Sun, 19 Nov 2023 14:06:29 GMT (envelope-from git) Date: Sun, 19 Nov 2023 14:06:29 GMT Message-Id: <202311191406.3AJE6TrF084468@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Arthur Kiyanovski Subject: git: 33db883c9598 - main - Add akiyano as src committer and cperciva as mentor 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: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 33db883c959821f5efb245d6d840f70eedcd85ff Auto-Submitted: auto-generated The branch main has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=33db883c959821f5efb245d6d840f70eedcd85ff commit 33db883c959821f5efb245d6d840f70eedcd85ff Author: Arthur Kiyanovski AuthorDate: 2023-11-16 22:54:51 +0000 Commit: Arthur Kiyanovski CommitDate: 2023-11-19 13:54:29 +0000 Add akiyano as src committer and cperciva as mentor Approved by: cperciva (mentor) --- share/misc/committers-src.dot | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index 00e61605f451..932204a2814d 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -103,6 +103,7 @@ achim [label="Achim Leubner\nachim@FreeBSD.org\n2013/01/23"] adrian [label="Adrian Chadd\nadrian@FreeBSD.org\n2000/07/03"] ae [label="Andrey V. Elsukov\nae@FreeBSD.org\n2010/06/03"] akiyama [label="Shunsuke Akiyama\nakiyama@FreeBSD.org\n2000/06/19"] +akiyano [label="Arthur Kiyanovski\nakiyano@FreeBSD.org\n2023/11/14"] alc [label="Alan Cox\nalc@FreeBSD.org\n1999/02/23"] alfredo [label="Alfredo Dal'Ava Junior\nalfredo@FreeBSD.org\n2020/01/27"] allanjude [label="Allan Jude\nallanjude@FreeBSD.org\n2015/07/30"] @@ -481,6 +482,7 @@ cognet -> wkoszek cognet -> wma cognet -> zbb +cperciva -> akiyano cperciva -> eadler cperciva -> flz cperciva -> randi From nobody Sun Nov 19 19:30:16 2023 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 4SYLMD5XJJz51DRr; Sun, 19 Nov 2023 19:30:16 +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 4SYLMD4vbXz4Y6Q; Sun, 19 Nov 2023 19:30:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700422216; 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=Cv1dyFZdMv5+O8IsaMhrnbFikyfEyTYzgv7439CT17U=; b=mcFQ9be76UdgZ+6Rb5y9vRWeKBBohgTwRYtZjSVh5IrREoZJZNyTd1mNuhEoYrJ7FcxoOH CarTG1FLC+N7I5gVrHMNib7liOmxiMAsjl+6ZzxdktB0X0GE8nCfc9DCraWtc2hXNoinwG swtZm9qxKqS9hAsonndLJvAEBuKXe69nIn+/NAqC8wAVJO0iNM+4vHQUf5wp9KpexzKS2k CAgc4vC7FsnoP9zs54LYE029G9zvdfyiErT6h309DrEVWxx+aUdu/vKXjBXkbB+CYlmoGd h8iDWEFxpBAsx1Sz9K0zOC5mu1BALFWad/TdMGhvTbKJ0gv8L4BePWbZLdGwQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700422216; 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=Cv1dyFZdMv5+O8IsaMhrnbFikyfEyTYzgv7439CT17U=; b=tFuApgpcZrxEDYlIUcl4rjcSa9T+5Vvugwa10uW6Wmgj3y2aOyYM0Dse8GTABvSBTDSToT /KDgEKM5QhBz2F+oLB43Vtk/Sa45/SD0MEx7anRtyNVFAzLouCBzdKQwRoS6cejvvR2Ef5 W8Gwo4MiiMa7bLaF5tdx3qzMcbqWZRjnCKaHlQqfvyVRyesMUehhXSDWPe/zmUR8M35H93 udwID94qp3tN1pvhzD6IUPosxew7OYFF7G3fzRDwBFlQB6y4ZsEXgz5PykTPlGFJyhug7O bJg8YOq3JCq3ZAyIfFzCSA2JE+t25QYfr83hZoOe6qpwUrYrbY5P7hT2yzMZoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700422216; a=rsa-sha256; cv=none; b=c18ZcdB0Ut3Dy6lUDLHQMSgdt7eNB6q671OH+EJ84hsJC2Vv/lM22cgB3d1Ux6X1ulvqgz nfg48S30UEpu6mo6DrPtDz+u0oC0LuuMiRBh7gAshZ7JfJk1MNf55e8S5NyqubyDuuGTaG ibblrm/ffw2G3P3pEEqxaN+j9TLy+tpEQR5QjaQhy+b7AoqQKzFEHAvadJ0Yfe0FMYAAV7 OgwwJkdSNI2/bMUNAJRCUsPBIk1PaH8sK5GZ40xCHm4V3dUa8D+0K6+WFW08ojaMZX5MTw Nei5YGXHBtR3o/PrnFf4F5JLPqUkgmRP4A+CN//GMIonA2SOvhor00yaLuBtKA== 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 4SYLMD3tbFz6n3; Sun, 19 Nov 2023 19:30:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJJUGQX026381; Sun, 19 Nov 2023 19:30:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJJUGBo026372; Sun, 19 Nov 2023 19:30:16 GMT (envelope-from git) Date: Sun, 19 Nov 2023 19:30:16 GMT Message-Id: <202311191930.3AJJUGBo026372@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 9ed67f1307f4 - stable/14 - if_wg: Missing radix unlock can cause deadlock 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9ed67f1307f40b3173ea3b3889c6323f9ef4a58f Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9ed67f1307f40b3173ea3b3889c6323f9ef4a58f commit 9ed67f1307f40b3173ea3b3889c6323f9ef4a58f Author: Aaron LI AuthorDate: 2023-11-11 13:13:08 +0000 Commit: Kristof Provost CommitDate: 2023-11-18 09:46:21 +0000 if_wg: Missing radix unlock can cause deadlock In function 'wg_aip_add()', the error path of returning ENOMEM when (node == NULL) is forgetting to unlock the radix tree, and thus may lead to a deadlock. PR: 275001 Reviewed by: kp MFC after: 1 week (cherry picked from commit dcc4d2939f789a6d1f272ffeab2068ba2b7525ea) --- sys/dev/wg/if_wg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index 4a21afe82eb5..0ea40b763416 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -562,7 +562,7 @@ wg_aip_add(struct wg_softc *sc, struct wg_peer *peer, sa_family_t af, const void node = root->rnh_lookup(&aip->a_addr, &aip->a_mask, &root->rh); if (!node) { free(aip, M_WG); - return (ENOMEM); + ret = ENOMEM; } else if (node != aip->a_nodes) { free(aip, M_WG); aip = (struct wg_aip *)node; From nobody Sun Nov 19 19:30:17 2023 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 4SYLMF64Gvz51DDg; Sun, 19 Nov 2023 19:30:17 +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 4SYLMF5MjLz4Xyv; Sun, 19 Nov 2023 19:30:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700422217; 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=N3yi/rvXR7VKdJPnKXsBoGf9r4/u7nHPuYjPbthcjlg=; b=TZnu04YT+prpDeIbsCifYgDgNjvkjT4HCktVj1kuEFUtQCOXwDtJ+BIdqQg0mxBe+SFuYq J/iI6suC8qZsNRbWvnxEiNTiLSpgOYBMkLdybqRq18d3B/0Hte7OcG7jk8R2CvZHAhXcHB wkkGNtzJ+Hh7UJEULvEobpiAOfcd3QqyY2uEQ+akkaB12pudX8eiiTT1+8lZUJrAvLg8Md u7EL6vyxrA697EV2mwTNU5cxfa/LRh4vcWPBVZ+XJMUi7xAmpyjpWQF7vNy6o7Q7Xn8A1V vwPa/WNs7sEA9KXwTHIeBNpIC6vm4MMOAhwxZnBgtHwO/w3WDE9wm0LKRPQKQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700422217; 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=N3yi/rvXR7VKdJPnKXsBoGf9r4/u7nHPuYjPbthcjlg=; b=bqQk+TFgk1na1fJNP02fIVTZ3Zr9QQb7Fme+chvn3sBsOiMcmtB4/YdJ349d9kjBp5SNEa oeHz4CkTVr3Nwve1R8oU3B/UhEPh25jDWB05GK1pX2FDyogU+6Y0+LURkLMz9FWQ5LlF8v USYOgkHAGe7Ncfj5V11djhbbJ13wl8oT4qRXunvho5nrnZIGLe0Bwm1rK7Y8hvNTwhFgKv uctG0emeJAYIwFgk+Ol+JLEVkU1gePZeyibIcqM9LFGwJxhCXbIv4z7nCOTYi6ovDNNZ1R oXT3WR7Z8DSP1AlFLfX1Eayq68yz0PiSUtJrA5QgE+wQVfAWEwF3QF9ot6EIEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700422217; a=rsa-sha256; cv=none; b=MM3Ha+gPsagOAhKnmF7Iu645LNut8J7aPXBjHi7lFLwNf1/2OmpEH4RiP4LWPmKxMDEXrJ B5rj2S2D60Q0ep3KEtcXeSwVDIW1FLxiJRjGq7SyjnTYaCRmOc6oBNodTMnbT1hniSUjup FSIFgcMTs9GbhpLrqDwpjq00u9q0piKeSzoA/hSAd6k8XC9iGwERFtnK9Q8X+dm/lvqupu pj2ylfjA5286vyLNvF5gNqEwB61XUy1LL2SUViYDapv4RUjpR3D48yO/HHjZWWJIa+vgQE h9KVkutLxyIExlT/Ci66mqFGteI4no0be/gFJDXd1AIg/oZZUbsjxO1gbHzOEA== 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 4SYLMF47vPz6Z1; Sun, 19 Nov 2023 19:30:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJJUHgq026981; Sun, 19 Nov 2023 19:30:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJJUH62026973; Sun, 19 Nov 2023 19:30:17 GMT (envelope-from git) Date: Sun, 19 Nov 2023 19:30:17 GMT Message-Id: <202311191930.3AJJUH62026973@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 4595a9e9af82 - stable/14 - netstat: fix missing tab in icmp6 output 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4595a9e9af827db03b293a9aed72618bc285f54f Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4595a9e9af827db03b293a9aed72618bc285f54f commit 4595a9e9af827db03b293a9aed72618bc285f54f Author: Kristof Provost AuthorDate: 2023-11-12 17:23:04 +0000 Commit: Kristof Provost CommitDate: 2023-11-19 19:29:50 +0000 netstat: fix missing tab in icmp6 output PR: 275044 Submitted by: sigsys@gmail.com Reviewed by: kp MFC after: 1 week (cherry picked from commit 4b5634f4e56ddc0554c5ebba610d45eb48b9210d) --- usr.bin/netstat/inet6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/netstat/inet6.c b/usr.bin/netstat/inet6.c index b88e84ecc564..9141cca191ee 100644 --- a/usr.bin/netstat/inet6.c +++ b/usr.bin/netstat/inet6.c @@ -992,7 +992,7 @@ icmp6_stats(u_long off, const char *name, int af1 __unused, int proto __unused) "{N:/bad checksum%s}\n"); p(icp6s_badlen, "\t{:dropped-bad-length/%ju} " "{N:/message%s with bad length}\n"); - p(icp6s_dropped, "{:dropped-no-entry/%ju} " + p(icp6s_dropped, "\t{:dropped-no-entry/%ju} " "{N:/total packet%s dropped due to failed NDP resolution}\n"); #define NELEM (int)(sizeof(icmp6stat.icp6s_inhist)/sizeof(icmp6stat.icp6s_inhist[0])) for (first = 1, i = 0; i < NELEM; i++) From nobody Sun Nov 19 19:30:23 2023 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 4SYLMN2rn3z51DRx; Sun, 19 Nov 2023 19:30:24 +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 4SYLMN0fQHz4YKW; Sun, 19 Nov 2023 19:30:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700422224; 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=j5DQtPbIJVemj5aVUguXQ8njWDGac+jNWyAK3akHIyc=; b=nkQDPK3vbFeDXaeRBjcoRJNU9uEX/gaZ7zH0fafkTMVSA25UmBOEn77Xqp68YsJ2tyoI1z E/2+eqA8nCvXfR6jg5XKxgHLeA8alYLukEQs36Hg73V5wjKBDhs2YD8Ib9+2uoHTeFzzKO dSGlVtE3tmO3EJPzqmSywqSgSaHno9qm89wR/1uUwYu3qD07k37By5HGfgj4crXHSA6kuB wFxieBgCgTbVHs0hCGnZ10jTKr+QYrcgDJStNsoZck2oBNx+j2uI8E3aNE0m6KT1OJxYK4 yO1fBNIg+6kUjQBEA7nMAYZgkH5tNrQzbdRxJ5pLlNqCbG6fW3/KPyKXOPj6Wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700422224; 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=j5DQtPbIJVemj5aVUguXQ8njWDGac+jNWyAK3akHIyc=; b=xGDjwVjunukCxp8+Ok3gixH91nWp/9zKiyQjpah5X938McGsvCAIbWN8Ymfb/+SkYHadmC lxIVrxPZSHqG68qfODXytkw45OsDXlj0dAxiKmuD343VfnQX9SdqmoLTX6KntIsmcQA2MV 0GCdn9hRiFF3C8+dpqiGigjiGzqZr3886lp12FY2+jnZCYH3MEd47RGBMtUDEFGBAg+fG3 AEoplFjhpB8iu7bxRDWgeRXWvz9+GLa4+dEB1RKGnbj/qIJbnMl7JsdYLydUSnFyUULO5C 8y50uzwprht/+OqDSgRERfYXmVPegNCP6HtSXPQ247MQ+ElV0QzQy7as8DsWsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700422224; a=rsa-sha256; cv=none; b=Mm+ALcT5Kme6A2GMNBpgQSVIDyZ+c2n6a5BzNFeBJTgi1GKbRMJHWMD66I2ssuHpPxdMF0 ZOEKHMg+D8ofW3PSoqAYrIrFOmUmNHoY8nsinkf6J9yobEFlmJ3aCywpH9EdascvDvCh+p 0sATKDcsI5koO2BkJNnvJlne+/PDmjo0enVzBV8G4jT+vVHCOmSXktqwK9ycLQv0xndETo Uf60SdifXx44c1yS0FuI4drWNz9/xS6enGXLcWvMvm2vg54UHi3zv91ty91NK6baluntf3 N8ZXuptC1A0EQs7ITioOW9v73lMjWq7Zh/HAfwQKbOfjMJqzd00hYQRDps4hbg== 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 4SYLMM6smGz6yw; Sun, 19 Nov 2023 19:30:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJJUNii027452; Sun, 19 Nov 2023 19:30:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJJUNmd027449; Sun, 19 Nov 2023 19:30:23 GMT (envelope-from git) Date: Sun, 19 Nov 2023 19:30:23 GMT Message-Id: <202311191930.3AJJUNmd027449@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 16c65f7ae15e - stable/13 - if_wg: Missing radix unlock can cause deadlock 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 16c65f7ae15e6ca8b36fc546e038c59270c87ccc Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=16c65f7ae15e6ca8b36fc546e038c59270c87ccc commit 16c65f7ae15e6ca8b36fc546e038c59270c87ccc Author: Aaron LI AuthorDate: 2023-11-11 13:13:08 +0000 Commit: Kristof Provost CommitDate: 2023-11-19 19:29:35 +0000 if_wg: Missing radix unlock can cause deadlock In function 'wg_aip_add()', the error path of returning ENOMEM when (node == NULL) is forgetting to unlock the radix tree, and thus may lead to a deadlock. PR: 275001 Reviewed by: kp MFC after: 1 week (cherry picked from commit dcc4d2939f789a6d1f272ffeab2068ba2b7525ea) --- sys/dev/wg/if_wg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c index e8a258edc4da..6cd5c985a89f 100644 --- a/sys/dev/wg/if_wg.c +++ b/sys/dev/wg/if_wg.c @@ -566,7 +566,7 @@ wg_aip_add(struct wg_softc *sc, struct wg_peer *peer, sa_family_t af, const void node = root->rnh_lookup(&aip->a_addr, &aip->a_mask, &root->rh); if (!node) { free(aip, M_WG); - return (ENOMEM); + ret = ENOMEM; } else if (node != aip->a_nodes) { free(aip, M_WG); aip = (struct wg_aip *)node; From nobody Sun Nov 19 19:30:25 2023 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 4SYLMP25xrz51DPR; Sun, 19 Nov 2023 19:30:25 +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 4SYLMP1gK5z4YbC; Sun, 19 Nov 2023 19:30:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700422225; 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=GRDOuz7EDLkkbSDGXVbYFV+k/Fd+IK/Gu5YKrK4O6gg=; b=GighU/HoephfxWIhBoJD04vPSGxDHHNeKtiCbeGOVMJWdYBARer92KJ+2JljhE28yjWzGa gzVYQn+8w441reX3fQdsQfCefry3iW29o/2ofxtmJXYd9EpDRhZ/3RgjV0maVim7adFZj5 1oguVgDlacmBXSskzwGYT4bURa3rpIpGIii6o2W2uAFX84lq9C4kObqWUFAqSRDOcvlhTp KOnjnLsAoZ3MIakCDYqkexEMUferSxcfnrXetPUMC/7S5MnZrpk19dXurOM3J60H6/TfMU VUfQwrHv68q4HFcgo9MLDRmPzt5M4DVdixeMCJLITwTeiGvKWT6weWhpa/S3ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700422225; 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=GRDOuz7EDLkkbSDGXVbYFV+k/Fd+IK/Gu5YKrK4O6gg=; b=OeKizGFWP+kgoRnCke0DWI6jPrLGkQhm92lA4iInCedd99/ApggWxP7djeVR07/Pl5zaLj 9HEM6xQzAJ3uysasJxWRHLUi55DhlvWGk4dcI+yIMZDBYblXLq7cS+uDr7ojYIIGV9wDrk Oq6Wp6JboLr5XbCmbB0bE6KX64TledXUZOhr4T6AdawqfHuqJ1VMSx2nn/LpHfYUzy2nsz TUExR87eR+LBtikT5r9Nmc80AUN3p5QhTGV7n0ZcAyuaGDCxdITKAPidTD8IqE1LBv+9tV nEem8yCj7SLmZW7+o5eS+vGMbV8DPzkBkg6+NeslZxxoadZWIwhxLR2TJdNfCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700422225; a=rsa-sha256; cv=none; b=N0ADn3K4mlsjc9YA9X9T6hPQZFPwowySAAnt5l8zKeqACSuTd51HvHtM1mK/1Cp8yrecY1 LgQKTfOECzp6MJ7Z7qShQGJHpq5tqs3DgnkkHnVTDCxcnPfi7L1/z27M3gbIw9/jPFU9Ct 53uqkRq95yiEqHwEBrA9MLAhCO4ThMxa0AQp8GTMjJYSqD8s+m9p6WX85bPOZoucpIbC0d tcQQ/ArFcsMC/gGb/EQ79Dw2odR59DY50W3oZuVcWm6wcclIGxGXb9lS1nzy1StnLWUBB/ o1M8pWbLVc3McXUEdpwo+Ewt821HesQzXPoV9F69NfFydVR5ZCX89FwsJ8zMmA== 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 4SYLMP0nG9z6lc; Sun, 19 Nov 2023 19:30:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJJUPEl027500; Sun, 19 Nov 2023 19:30:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJJUPHq027497; Sun, 19 Nov 2023 19:30:25 GMT (envelope-from git) Date: Sun, 19 Nov 2023 19:30:25 GMT Message-Id: <202311191930.3AJJUPHq027497@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 0a97a28c6c9f - stable/13 - netstat: fix missing tab in icmp6 output 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0a97a28c6c9f00997733bebd241403097f533404 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0a97a28c6c9f00997733bebd241403097f533404 commit 0a97a28c6c9f00997733bebd241403097f533404 Author: Kristof Provost AuthorDate: 2023-11-12 17:23:04 +0000 Commit: Kristof Provost CommitDate: 2023-11-19 19:29:44 +0000 netstat: fix missing tab in icmp6 output PR: 275044 Submitted by: sigsys@gmail.com Reviewed by: kp MFC after: 1 week (cherry picked from commit 4b5634f4e56ddc0554c5ebba610d45eb48b9210d) --- usr.bin/netstat/inet6.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/netstat/inet6.c b/usr.bin/netstat/inet6.c index b88e84ecc564..9141cca191ee 100644 --- a/usr.bin/netstat/inet6.c +++ b/usr.bin/netstat/inet6.c @@ -992,7 +992,7 @@ icmp6_stats(u_long off, const char *name, int af1 __unused, int proto __unused) "{N:/bad checksum%s}\n"); p(icp6s_badlen, "\t{:dropped-bad-length/%ju} " "{N:/message%s with bad length}\n"); - p(icp6s_dropped, "{:dropped-no-entry/%ju} " + p(icp6s_dropped, "\t{:dropped-no-entry/%ju} " "{N:/total packet%s dropped due to failed NDP resolution}\n"); #define NELEM (int)(sizeof(icmp6stat.icp6s_inhist)/sizeof(icmp6stat.icp6s_inhist[0])) for (first = 1, i = 0; i < NELEM; i++) From nobody Sun Nov 19 21:03:26 2023 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 4SYNQk6s0Tz51Kqg; Sun, 19 Nov 2023 21:03:26 +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 4SYNQk58Qjz3MGx; Sun, 19 Nov 2023 21:03:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700427806; 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=XZ7MJQoCF/wGVLfRWh380HJ6W8HgfQSWNSRCYOVSP9w=; b=g8QdgyRH7Xq8EmJf5NySN1T9tCzK6EPGwBGFIBstcjff2nix2wrsuF13mE7hmirD78ud2J g1FO7iJuOFC/ohkQQIh8Pki3c+4/ZPZ8AI/nrZfdkQUV3OiQjksiMm+y26Nxm3IkYcJzqX RKD9S23LJoEZHePDnH4/wzXFeBamv3aTqRJkXgtmBs+tG0drEFNuzhtmFuzLY7JBGjMGa/ wc5XyL2KHi1uTvgl1irYgIH2NWnhglB9wsk6MWQWdrs62IVnHz3RxjxoJIiYAQZ1VA2Rjq nAK3Wbkrqn8zrMlGl6aWmkJXOpcMcqXpvSz37I05SO7J3CXt2QNuB60FKFrMNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700427806; 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=XZ7MJQoCF/wGVLfRWh380HJ6W8HgfQSWNSRCYOVSP9w=; b=c0oeMictE3ZuwDC3phZpRZCJNGZU7NFOHYgnqcKveX9ota2Mfo/HhdmMWpTIJZ1kmYqZJc 9t4FHAeCJXf1bObYpnM6CmDgnrfL6sv2Ue5VP95tltUZH1Qi2wVsXEVG+AajRA8oH/XCGT aPE0gF34Pde5my25y5nvxpS8niMbkV1G1JaL4TR6t2mAgJ28xQYx/reOPZEQDJEMTro0Ci 56FqWaWg+nZE5fQ19z1jXLDTWmKuqjIPGXVl++Pq2j2NdQ9dhfj2crD0XySCTdpveDd5c2 YCmNa1OHhkZNB8s3DppblHEZLwGbS+N2VkFfp9ijmRWHtu8w5uMAM+kefSyJfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700427806; a=rsa-sha256; cv=none; b=c16VKexa5rat3aaj1L7SUfjBRYY/h6gULPiYglJjQUd1403LezL+JfzHHRJxw9JBqjYn2a kMuhFFR5zlg0ef01Rt6+X0duZ6taf50yzYeQU6FKejTSDnj+a+xkojUuoSF6mPEAgM1dQ9 A21mwshIVm4rPDqpZ0gsvR8t4ecJJ3Bl84/6bvc+9IUBR3U2/uD6H0sKNctlStrgDSrRxV YrJtfAT5gECz7eW7qa8WyJESORNt4NKkQ4da2+FCCNQazjj4AKZlbTcvAIfKYFNNqlwTQH 6/WYbpLAWNTlI20GYD2vuaA98Lqz7hr1B2tNthHHGWcYP9u1LgJgyunleuMh6w== 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 4SYNQk4GQRz9KT; Sun, 19 Nov 2023 21:03:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJL3Qg1085326; Sun, 19 Nov 2023 21:03:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJL3Q7N085323; Sun, 19 Nov 2023 21:03:26 GMT (envelope-from git) Date: Sun, 19 Nov 2023 21:03:26 GMT Message-Id: <202311192103.3AJL3Q7N085323@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alfredo Dal'Ava Junior" Subject: git: 91e53779b4fc - stable/14 - powerpc: Implement fpu_kern_enter/fpu_kern_leave 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: alfredo X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 91e53779b4fc39e755a03190f785ce0cf3f83eb7 Auto-Submitted: auto-generated The branch stable/14 has been updated by alfredo: URL: https://cgit.FreeBSD.org/src/commit/?id=91e53779b4fc39e755a03190f785ce0cf3f83eb7 commit 91e53779b4fc39e755a03190f785ce0cf3f83eb7 Author: Shawn Anastasio AuthorDate: 2023-09-17 14:40:48 +0000 Commit: Alfredo Dal'Ava Junior CommitDate: 2023-11-19 20:55:24 +0000 powerpc: Implement fpu_kern_enter/fpu_kern_leave Summary: Provide an implementation of fpu_kern_enter/fpu_kern_leave for PPC to enable FPU, VSX, and Altivec usage in-kernel. The functions currently only support FPU_KERN_NOCTX, but this is sufficient for ossl(1) and many other users of the API. This patchset has been tested on powerpc64le using a modified version of the in-tree tools/tools/crypto/cryptocheck.c tool to check for FPU/Vec register clobbering along with a follow-up patch to enable ossl(4) on powerpc64*. Reviewed by: jhibbits MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D41540 Relnotes: yes (cherry picked from commit a6662c37b6ffee46e18be5f7570149edc64c1d0b) --- share/man/man9/fpu_kern.9 | 5 +- sys/powerpc/include/altivec.h | 2 + sys/powerpc/include/fpu.h | 20 ++++++ sys/powerpc/include/pcb.h | 7 ++- sys/powerpc/powerpc/altivec.c | 34 +++++++++- sys/powerpc/powerpc/exec_machdep.c | 21 +++---- sys/powerpc/powerpc/fpu.c | 125 +++++++++++++++++++++++++++++++++++++ sys/sys/param.h | 2 +- 8 files changed, 199 insertions(+), 17 deletions(-) diff --git a/share/man/man9/fpu_kern.9 b/share/man/man9/fpu_kern.9 index c9dd58e96adf..92dc0eaa7e17 100644 --- a/share/man/man9/fpu_kern.9 +++ b/share/man/man9/fpu_kern.9 @@ -185,7 +185,8 @@ and false otherwise. .Sh NOTES The .Nm -is currently implemented only for the i386, amd64, and arm64 architectures. +is currently implemented only for the i386, amd64, arm64, and powerpc +architectures. .Pp There is no way to handle floating point exceptions raised from kernel mode. @@ -205,6 +206,8 @@ facitily and this manual page were written by .An Konstantin Belousov Aq Mt kib@FreeBSD.org . The arm64 support was added by .An Andrew Turner Aq Mt andrew@FreeBSD.org . +The powerpc support was added by +.An Shawn Anastasio Aq Mt sanastasio@raptorengineering.com . .Sh BUGS .Fn fpu_kern_leave should probably have type diff --git a/sys/powerpc/include/altivec.h b/sys/powerpc/include/altivec.h index 581a568b7034..e5151529f698 100644 --- a/sys/powerpc/include/altivec.h +++ b/sys/powerpc/include/altivec.h @@ -35,5 +35,7 @@ void enable_vec(struct thread *); void save_vec(struct thread *); void save_vec_nodrop(struct thread *); +void enable_vec_kern(void); +void disable_vec(struct thread *td); #endif /* _MACHINE_ALTIVEC_H_ */ diff --git a/sys/powerpc/include/fpu.h b/sys/powerpc/include/fpu.h index 30df3a470b09..aa5640ea31fb 100644 --- a/sys/powerpc/include/fpu.h +++ b/sys/powerpc/include/fpu.h @@ -76,6 +76,26 @@ void save_fpu(struct thread *); void save_fpu_nodrop(struct thread *); void cleanup_fpscr(void); u_int get_fpu_exception(struct thread *); +void enable_fpu_kern(void); +void disable_fpu(struct thread *td); + +/* + * Flags for fpu_kern_alloc_ctx(), fpu_kern_enter() and fpu_kern_thread(). + */ +#define FPU_KERN_NORMAL 0x0000 +#define FPU_KERN_NOWAIT 0x0001 +#define FPU_KERN_KTHR 0x0002 +#define FPU_KERN_NOCTX 0x0004 + +struct fpu_kern_ctx; + +struct fpu_kern_ctx *fpu_kern_alloc_ctx(u_int flags); +void fpu_kern_free_ctx(struct fpu_kern_ctx *ctx); +void fpu_kern_enter(struct thread *td, struct fpu_kern_ctx *ctx, + u_int flags); +int fpu_kern_leave(struct thread *td, struct fpu_kern_ctx *ctx); +int fpu_kern_thread(u_int flags); +int is_fpu_kern_thread(u_int flags); #endif /* _KERNEL */ diff --git a/sys/powerpc/include/pcb.h b/sys/powerpc/include/pcb.h index e5e6e3223406..050ada6b0f64 100644 --- a/sys/powerpc/include/pcb.h +++ b/sys/powerpc/include/pcb.h @@ -48,7 +48,7 @@ struct pcb { register_t pcb_toc; /* toc pointer */ register_t pcb_lr; /* link register */ register_t pcb_dscr; /* dscr value */ - register_t pcb_fscr; + register_t pcb_fscr; register_t pcb_tar; struct pmap *pcb_pm; /* pmap of our vmspace */ jmp_buf *pcb_onfault; /* For use during @@ -56,11 +56,14 @@ struct pcb { int pcb_flags; #define PCB_FPU 0x1 /* Process uses FPU */ #define PCB_FPREGS 0x2 /* Process had FPU registers initialized */ -#define PCB_VEC 0x4 /* Process had Altivec initialized */ +#define PCB_VEC 0x4 /* Process uses Altivec */ #define PCB_VSX 0x8 /* Process had VSX initialized */ #define PCB_CDSCR 0x10 /* Process had Custom DSCR initialized */ #define PCB_HTM 0x20 /* Process had HTM initialized */ #define PCB_CFSCR 0x40 /* Process had FSCR updated */ +#define PCB_KERN_FPU 0x80 /* Kernel is using FPU/Vector unit */ +#define PCB_KERN_FPU_NOSAVE 0x100 /* FPU/Vec state not saved for kernel use */ +#define PCB_VECREGS 0x200 /* Process had Altivec registers initialized */ struct fpu { union { #if _BYTE_ORDER == _BIG_ENDIAN diff --git a/sys/powerpc/powerpc/altivec.c b/sys/powerpc/powerpc/altivec.c index 16e4477703d2..5072cf3dc6f6 100644 --- a/sys/powerpc/powerpc/altivec.c +++ b/sys/powerpc/powerpc/altivec.c @@ -105,10 +105,11 @@ enable_vec(struct thread *td) * the thread, initialise the vector registers and VSCR to 0, and * set the flag to indicate that the vector unit is in use. */ + pcb->pcb_flags |= PCB_VEC; tf->srr1 |= PSL_VEC; - if (!(pcb->pcb_flags & PCB_VEC)) { + if (!(pcb->pcb_flags & PCB_VECREGS)) { memset(&pcb->pcb_vec, 0, sizeof pcb->pcb_vec); - pcb->pcb_flags |= PCB_VEC; + pcb->pcb_flags |= PCB_VECREGS; } /* @@ -170,3 +171,32 @@ save_vec_nodrop(struct thread *td) if (td == PCPU_GET(vecthread)) save_vec_int(td); } + +void +enable_vec_kern(void) +{ + mtmsr(mfmsr() | PSL_VEC); +} + +void +disable_vec(struct thread *td) +{ + register_t msr; + struct pcb *pcb; + struct trapframe *tf; + + pcb = td->td_pcb; + tf = trapframe(td); + + /* Disable PSL_VEC in kernel (if enabled) */ + msr = mfmsr() & ~PSL_VEC; + isync(); + mtmsr(msr); + + /* + * Disable PSL_VEC in userspace. It will be re-enabled when + * an Altivec instruction is executed. + */ + tf->srr1 &= ~PSL_VEC; + pcb->pcb_flags &= ~PCB_VEC; +} diff --git a/sys/powerpc/powerpc/exec_machdep.c b/sys/powerpc/powerpc/exec_machdep.c index b42978ff94a8..05d3a3cf79ba 100644 --- a/sys/powerpc/powerpc/exec_machdep.c +++ b/sys/powerpc/powerpc/exec_machdep.c @@ -441,12 +441,14 @@ grab_mcontext(struct thread *td, mcontext_t *mcp, int flags) * Repeat for Altivec context */ - if (pcb->pcb_flags & PCB_VEC) { - KASSERT(td == curthread, - ("get_mcontext: fp save not curthread")); - critical_enter(); - save_vec(td); - critical_exit(); + if (pcb->pcb_flags & PCB_VECREGS) { + if (pcb->pcb_flags & PCB_VEC) { + KASSERT(td == curthread, + ("get_mcontext: altivec save not curthread")); + critical_enter(); + save_vec(td); + critical_exit(); + } mcp->mc_flags |= _MC_AV_VALID; mcp->mc_vscr = pcb->pcb_vec.vscr; mcp->mc_vrsave = pcb->pcb_vec.vrsave; @@ -543,11 +545,8 @@ set_mcontext(struct thread *td, mcontext_t *mcp) } if (mcp->mc_flags & _MC_AV_VALID) { - if ((pcb->pcb_flags & PCB_VEC) != PCB_VEC) { - critical_enter(); - enable_vec(td); - critical_exit(); - } + /* enable_vec() will happen lazily on a fault */ + pcb->pcb_flags |= PCB_VECREGS; pcb->pcb_vec.vscr = mcp->mc_vscr; pcb->pcb_vec.vrsave = mcp->mc_vrsave; memcpy(pcb->pcb_vec.vr, mcp->mc_avec, sizeof(mcp->mc_avec)); diff --git a/sys/powerpc/powerpc/fpu.c b/sys/powerpc/powerpc/fpu.c index cc1381046b4b..8f5df2f7d576 100644 --- a/sys/powerpc/powerpc/fpu.c +++ b/sys/powerpc/powerpc/fpu.c @@ -42,6 +42,7 @@ #include #include #include +#include static void save_fpu_int(struct thread *td) @@ -259,3 +260,127 @@ get_fpu_exception(struct thread *td) return ucode; } +void +enable_fpu_kern(void) +{ + register_t msr; + + msr = mfmsr() | PSL_FP; + + if (cpu_features & PPC_FEATURE_HAS_VSX) + msr |= PSL_VSX; + + mtmsr(msr); +} + +void +disable_fpu(struct thread *td) +{ + register_t msr; + struct pcb *pcb; + struct trapframe *tf; + + pcb = td->td_pcb; + tf = trapframe(td); + + /* Disable FPU in kernel (if enabled) */ + msr = mfmsr() & ~(PSL_FP | PSL_VSX); + isync(); + mtmsr(msr); + + /* + * Disable FPU in userspace. It will be re-enabled when + * an FP or VSX instruction is executed. + */ + tf->srr1 &= ~(PSL_FP | PSL_VSX); + pcb->pcb_flags &= ~(PCB_FPU | PCB_VSX); +} + +#ifndef __SPE__ +/* + * XXX: Implement fpu_kern_alloc_ctx/fpu_kern_free_ctx once fpu_kern_enter and + * fpu_kern_leave can handle !FPU_KERN_NOCTX. + */ +struct fpu_kern_ctx { +#define FPU_KERN_CTX_DUMMY 0x01 /* avoided save for the kern thread */ +#define FPU_KERN_CTX_INUSE 0x02 + uint32_t flags; +}; + +void +fpu_kern_enter(struct thread *td, struct fpu_kern_ctx *ctx, u_int flags) +{ + struct pcb *pcb; + + pcb = td->td_pcb; + + KASSERT((flags & FPU_KERN_NOCTX) != 0 || ctx != NULL, + ("ctx is required when !FPU_KERN_NOCTX")); + KASSERT(ctx == NULL || (ctx->flags & FPU_KERN_CTX_INUSE) == 0, + ("using inuse ctx")); + KASSERT((pcb->pcb_flags & PCB_KERN_FPU_NOSAVE) == 0, + ("recursive fpu_kern_enter while in PCB_KERN_FPU_NOSAVE state")); + + if ((flags & FPU_KERN_NOCTX) != 0) { + critical_enter(); + + if (pcb->pcb_flags & PCB_FPU) { + save_fpu(td); + pcb->pcb_flags |= PCB_FPREGS; + } + enable_fpu_kern(); + + if (pcb->pcb_flags & PCB_VEC) { + save_vec(td); + pcb->pcb_flags |= PCB_VECREGS; + } + enable_vec_kern(); + + pcb->pcb_flags |= PCB_KERN_FPU | PCB_KERN_FPU_NOSAVE; + return; + } + + KASSERT(0, ("fpu_kern_enter with !FPU_KERN_NOCTX not implemented!")); +} + +int +fpu_kern_leave(struct thread *td, struct fpu_kern_ctx *ctx) +{ + struct pcb *pcb; + + pcb = td->td_pcb; + + if ((pcb->pcb_flags & PCB_KERN_FPU_NOSAVE) != 0) { + KASSERT(ctx == NULL, ("non-null ctx after FPU_KERN_NOCTX")); + KASSERT(PCPU_GET(fpcurthread) == NULL, + ("non-NULL fpcurthread for PCB_FP_NOSAVE")); + CRITICAL_ASSERT(td); + + /* Disable FPU, VMX, and VSX */ + disable_fpu(td); + disable_vec(td); + + pcb->pcb_flags &= ~PCB_KERN_FPU_NOSAVE; + + critical_exit(); + } else { + KASSERT(0, ("fpu_kern_leave with !FPU_KERN_NOCTX not implemented!")); + } + + pcb->pcb_flags &= ~PCB_KERN_FPU; + + return 0; +} + +int +is_fpu_kern_thread(u_int flags __unused) +{ + struct pcb *curpcb; + + if ((curthread->td_pflags & TDP_KTHREAD) == 0) + return (0); + curpcb = curthread->td_pcb; + return ((curpcb->pcb_flags & PCB_KERN_FPU) != 0); +} + +#endif /* !__SPE__ */ diff --git a/sys/sys/param.h b/sys/sys/param.h index e47588c7b879..438b4808817b 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -75,7 +75,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1400500 +#define __FreeBSD_version 1400501 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Sun Nov 19 21:03:27 2023 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 4SYNQm27Gdz51L4N; Sun, 19 Nov 2023 21:03: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 4SYNQl6Bq5z3M5d; Sun, 19 Nov 2023 21:03:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700427807; 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=q0mkvE9HRAbxRfeN5BXqtgglo65EZepE3koGJlY8uII=; b=LbitBKJhJVwLU/JsQrmiPlG2r2YyzuaMVwmAO8whf21Ww8nDKO59wHapPp5crlBIRsNqko 3R76nZCJ8fL+Cu+J0tDCzw06SyEV1zMtkmi+LpiJmoI8bEXHYD1ij/CGawhtLVaJl72qLh KeUGq1uM1ULTsoaM6mAwWldlYj4zErmWVLvrcDeSNOjLjVStI0aIXSv8p8cGIVcetq1AR3 KYoeULWGIEsj/Xu10E/0q+a3VVUWc1TmK8j0PNsfQWwqMZmZ1Wn6oxjio6raV+MRavvzNT HSbSiGsYKramuXgL6k5wPE8rE1NkO0ldnZcwEycyUDU6HyBslgO6YAIfErwiYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700427807; 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=q0mkvE9HRAbxRfeN5BXqtgglo65EZepE3koGJlY8uII=; b=F2o8VApdOnxpFrS8d+OgCC2dGAys3iFRYuVFeizShaiX8bimeqZQkNraASplwKRXYTUUcP afiyhdEVaoWo4rMlK2XpClifeF1NZiWMSSrx7rLWD9Wn5xUFrrgfUU/QIipL3iQKX9a1iI YrbGSyWY8rcw5c/12DFrV5HasGp8uFQfVT2/495lzpd/Z0kKQuTWswZY+0/xJxt3o2AkL8 WOCsiVPF/YDmZ8UPRkjcn74KuUKhhzMBpsGpJDLFv/qdZ58RoJUt0lCyvIvs7OrpTDwJ2T 5waoaZIadDlo62JNWzkXhqbSoiAMsP888Z97IeZt675LyP7c42VFbFkIsVl2tg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700427807; a=rsa-sha256; cv=none; b=ZdBvyYxbcJid157CKekWsTO6IkpJLXt5VZ9cBOuugpodzcndulYei+Znz9xLbHtSRT9oPa P6ndz9wBtnh6GwtSHDjleceKiPQa8VCWBUz2WXXAp60JaMqZsjDakuyO6Bs2m/tk49rEOk Z+t4P08rd5WFsxKAYPSAAgxkTk1fUUZbLelcdbqDEhFSQc3OXnXqHz6H2SbyZ6d/95chOt 46kA9p68d0PI+Q7lbBBZNG6/SD1GhpRTC/DkZGj747+nBq2hMJbqkT7Kue2Ff9RAK+X4a6 kYpISS9m+u/Os2chxK1NQ/0XFXLsRnfpLp7oQ0aPjQDa7uXHcIGvvdZ3v57Rtg== 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 4SYNQl5J3Lz9T9; Sun, 19 Nov 2023 21:03:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJL3R4H085378; Sun, 19 Nov 2023 21:03:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJL3R3H085375; Sun, 19 Nov 2023 21:03:27 GMT (envelope-from git) Date: Sun, 19 Nov 2023 21:03:27 GMT Message-Id: <202311192103.3AJL3R3H085375@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Alfredo Dal'Ava Junior" Subject: git: 62646709fd67 - stable/14 - powerpc: Fix inconsistent Altivec handling in set_mcontext 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: alfredo X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 62646709fd67d239bba13cb1c59f3720c6f59a3d Auto-Submitted: auto-generated The branch stable/14 has been updated by alfredo: URL: https://cgit.FreeBSD.org/src/commit/?id=62646709fd67d239bba13cb1c59f3720c6f59a3d commit 62646709fd67d239bba13cb1c59f3720c6f59a3d Author: Shawn Anastasio AuthorDate: 2023-11-03 17:40:18 +0000 Commit: Alfredo Dal'Ava Junior CommitDate: 2023-11-19 20:57:57 +0000 powerpc: Fix inconsistent Altivec handling in set_mcontext When support for fpu_kern_enter/fpu_kern_leave was added to powerpc, set_mcontext was updated to handle Altivec state restoration in the same way that the FPU state by lazily restoring the context on the first trap. However the function was not correctly updated to unconditionally clear the PCB_VEC and PSL_VEC bits from the pcb's flags and srr1 respectively which can sometimes result in a mismatch between a process's MSR[VEC] state and its pcb_flags. Fix this by simply clearing the VEC flags unconditionally in set_mcontext, which is already done for FPU/VSX. Fixes: a6662c37b6ffe ("powerpc: Implement fpu_kern_enter/fpu_kern_leave") Reviewed by: alfredo MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D42417 (cherry picked from commit 270f75cf3433807d124cdf1f0072ab801532f425) --- sys/powerpc/powerpc/exec_machdep.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/powerpc/powerpc/exec_machdep.c b/sys/powerpc/powerpc/exec_machdep.c index 05d3a3cf79ba..0b1751a76454 100644 --- a/sys/powerpc/powerpc/exec_machdep.c +++ b/sys/powerpc/powerpc/exec_machdep.c @@ -528,8 +528,8 @@ set_mcontext(struct thread *td, mcontext_t *mcp) * Additionally, ensure VSX is disabled as well, as it is illegal * to leave it turned on when FP or VEC are off. */ - tf->srr1 &= ~(PSL_FP | PSL_VSX); - pcb->pcb_flags &= ~(PCB_FPU | PCB_VSX); + tf->srr1 &= ~(PSL_FP | PSL_VSX | PSL_VEC); + pcb->pcb_flags &= ~(PCB_FPU | PCB_VSX | PCB_VEC); if (mcp->mc_flags & _MC_FP_VALID) { /* enable_fpu() will happen lazily on a fault */ @@ -550,9 +550,6 @@ set_mcontext(struct thread *td, mcontext_t *mcp) pcb->pcb_vec.vscr = mcp->mc_vscr; pcb->pcb_vec.vrsave = mcp->mc_vrsave; memcpy(pcb->pcb_vec.vr, mcp->mc_avec, sizeof(mcp->mc_avec)); - } else { - tf->srr1 &= ~PSL_VEC; - pcb->pcb_flags &= ~PCB_VEC; } return (0); From nobody Sun Nov 19 21:33:31 2023 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 4SYP5R72tyz51NCc; Sun, 19 Nov 2023 21:33:31 +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 4SYP5R6LyMz3P7C; Sun, 19 Nov 2023 21:33:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700429611; 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=BMjRpiToPrP6fKeWsuiEThirW+crKQWXeZv14g4PCpw=; b=AutxSK+9f4xfDzyE3VhvVK79mdiHTcr5gcM/s4CuweY8XJ8IHeq7/5GJNmMvXf2VfoIAGR Yu9YQgJziJCMPvI39UFt2eoJYr47jHknz4vXeN+CZDScwfgzNHX3E2UJGsM3jKCeydmahu vdaNJyoUtjNr8YFhal3AJbvz6/VKtN/qhqQRaE2JGUgFxQ0UO57qinf33qRVi5aMcYGGkU EsfQqLymh8vxklF8FwHw8g+79lk1vuahpznvViU+WCrUUaSfI+H5joAZ7T58szIRYVH+ry 3Xl8XFmEuG+YDdgW15Es4Dh4PmdeIinJ5c5NMuE5ubNpVSd/Vu6rgWCEM+CxZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700429611; 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=BMjRpiToPrP6fKeWsuiEThirW+crKQWXeZv14g4PCpw=; b=PH74IAGuCklM6wkvtiDJse0sNeuJDIjnmDPk3W+Ub9mfMGns3qkgBSVv8iY7P4qJ26W/P4 2xpkQ9dUuYYidTN+3wAr6e8RTJP8VNbxVRd+OW0ynqKEfifBnrkf4QRHlyETd9t9KjAu99 XNbKn9dbwmND6uuLSU2K9Zc43DGVK6WOf+/wBVkIqNfhs8DG9xXGtdaR9UrG2o9OVRRWu0 Np5OlZc8/0SkqSfj+JkSzbHprbCtjQptDFXlAizZtuO3nBYbKiHg52K/1mKBUg5jZ5MkKq 0FQ5+00HsxUvSWrun5pZme6r8QMVUPQ+7Gq1JuSpm/zO+w0nPiVgDksY5t91gw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700429611; a=rsa-sha256; cv=none; b=cPBjzRj1H5AzSfILmuZ/MSHTdNp1Mc6ETBTi9+dk1kAX0rN030RnMO4c+EVFHyfnWjYXiY ooksamXPAuMCmvM8kBTknY0oHhqDhWlXQ3NhVpqQzgamqaNgDSiAqx57sltGSNx7v9tPxH /aDAFnt0AfCcE5dFz1z+SIKwWhlT/k7JpAOTzKb510IvmbkEKCp2kvXJRI5+opum7JvZVV oC1mHdZJmJZLxnX9l24CGYidaMrT4/Tn3ndG+uNoXtae1pdgIDa+7ZnQFjYrUu0+tbunRW 8Z/lw6vlsZ2Pm34cCDWAy+EC6L8+aDUaKg+xa/jobHoKWZ5W6OCZO7La3UN7bw== 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 4SYP5R5PQfzB89; Sun, 19 Nov 2023 21:33:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJLXVvo034873; Sun, 19 Nov 2023 21:33:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJLXVQe034870; Sun, 19 Nov 2023 21:33:31 GMT (envelope-from git) Date: Sun, 19 Nov 2023 21:33:31 GMT Message-Id: <202311192133.3AJLXVQe034870@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 99c79cab4227 - main - if_tuntap: add LRO support to tap devices 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 99c79cab422705f92f05a2924a29bdf823372ebf Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=99c79cab422705f92f05a2924a29bdf823372ebf commit 99c79cab422705f92f05a2924a29bdf823372ebf Author: Michael Tuexen AuthorDate: 2023-11-19 14:57:53 +0000 Commit: Michael Tuexen CommitDate: 2023-11-19 14:57:53 +0000 if_tuntap: add LRO support to tap devices This allows testing the LRO code with packetdrill in local mode. Reviewed by: rscheff MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D42548 --- sys/net/if_tuntap.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/sys/net/if_tuntap.c b/sys/net/if_tuntap.c index 8881bbaec070..5a4231604f5a 100644 --- a/sys/net/if_tuntap.c +++ b/sys/net/if_tuntap.c @@ -97,6 +97,7 @@ #endif #include #include +#include #include #include #include @@ -144,6 +145,8 @@ struct tuntap_softc { struct ether_addr tun_ether; /* remote address */ int tun_busy; /* busy count */ int tun_vhdrlen; /* virtio-net header length */ + struct lro_ctrl tun_lro; /* for TCP LRO */ + bool tun_lro_ready; /* TCP LRO initialized */ }; #define TUN2IFP(sc) ((sc)->tun_ifp) @@ -978,7 +981,8 @@ tuncreate(struct cdev *dev) IFQ_SET_MAXLEN(&ifp->if_snd, ifqmaxlen); ifp->if_capabilities |= IFCAP_LINKSTATE; if ((tp->tun_flags & TUN_L2) != 0) - ifp->if_capabilities |= IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; + ifp->if_capabilities |= + IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6 | IFCAP_LRO; ifp->if_capenable |= IFCAP_LINKSTATE; if ((tp->tun_flags & TUN_L2) != 0) { @@ -1175,6 +1179,12 @@ tundtor(void *data) (l2tun && (ifp->if_flags & IFF_LINK0) != 0)) goto out; + if (l2tun && tp->tun_lro_ready) { + TUNDEBUG (ifp, "LRO disabled\n"); + tcp_lro_free(&tp->tun_lro); + tp->tun_lro_ready = false; + } + if (ifp->if_flags & IFF_UP) { TUN_UNLOCK(tp); if_down(ifp); @@ -1219,6 +1229,14 @@ tuninit(struct ifnet *ifp) getmicrotime(&ifp->if_lastchange); TUN_UNLOCK(tp); } else { + if (tcp_lro_init(&tp->tun_lro) == 0) { + TUNDEBUG(ifp, "LRO enabled\n"); + tp->tun_lro.ifp = ifp; + tp->tun_lro_ready = true; + } else { + TUNDEBUG(ifp, "Could not enable LRO\n"); + tp->tun_lro_ready = false; + } ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; TUN_UNLOCK(tp); /* attempt to start output */ @@ -1765,6 +1783,7 @@ tunwrite_l2(struct tuntap_softc *tp, struct mbuf *m, struct epoch_tracker et; struct ether_header *eh; struct ifnet *ifp; + int result; ifp = TUN2IFP(tp); @@ -1820,7 +1839,15 @@ tunwrite_l2(struct tuntap_softc *tp, struct mbuf *m, /* Pass packet up to parent. */ CURVNET_SET(ifp->if_vnet); NET_EPOCH_ENTER(et); - (*ifp->if_input)(ifp, m); + if (tp->tun_lro_ready && ifp->if_capenable & IFCAP_LRO) { + result = tcp_lro_rx(&tp->tun_lro, m, 0); + TUNDEBUG(ifp, "tcp_lro_rx() returned %d\n", result); + } else + result = TCP_LRO_CANNOT; + if (result == 0) + tcp_lro_flush_all(&tp->tun_lro); + else + (*ifp->if_input)(ifp, m); NET_EPOCH_EXIT(et); CURVNET_RESTORE(); /* ibytes are counted in parent */ From nobody Sun Nov 19 22:25:51 2023 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 4SYQFr0Fflz51RBh; Sun, 19 Nov 2023 22:25:52 +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 4SYQFq6rMfz3Tjm; Sun, 19 Nov 2023 22:25:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700432752; 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=m5OQvLSa2VJjiac7R/DY7/8vkQiDerQAlv7ZupT79f8=; b=um/cZ42zN5waot7SH/sWWo4yxP/Uzeuszeaoalt27JJqx+uUO7AkXlg7jnRtvVYhiusVnS CjGFIgN6SU14CqvzuA5Cb98+h6xxe8gi1ATE9wD7Oim15N4pCzcZ2gZFEAAWoTaTVXzqvQ a/8YogN7z5i1TU795NGLx1Of23Tp/mggHBVZHqlMv7IwHqfvJD7LVqW+SKTw2j4GXpYCkR MKuoSc7Pbq7L05oNvfjBJifoIMcWpBCwvYLvaXVkfOlJQA8fFX0mNFYB+KCcQ4nR+H9JFq EwdEtS3PrTxjtsM4KlnmtQQdSoeTQKwAwFWjdfTg4cdWqNlBZkc9+O20oM2Arg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700432752; 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=m5OQvLSa2VJjiac7R/DY7/8vkQiDerQAlv7ZupT79f8=; b=k8tRl6Yoyh4ltCL/lH/Yy14x6Ey7Ko8wfkMpLxzonAD3DuupBTmVXv5/zmjC82LUKQVP8p hO2/3gtWqfjvpLguzrd43rJWJIwaLklwmKB9H3C66VpGGM+Jp5D+cnVu3DKlxdrDIU3Fv7 jKgAvf41tIeLfvky/It6fRPX0iShEnpP0n0UE8q9QQOkl3+o5lx0t/GtT39T62NuDnggnh dtSicHV7Unj5Mn4m0GOG1RxwgMXV/YgmxAHWWQjw95c6KpygC1rnRIotfP206ZituM7uvQ qMn3SGI5AT5hKSHMZZ1+qvOFK3dv6nv9g/0i81seD46orYAvgUTos8YqeBsBzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700432752; a=rsa-sha256; cv=none; b=pc2b/cnRaC/TBUmeN9Nx1o8bFTMNN/m+q1lN4XzQ3DgYZOD2CzndJaUunbr7VuW8sueM4/ y3zgZcc6EWDihRaL96CWA+ZKjVfoCRLjq0jc22jcm3KxuplMjkqUEz5nA+X71TzsVXFqrS oV8tX59Lw0jjfRo4q0QhM9mK38W/j2xq701msONXB8cksx9wRa7I4KW9SJAJzYzD6UUkxV sylSfU6g2HA0JNzyf6Q1mV49m3A6xmYJmCGpVxwFe+Z2Ah6zx4Vc4W3OsPuT6xZekCRLeO CqB6Rw3VGT8OXer8j19b+D8BjNbys35TOmrz//4V/DKBze/icthTkkJMA/T0eA== 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 4SYQFq5vn4zCBt; Sun, 19 Nov 2023 22:25:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AJMPpeB019362; Sun, 19 Nov 2023 22:25:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AJMPprx019359; Sun, 19 Nov 2023 22:25:51 GMT (envelope-from git) Date: Sun, 19 Nov 2023 22:25:51 GMT Message-Id: <202311192225.3AJMPprx019359@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 305a2676ae93 - main - vfs: dodge locking for lseek(fd, 0, SEEK_CUR) 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: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 305a2676ae93fb50a623024d51039415521cb2da Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=305a2676ae93fb50a623024d51039415521cb2da commit 305a2676ae93fb50a623024d51039415521cb2da Author: Mateusz Guzik AuthorDate: 2023-11-19 22:23:20 +0000 Commit: Mateusz Guzik CommitDate: 2023-11-19 22:25:45 +0000 vfs: dodge locking for lseek(fd, 0, SEEK_CUR) It is very common and according to dtrace while running poudriere almost all calls with SEEK_CUR pass 0. --- sys/kern/vfs_vnops.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index f81516608eeb..4669296750e4 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -828,6 +828,13 @@ foffset_unlock(struct file *fp, off_t val, int flags) sleepq_broadcast(&fp->f_vnread_flags, SLEEPQ_SLEEP, 0, 0); sleepq_release(&fp->f_vnread_flags); } + +static off_t +foffset_read(struct file *fp) +{ + + return (atomic_load_long(&fp->f_offset)); +} #else off_t foffset_lock(struct file *fp, int flags) @@ -876,6 +883,13 @@ foffset_unlock(struct file *fp, off_t val, int flags) } mtx_unlock(mtxp); } + +static off_t +foffset_read(struct file *fp) +{ + + return (foffset_lock(fp, FOF_NOLOCK)); +} #endif void @@ -2647,8 +2661,19 @@ vn_seek(struct file *fp, off_t offset, int whence, struct thread *td) cred = td->td_ucred; vp = fp->f_vnode; - foffset = foffset_lock(fp, 0); noneg = (vp->v_type != VCHR); + /* + * Try to dodge locking for common case of querying the offset. + */ + if (whence == L_INCR && offset == 0) { + foffset = foffset_read(fp); + if (__predict_false(foffset < 0 && noneg)) { + return (EOVERFLOW); + } + td->td_uretoff.tdu_off = foffset; + return (0); + } + foffset = foffset_lock(fp, 0); error = 0; switch (whence) { case L_INCR: From nobody Mon Nov 20 01:40:19 2023 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 4SYVZC67Gyz51gSd; Mon, 20 Nov 2023 01:40:19 +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 4SYVZC5PQnz4D3d; Mon, 20 Nov 2023 01:40:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444419; 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=2B6s/TCE2tiuO1MZTvQkF1fgCZ4ypzQ8FJPMC10il58=; b=kngW9H4VaJ8iezQ6yD1Z+yOxKzxTIJBznW5WDP1Sonmy95iGVePUlPtcMrkR7bB1EhRtP+ eU3UnJrSxeE3xKzDl5jcyGChjh34MLFQXrUbI+jjFQe6PTYSP6i+VKwMUZfUpDj6Nln2ck 78BpkSoTK/UFLngGIEHBAIxlfIY8jTJNtxY2uP7hYP+mUFk9Q0KBLNbQOVahgKugDzhYyB U15pzcGBg+4wOHGwjUbQLq/FYPP1K0PtR15xhXavMM+i+oKEwszV4JL3Pvg0Rb/KMAKxU1 8cpT8JHZH07w9QTc7fZnUyme/nkhksyCv/SF1Y5LfH3y2t2Y3xL+noOH2LJ8PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444419; 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=2B6s/TCE2tiuO1MZTvQkF1fgCZ4ypzQ8FJPMC10il58=; b=XFjL+hgDM1EeSvesEeAql0Z8i30AhYuYLne3PMX93oJ1UHZXII0WvLaNTAROyRQoML027V VKhZ5bYEWxfxyl4W619qKt85odsVwfER9oV494heabjiNJmcYURlDz2mYYMwSpCb1PEvlR LqU7pzMlTSP5qwwngXcXtERIBPOHEbMHydhDsGIgUO7tnYOWedKvFgUmOytchZPM+LGT7E 83E9ZIpL59qV5bi91H4csDMEU9sLUIpfZz/u6Sx9krN/6gcRTggpQNRl4AxO2hBdkVyCNR jRqIyzznrHqYAfPKiHzKUXmDxcO1RN1GXbSSNZ3fpAZvBIdYAkmRxxP9eAcw/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700444419; a=rsa-sha256; cv=none; b=nCNwfwsVPVA85PBVO3yi/WgngKwyiIcJDTrTniMxdgqBcRSNSy0jWdczGG/C4VstdHMKS3 c3AYOEtZUWIy6ZvhMSY7cDl4u4eXernoINeWW9bgtaVJes4iowOw3lIwjAHDrxLT7RuS/2 p8kuZZhujgv3PzvJJnaybnr2DuOq5FA+Bg9nwoQKqGCDLX6F2vb7AhHh1cELzgPFCUX9Gy nEcdE7pJjZcrliV47dtbz7OsE/CTedOu2gFRHnEOqdU6BWMVYWVV3FFGjF+Buj/SF5/diQ /k1C2agpW/rbZugWdjrV2NDs82OqIb3kR7ghH8kcIlp7H1si2RsGtQH58/6jcQ== 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 4SYVZC4Rk1zY5x; Mon, 20 Nov 2023 01:40:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK1eJJK044299; Mon, 20 Nov 2023 01:40:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK1eJao044296; Mon, 20 Nov 2023 01:40:19 GMT (envelope-from git) Date: Mon, 20 Nov 2023 01:40:19 GMT Message-Id: <202311200140.3AK1eJao044296@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 071364c85081 - stable/14 - reboot(8): adapt for vmmeter v_swappgsin expansion to 64bit 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 071364c85081981b22bbf8651fb5307a543e9de9 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=071364c85081981b22bbf8651fb5307a543e9de9 commit 071364c85081981b22bbf8651fb5307a543e9de9 Author: Konstantin Belousov AuthorDate: 2023-11-13 01:30:53 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-20 01:39:21 +0000 reboot(8): adapt for vmmeter v_swappgsin expansion to 64bit PR: 275048 (cherry picked from commit 194cc45a81f70aa280546b7a5e658028df0303e7) --- sbin/reboot/reboot.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c index 6f656fd5f88c..bcb6c6bde05a 100644 --- a/sbin/reboot/reboot.c +++ b/sbin/reboot/reboot.c @@ -60,7 +60,7 @@ static char sccsid[] = "@(#)reboot.c 8.1 (Berkeley) 6/5/93"; #include static void usage(void) __dead2; -static u_int get_pageins(void); +static uint64_t get_pageins(void); static int dohalt; @@ -70,7 +70,7 @@ main(int argc, char *argv[]) struct utmpx utx; const struct passwd *pw; int ch, howto, i, fd, lflag, nflag, qflag, sverrno, Nflag; - u_int pageins; + uint64_t pageins; const char *user, *kernel = NULL; if (strstr(getprogname(), "halt") != NULL) { @@ -272,10 +272,10 @@ usage(void) exit(1); } -static u_int +static uint64_t get_pageins(void) { - u_int pageins; + uint64_t pageins; size_t len; len = sizeof(pageins); @@ -284,5 +284,5 @@ get_pageins(void) warnx("v_swappgsin"); return (0); } - return pageins; + return (pageins); } From nobody Mon Nov 20 01:40:20 2023 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 4SYVZF0GjMz51gMt; Mon, 20 Nov 2023 01:40:21 +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 4SYVZD6N7Qz4DjJ; Mon, 20 Nov 2023 01:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444420; 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=l4Ic7GHHpwgKO709znKStDzO5yqvsHDtupPtuiKVztA=; b=P0d8dM1a3qAruDMxa/1+Xyq1kGdS29u4ukOvFQTWW23+RHamcyF+ObVQiJMawQ/GfvQnQg HfP1BdihZ8oPMWsFU1m83Q5ZrdxGHrZkSqGGLoyl1MFoTtIcz6ww8cgFzt+8cHhjOCyiCt gYK5Im6n2hdTpew79TrFOjiYiTlsDCNeRCjX0q2CO/XBgukFEpEJdSo5i8PVPF3HRGVqzp IT82ZVXPwZfIL1nTpvKMaPy+gY0fh9szcyCUToegqMk0+Qs2+Lew7out4575m+I45du7WV Sw5CD4UuoJFTwKYOO9e9bylZPUkqAze7/PqVhdMo5/XctR9SYbdSLEkC2bxydg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444420; 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=l4Ic7GHHpwgKO709znKStDzO5yqvsHDtupPtuiKVztA=; b=eM7qlX70mWT9Fc8lzUacrXHV1CCjYWnRHSRc144EYBEP47XwJkSt861OMOjiZ5aDK/t4Ee 0Vn1sQ5MD78XRdCyTaQgIIIo/NS/v+qJNSlbdkdkdR+fWDR+lAKKHHc7+VFqrD7WBWjq+T 9IiwuRRubaoTjfN8+SWyyEiBo4JQMKzSR2Ehz1evhwOvoHREOpwSr3ENZ7B8lQv+dWkgiI 8mN+/TkZ0NAMZIMsMEAfAGQjbGjy+5mEQdbT9iqSCoaDsRCck7ioR32O6ZYHMPangjH8SN 77NFhyUzat3AuJYUpt/eZcuQU96gKIj1m8D3MC+QZTaWJbPvcZciCaQWMbPRHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700444420; a=rsa-sha256; cv=none; b=OByWoFaG0ZUzoEhdmRTUUZmIAQjkDfPeXi1eygWY6sMSH8cfLl/zSqfyTk6F648QxZXS7t g2HuBszbYhwN445Q60/tHDthfy/PBKNIi65z44QcZyMKiQJ2d9wDETqV0Ix7qVz6fX22cP WCIr5vEFgP1v/Ul98+o6Jdl7UyqqfJDjNJBzXYcJxlGyhQ4P4n9bplQfh4U7m3G3JkgpnA 8FqyC5v+x6WfSPDmul3rBjMmD8NNat/VFamBKa99SfPK/1U/euMXAhvPGrAEBk5jFYh+ae ZMuh3E1Gm5f5o3piqd8NVkSVY/LQxj0wtmdCDadWOoobB19ztRv9elz43YK6/A== 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 4SYVZD5Qf4zYKv; Mon, 20 Nov 2023 01:40:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK1eKUE044349; Mon, 20 Nov 2023 01:40:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK1eKHR044346; Mon, 20 Nov 2023 01:40:20 GMT (envelope-from git) Date: Mon, 20 Nov 2023 01:40:20 GMT Message-Id: <202311200140.3AK1eKHR044346@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 71c2dedb2106 - stable/14 - reboot(8): print syscall error on sysctl failure 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 71c2dedb2106edb069588ada5999fd01114b0b10 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=71c2dedb2106edb069588ada5999fd01114b0b10 commit 71c2dedb2106edb069588ada5999fd01114b0b10 Author: Konstantin Belousov AuthorDate: 2023-11-13 01:46:51 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-20 01:39:21 +0000 reboot(8): print syscall error on sysctl failure (cherry picked from commit a294b02fbc07fa8466c8fc12311e7d4e92332467) --- sbin/reboot/reboot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c index bcb6c6bde05a..dce747d79b15 100644 --- a/sbin/reboot/reboot.c +++ b/sbin/reboot/reboot.c @@ -281,7 +281,7 @@ get_pageins(void) len = sizeof(pageins); if (sysctlbyname("vm.stats.vm.v_swappgsin", &pageins, &len, NULL, 0) != 0) { - warnx("v_swappgsin"); + warn("v_swappgsin"); return (0); } return (pageins); From nobody Mon Nov 20 01:40:21 2023 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 4SYVZG2BWBz51gFR; Mon, 20 Nov 2023 01:40:22 +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 4SYVZG09s9z4Dbs; Mon, 20 Nov 2023 01:40:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444422; 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=TabtRCP+ZfRV0Ox03fZpCOyLFfmIVNYtVBeoj/uP/Z8=; b=pUdKKMPr83Mq2RPXJ5Nk43K9h6Q2ydZ8j14WMAie7Y/mk5F+1LhTQwICKRe+RMAnjkdeuw Lqxn6DDknql3/TyiV4E3/j8GEQJQtNoAFA3pp+wM4j8r4fwn9gt3fJGoR6mOg8gbuE5/QP Pdm2KyHV/iZHfQuwssh0XhNMEvlrVKgLpxX+2SlRiYmEo1/d2b/6xMoT19AtIKwx28AIeV qep1n9b5Gpy2BNKztjXXLmplF1XDphNVShk68GvEeRVMKliNg7DVMkhffmYUcj2ockxZxm M+QmMDfJCheuyMEQ9+I+hxC7tF8klwV2hGeMptAPpcbmGEhMDejtbXdKOvKD2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444422; 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=TabtRCP+ZfRV0Ox03fZpCOyLFfmIVNYtVBeoj/uP/Z8=; b=PXMNlbfxfY+BUKusoF0OfXaNeE4bvOr+qWza/KN0F6tg0RV5UzFZusjM/xk7d/2Dq95El/ GrKuLIb6acAf03XDIUDVOKOHZn8Zy9PQhke0O04hgfTyFvsgrMl3IbqxNtC1xxNWtqweeZ af8qEgHCz+l2DL/Yfmgpmik2gqNgOIv1dVLxqlHkVc1Lj1iOgTppdynT1mUev8xn68a5mT Q+t+nX4aCmjnsMVYnpLjCrN8RNYELounV1Tht1NAVmkefDUccMKGP7sJEoS+QpoBGkR84n UZrge+O+IIadpNp9lIBv2mQFALCG2CwdE3MV7nF3aduh7ADV0LcCO/ouoPrznA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700444422; a=rsa-sha256; cv=none; b=SPqChkmofRRpcJdeRiqMHknlAsQbCn47aPBAAh8l8WxmZnYhH61OqW1KtzatyKP8eubynh Rps9OiNJ3KDseBqNNcvRP0sbAbKueotx8gyLK9l6D6HUSwelafBsRIozxUUyMYA0LUUXHL U0bLk00JPz9vheOk4IMQWlmsQyMRR5BmZ9z0qXffivsVc+Tmo5br7oCYOdHDvBMdarh03w VrqPPp3HbhVlnLlAxugIBrlZbbOY/ZIiV9dW2ps/PckG558nxBAzRDxLxfFBWwiBW1/NZL Al5KOGByb4PiWvZA2kpzAgJZQvK6mcvXt6Yhw/xRfb7eWtTbN7dT1ustnBv0rw== 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 4SYVZF6MttzY5y; Mon, 20 Nov 2023 01:40:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK1eLdY044400; Mon, 20 Nov 2023 01:40:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK1eLpo044397; Mon, 20 Nov 2023 01:40:21 GMT (envelope-from git) Date: Mon, 20 Nov 2023 01:40:21 GMT Message-Id: <202311200140.3AK1eLpo044397@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 1703a823c5f8 - stable/14 - vn_copy_file_range(): use local variables for invp/outvp vnodes v_mounts 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1703a823c5f827f9690a6baa0f7293a9fe0585ad Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1703a823c5f827f9690a6baa0f7293a9fe0585ad commit 1703a823c5f827f9690a6baa0f7293a9fe0585ad Author: Konstantin Belousov AuthorDate: 2023-11-12 18:29:14 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-20 01:39:22 +0000 vn_copy_file_range(): use local variables for invp/outvp vnodes v_mounts (cherry picked from commit 89188bd6ba8d8332c65498f2b71c90e5ed4b9dae) --- sys/kern/vfs_vnops.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 4e4161ef1a7f..e2227537dde1 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3046,6 +3046,7 @@ vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, off_t *outoffp, size_t *lenp, unsigned int flags, struct ucred *incred, struct ucred *outcred, struct thread *fsize_td) { + struct mount *inmp, *outmp; int error; size_t len; uint64_t uval; @@ -3075,15 +3076,17 @@ vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, if (len == 0) goto out; + inmp = invp->v_mount; + outmp = outvp->v_mount; + /* * If the two vnodes are for the same file system type, call * VOP_COPY_FILE_RANGE(), otherwise call vn_generic_copy_file_range() * which can handle copies across multiple file system types. */ *lenp = len; - if (invp->v_mount == outvp->v_mount || - strcmp(invp->v_mount->mnt_vfc->vfc_name, - outvp->v_mount->mnt_vfc->vfc_name) == 0) + if (inmp == outmp || strcmp(inmp->mnt_vfc->vfc_name, + outmp->mnt_vfc->vfc_name) == 0) error = VOP_COPY_FILE_RANGE(invp, inoffp, outvp, outoffp, lenp, flags, incred, outcred, fsize_td); else From nobody Mon Nov 20 01:40:22 2023 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 4SYVZH1R8Kz51fpr; Mon, 20 Nov 2023 01:40:23 +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 4SYVZH0z3Qz4Dm4; Mon, 20 Nov 2023 01:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444423; 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=CpUEnFj5dWbLXUePvgpUJR0iVRQa1imiYoz2X5DIPXM=; b=Kod7dWKi01H1fzqw0g6XKoNZKd+au4S4BYDXLbjC6T6XuaU4QgTFH8xcNzPFnC8cHbR40b alSoRkVJnrwPOK/tNk4zjuLxfqb83N/mnCs7SkVhZrqrKbV9vqtBvgWY/zZ/ec769kCz5M zL1gbNnaFYdwvJie7f2GeJeJXpysC9+YXTaOAkUa8g26pcMo4BYuRLGwz61DZILz1fNTu1 GtOM+1UxXPb9ymVGy6AJxBM1AJncF58I/mffuv3G5uFhrS5y6vr9ZnH29dMBNCieQANQbb HBeK+T8qTKM4UWVf7r7zmrQUSVRGiMZpocnb9cUQFkmRAcM9hKhi0EET0+yNuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444423; 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=CpUEnFj5dWbLXUePvgpUJR0iVRQa1imiYoz2X5DIPXM=; b=KgJp3Q2PMcotJzPZrxtk1nwN7cAfX7jtwlAi0rLOPMXDbU1VOvurj0M+5k/Jsv4AbKMmLX /OCY3a/EAKL4E2/2bhMB3zoWd++Ni++pcrRCo5kZejlr5mHzin1oIRnIz+sk6TuPeERAKs wA0VsQAjQfveVOfmaRjNxcL9Ed7QsudCiB856bbRgjMaa8rhzhrjtaRaaMFADUVx7kZj9n LEMdGSclqkiSD1nWfwNaUGfhlcPocY5WkCj0ru5aHVCflEZKCi2zQ8dfmEOJuak8ZKh5Rn 6HQbfzuF4X0teW1W6nKt+lu7JsCRsK1YMhiSMJnbS+K1Um+GcF0zislyn67HCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700444423; a=rsa-sha256; cv=none; b=sLGzrK1HAw59mNi3rTprKaoeeuggZDqdpvzY+u/kh75r4yQ1vd/8R+cWvAQr0al0y6xNLK pNxzzSH3s+5Dpeafarawe5q56rNX9GiCeJYybh/vC+CO6I89s18nY9NhylqNdeMlQTf1DL rpk0QBKx8iVFsC+SBqLQHKQ+mrkqbkv3gKywpH6JWUgonG2lQ5mP/Ex2ZJVAVDBDIErVG4 N1hN5f2KIdkkXGWSXG79RL2Df3FlFNpEUlIXJJXslA0H6s+1Z5B4jtEWJ+uRRbU9eESQWu 38VsC7MTUdbuXv13hrNxHGH0zj7UcFivF7SaiLzPuIz4VuLUWeeJVvOwvFka5w== 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 4SYVZH04J8zYKw; Mon, 20 Nov 2023 01:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK1eMuK044467; Mon, 20 Nov 2023 01:40:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK1eMbl044464; Mon, 20 Nov 2023 01:40:22 GMT (envelope-from git) Date: Mon, 20 Nov 2023 01:40:22 GMT Message-Id: <202311200140.3AK1eMbl044464@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0784b5768e00 - stable/14 - vn_copy_file_range(): busy both in and out mp around call to VOP_COPY_FILE_RANGE() 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0784b5768e003bbf5677327d1a68f13d2ea2c230 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0784b5768e003bbf5677327d1a68f13d2ea2c230 commit 0784b5768e003bbf5677327d1a68f13d2ea2c230 Author: Konstantin Belousov AuthorDate: 2023-11-12 18:37:29 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-20 01:39:22 +0000 vn_copy_file_range(): busy both in and out mp around call to VOP_COPY_FILE_RANGE() (cherry picked from commit 23210f538a008788b2e16b9eddafa4f598a21663) --- sys/kern/vfs_vnops.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index e2227537dde1..27ce5401f15f 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3078,6 +3078,29 @@ vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, inmp = invp->v_mount; outmp = outvp->v_mount; + if (inmp == NULL || outmp == NULL) { + error = EBADF; + goto out; + } + + for (;;) { + error = vfs_busy(inmp, 0); + if (error != 0) + goto out; + if (inmp == outmp) + break; + error = vfs_busy(outmp, MBF_NOWAIT); + if (error != 0) { + vfs_unbusy(inmp); + error = vfs_busy(outmp, 0); + if (error == 0) { + vfs_unbusy(outmp); + continue; + } + goto out; + } + break; + } /* * If the two vnodes are for the same file system type, call @@ -3092,6 +3115,9 @@ vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, else error = vn_generic_copy_file_range(invp, inoffp, outvp, outoffp, lenp, flags, incred, outcred, fsize_td); + vfs_unbusy(outmp); + if (inmp != outmp) + vfs_unbusy(inmp); out: return (error); } From nobody Mon Nov 20 01:41:41 2023 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 4SYVbn2nbMz51gQS; Mon, 20 Nov 2023 01:41:41 +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 4SYVbn2Kcwz4Fdk; Mon, 20 Nov 2023 01:41:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444501; 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=p0xzyfra3Tfi7roO8v2qt5Lsskj/0QNsz/jn9IWTmGg=; b=UrBlg+slKeCa3QOfdgLmAFXzDbFwPK+27Wvd6N0Yc99zv6uORdg7YikskgYLgpsEMvg8nd pbL/zodtjWDcThEvT2T+5SEPwcGs+sLxgiHPESJCYWDO3ZpXmPdmC0hQP61+t7TqFXs4hx hw2AKPxm7EJaiAiQsBHJRNwNV77+Kbd0hK7pCaJtyo4pG+g8oKEFr4idDNzgd5QTVO+1mb Lu2CaEY8HGbHX7GaR7pZ2m3F61IH/MAkSe7H2vlAH+YRI2yHnYIz9oFHQV7yYM/yKJsZD7 C45FPcmiU8UWdS5+Es4GmsgGlNwbEQSyz7lbUP+7Yw9xRl89lyADAN/0wqsHAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444501; 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=p0xzyfra3Tfi7roO8v2qt5Lsskj/0QNsz/jn9IWTmGg=; b=ViMSuTeYd9K/MRo3Ga2m8M/wMazaGkOstJi5XjNA4qsnW2S4tZyfnL5Ru5AiwQqADAbers Q2hCzDMSk/tagkOiaygfjWRkgTpAI55tq0RDvKu+imlvR5NOTjbUg0Yhj+YUKQT4eHLnUb r3g2DFtNqkoxF3GKE0oRPZJf93lre6eeRALPLUUq2sT+7j++VaNukvyzEkLjQUNYKQrnk/ i4GnrmfB1cwx9CULJN98HYUowFDfzmA6tdiHpuI8qrfBD5pURVC+H+o5zkDd3G3RC0TFpc 5Pqnti/gyKX6ZXtMocFFNnjHEmsPfZ9LXXRmPt3XjQy2GcOm9tlOnbcpn9z3xA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700444501; a=rsa-sha256; cv=none; b=ZM8jyfW65wjOfc8w35FtVdCf5NPYsINP7jxoWfN0PDksLvCGoL3TlIQVP2J6SrQRIA0Cnf iAbNm/VPOTXQmeOnnRx4IwVdkA5LuklRirpH8NB9Loc6JnJfvGtnvKszwTwLn08GH3/EGs zxcfvHgpUqkD9l+9+4FI6vzBnHi2rJOXjmujsuchaE7+y4W7CtzOczOjTt34LByjp5btf7 t7OJecrkO7LAixoyrVWjuZ7ki0bQdaIiohX7IGSQMnwGPiKjfgGPyiOFLPKJtI+Q4F82Nn 3mtdGBTq9FKl9PEXpj+eWMNjQu09fLbwwVBbURRjufVDf6jG8yzFsUX0eIM4Zg== 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 4SYVbn1QRBzYhY; Mon, 20 Nov 2023 01:41:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK1ffjh047382; Mon, 20 Nov 2023 01:41:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK1ffll047378; Mon, 20 Nov 2023 01:41:41 GMT (envelope-from git) Date: Mon, 20 Nov 2023 01:41:41 GMT Message-Id: <202311200141.3AK1ffll047378@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e6278ae2bd7c - stable/13 - reboot(8): adapt for vmmeter v_swappgsin expansion to 64bit 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e6278ae2bd7c59d8057e1dfe8a801b1b46b392d4 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e6278ae2bd7c59d8057e1dfe8a801b1b46b392d4 commit e6278ae2bd7c59d8057e1dfe8a801b1b46b392d4 Author: Konstantin Belousov AuthorDate: 2023-11-13 01:30:53 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-20 01:40:34 +0000 reboot(8): adapt for vmmeter v_swappgsin expansion to 64bit PR: 275048 (cherry picked from commit 194cc45a81f70aa280546b7a5e658028df0303e7) --- sbin/reboot/reboot.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c index 9b9d956bea82..a087be7bbf23 100644 --- a/sbin/reboot/reboot.c +++ b/sbin/reboot/reboot.c @@ -58,7 +58,7 @@ static char sccsid[] = "@(#)reboot.c 8.1 (Berkeley) 6/5/93"; #include static void usage(void); -static u_int get_pageins(void); +static uint64_t get_pageins(void); static int dohalt; @@ -68,7 +68,7 @@ main(int argc, char *argv[]) struct utmpx utx; const struct passwd *pw; int ch, howto, i, fd, lflag, nflag, qflag, sverrno, Nflag; - u_int pageins; + uint64_t pageins; const char *user, *kernel = NULL; if (strstr(getprogname(), "halt") != NULL) { @@ -266,10 +266,10 @@ usage(void) exit(1); } -static u_int +static uint64_t get_pageins(void) { - u_int pageins; + uint64_t pageins; size_t len; len = sizeof(pageins); @@ -278,5 +278,5 @@ get_pageins(void) warnx("v_swappgsin"); return (0); } - return pageins; + return (pageins); } From nobody Mon Nov 20 01:41:42 2023 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 4SYVbp59R0z51gLH; Mon, 20 Nov 2023 01:41:42 +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 4SYVbp3n9Nz4G82; Mon, 20 Nov 2023 01:41:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444502; 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=TpIJt5awFI6GR0XXzyZdXLZdiKEHsx9jD7UgosfrfiQ=; b=Sru7ePH9rXVdfnbsZ10kVRdRyJkANvqO3E0mCPj6talDX0H239ZuH1vhSdzMZoFN8M1+JP KUL0WghDYENRxBf8lenTUnmf/1K9bPC4XqozlvKoyPAWfKmqSKPZpG9ey4jBtqD0hoppKq Qw7r1LDWes8f/RhlNdu5yuhukSAmhDoWim1EmErJYSRyH5z+rWl3gHdcZfJw+0bUhgKnjf Csn0ugFa347OmcT6H+UkhaZwQK+r0wjveGnwjwksKwFmfDUHoDP0zM4LdFPl6skt4Ih9e/ i9BLMM0bIQsV016+HjprITBBItb0XProDwmMHGJYChRyR42/v4I/498mAL9HsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444502; 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=TpIJt5awFI6GR0XXzyZdXLZdiKEHsx9jD7UgosfrfiQ=; b=GIXNuV7Qh7/iyGMKQrrQm44QoZeV41fK4TTmM6Y3ddkyCU+ticpyeoUz9BAUUKKNCALYHC WaY8F94qbITIAzJ5wQBZvifXAt8TIZFB33XNo10V5pV3n8T51ch9RT0+5+1sscjcuNaTng AZYboveTvX/5y1lKbQSdAPKACxd+6ch4AuwKan21Ecch/LKw/zPRe+DfNIRKJvpXg1ML73 qNDcvz5H/01pPVbyi+jZxnRlbAiI+naHrOBN4mNmFkRotfvOUPrBH2goO3zkIBUj3nM1hh 31LYdh/I42Se53RnJyylyMN2qpyMW5yTROpv1wZmh0WmPdOxdOr2ILbAPo6+Ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700444502; a=rsa-sha256; cv=none; b=U1AacF3IqDJ4Nhy/Tfx8FwgOujPMIY1sQd7JkUDXglZZgxpAn+i+0uLSDtx3LKIhHXF7xl vsxH3JSxjiwVIzlKbrYigNcsNgGvI79VEss5cAfCxeXD7Xr86GjK708n7Ml/qD0/r6HfWa dKC5zE6c5vp2n9D18zGBddhrsKKMq0wVPcrdP/Sd0drV3rzvCaulHY6Yh4ik0g8iUloTm2 IqsTEXJmS71KcmaKKMSikbIK2thi6+escl//4EzVK92eHIN66DL50wyX6M1kIqBNYAseEv hENpJ1BotQXniw15/tvHQuzgNJUCA0FlNW4XowXSFZbE0b96FbcTVl+7GB9s4g== 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 4SYVbp2gpGzYhZ; Mon, 20 Nov 2023 01:41:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK1fgEY048851; Mon, 20 Nov 2023 01:41:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK1fg1v048846; Mon, 20 Nov 2023 01:41:42 GMT (envelope-from git) Date: Mon, 20 Nov 2023 01:41:42 GMT Message-Id: <202311200141.3AK1fg1v048846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 26c99c95ccfa - stable/13 - reboot(8): print syscall error on sysctl failure 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 26c99c95ccfa59091e30715a86f389a072fa6c11 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=26c99c95ccfa59091e30715a86f389a072fa6c11 commit 26c99c95ccfa59091e30715a86f389a072fa6c11 Author: Konstantin Belousov AuthorDate: 2023-11-13 01:46:51 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-20 01:40:34 +0000 reboot(8): print syscall error on sysctl failure (cherry picked from commit a294b02fbc07fa8466c8fc12311e7d4e92332467) --- sbin/reboot/reboot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c index a087be7bbf23..705dae6fae5e 100644 --- a/sbin/reboot/reboot.c +++ b/sbin/reboot/reboot.c @@ -275,7 +275,7 @@ get_pageins(void) len = sizeof(pageins); if (sysctlbyname("vm.stats.vm.v_swappgsin", &pageins, &len, NULL, 0) != 0) { - warnx("v_swappgsin"); + warn("v_swappgsin"); return (0); } return (pageins); From nobody Mon Nov 20 01:41:43 2023 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 4SYVbq4tTVz51gLK; Mon, 20 Nov 2023 01:41:43 +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 4SYVbq473cz4Fn7; Mon, 20 Nov 2023 01:41:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444503; 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=NkR0HRGPyCByOOWCE8yIafofZqOEuWFp4Fe0CjlKXzU=; b=vvYeRJhTtRrFYex/RzqEglH4eSXWGovi+cJsRuw4cIkibMXdP96i3D6phq9Jpa751bw1yE gDKUXWZPMK+kb2wozb2z41DCKTIT+G3MR/cEvH5YGUKCKtA8fnXe72kMITmLW/vOGwKVbc QAbJ51bt29FL1EBvA72NrXSZmZBaoO6V6o3H1oJHc9AW3+Jds0rLFf1+WXjrca8r18oLhN 8dmd4CbgaSsTQ7InBlFc/NvX+FiXEoM6QZOh0HDCuG7IeH0zVjz1FAsEWhBkvuJS9i/1Uz VnjLlLjJBoUC1SVpfx4JE9TSqMBx8eTPAkO68G8uSxETZR0DZUG/W9dbSSi7qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444503; 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=NkR0HRGPyCByOOWCE8yIafofZqOEuWFp4Fe0CjlKXzU=; b=A2ookuJc7dm9sLmS1pZYA7odqU3fzLNcvptdND8x49oSUTHmd2HsbiBuIYYFMshfA5huhz IXjYz5eaaDuXWfMrZ552qIN0LwUdxw+eiNF6cgZopEvYOF1AVVheFE0RIs+fP4QH6B0r7b wNZMFPxsnS0FN2MeEeVND7QjZyiotF63SW1TQbsRZvYPsFhbmmaC7qlsy1EhU3TK6TBtq8 K8oTM9Y0A99KlBPzm78OKmzMVhmNSiW05N0H3MRdLHpp8prJXbI1iLCM+C1wQt25+z2GI7 ObtcZOw74ZLgyqGdyw+ka1XNRqmbZZg00QZ6L/y5Ec8dpNgZbCFz19u8V2b54w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700444503; a=rsa-sha256; cv=none; b=S8rbAxp+ieVrQ+apHWRnKr8YQ6G7Af9LauHm+bXiVd1BgNh9DdQwPJ7hJRTRZujVYAy9Uv ihRzqlqw8X6NQ6spLc17m+VMlLElROzoC2+HaViP5GKafNcpn2wZQteqFpw357zocjAlBa WK1bO+LM1X3o3wrXR2vEOtZErHCmH3i+0d4CCwdkPyiGMluihgd7vSAHM+Evxb7LyCVefI WF1LaeKsQDgy1jQU47d8038dxhJ0h7fITZ3SJWKs8hZmVoQBdhSWyCs4L+FZRTdBT8Fyif ysGHYCizvS2zZRxGZ2a+SncXlQFOptNouLOrf0yduUPt9xF0zYyiUF9ARNyn4w== 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 4SYVbq39mkzY3n; Mon, 20 Nov 2023 01:41:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK1fhVq050203; Mon, 20 Nov 2023 01:41:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK1fhbB050191; Mon, 20 Nov 2023 01:41:43 GMT (envelope-from git) Date: Mon, 20 Nov 2023 01:41:43 GMT Message-Id: <202311200141.3AK1fhbB050191@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 02c8fefba6b1 - stable/13 - vn_copy_file_range(): use local variables for invp/outvp vnodes v_mounts 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 02c8fefba6b1be95cd738694a616454251a7c709 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=02c8fefba6b1be95cd738694a616454251a7c709 commit 02c8fefba6b1be95cd738694a616454251a7c709 Author: Konstantin Belousov AuthorDate: 2023-11-12 18:29:14 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-20 01:40:34 +0000 vn_copy_file_range(): use local variables for invp/outvp vnodes v_mounts (cherry picked from commit 89188bd6ba8d8332c65498f2b71c90e5ed4b9dae) --- sys/kern/vfs_vnops.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index dd3370bc33bb..5194d708f250 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3026,6 +3026,7 @@ vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, off_t *outoffp, size_t *lenp, unsigned int flags, struct ucred *incred, struct ucred *outcred, struct thread *fsize_td) { + struct mount *inmp, *outmp; int error; size_t len; uint64_t uval; @@ -3055,13 +3056,16 @@ vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, if (len == 0) goto out; + inmp = invp->v_mount; + outmp = outvp->v_mount; + /* * If the two vnode are for the same file system, call * VOP_COPY_FILE_RANGE(), otherwise call vn_generic_copy_file_range() * which can handle copies across multiple file systems. */ *lenp = len; - if (invp->v_mount == outvp->v_mount) + if (inmp == outmp) error = VOP_COPY_FILE_RANGE(invp, inoffp, outvp, outoffp, lenp, flags, incred, outcred, fsize_td); else From nobody Mon Nov 20 01:41:44 2023 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 4SYVbr5ztgz51gWK; Mon, 20 Nov 2023 01:41:44 +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 4SYVbr59b0z4GLB; Mon, 20 Nov 2023 01:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444504; 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=JCbK3pRCHynAnCz+0tsCWtWAxvZiVAV0BcG0wAssUG0=; b=WYGcPg0Xxgsakkm3GIbJJd0MxLl7clAQEJkj8NXwirmsd00qjQGWhLfREuQJZEUjxOnLsf ihYZdmpFDxJblC63YawZhM2iYKNgPePf7PlDy1l/WZHSbdm0w7RTigsot8ywkMTyMlJNXO ARpv5MjNWyc7ASaSGkR1C2u3a0Iiyt5ykeyKWINVoST5bDt6g64AzTYATmoRODbUJUqr8T z65jO7PZTWsWYP5OeD5+pdaCmUdjVxU8B873MRXTwDrgND3i9cuxPfxVSM7YsTD6IdGhya CbdEGHDluG8AHAlRcr1h8BO6yBz7sKE6Apd26P/IwfRIyKmQsl/OPN96qkP1IA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700444504; 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=JCbK3pRCHynAnCz+0tsCWtWAxvZiVAV0BcG0wAssUG0=; b=rdsfJwwQ1aWXc5tHZ7Z5iXfGnI5PjW75v8dk1CkJ17pTGH+Yx2upY6V2AKhq8oMPla7FiI P9XoRa9SOfgJUdAICZePI1P0AqXahZsTrvWSZnTIPalC9zsefTbgb91hiQMh0VVnTY9DzH F82BmORLNu6SRNBXpChVGeSCCEC/uHMYzrXBsTaKBZYYhG8hEMgJ1NW5oBoR2S37utk+EN mMNEx3Kiqjs2I2rrA4+7dHiYY6nTGD1oIm5RI1EOAuDP18yOakH8Q4kiOJ7ZpzoY85Qu+1 CDF1bgDtVwDz9HPXSzHZusi0RGu7OkgtOyUAgpdtUH6122YDzuhGnZbL9cklzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700444504; a=rsa-sha256; cv=none; b=T5DGnSZDolgBrKVRtjq5tawlWZD8Ch2HfbNRM73+gdGcHyiajkv/oqmsilProN2Hr7lak1 uuJAHYuBqeu22dov2EHhzfbknIVgdvmhb8pVQ5S+1eghegzg4W0Xg/NyW01SLGEouNcWiQ JJ3c/tEzHyKEWrf3CxW19e2/GtoDczQSyFA2dtZ9GHvSDdCurM8lci3Uc9O61zcdC1BB8A Y8IUD5f8NWOcssKqTddjqB/r8zykwePGzqduFk6l76Wml2xV4KPxN4N5/wMCRfP6qo6VhE wn2YP3Lx/lDj3RV7TmGwPam9K5y4kq05XsM0l+rlnKLcNYQGeD00V0aPaHrmpQ== 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 4SYVbr4C54zYjd; Mon, 20 Nov 2023 01:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK1fiLd050852; Mon, 20 Nov 2023 01:41:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK1fioZ050849; Mon, 20 Nov 2023 01:41:44 GMT (envelope-from git) Date: Mon, 20 Nov 2023 01:41:44 GMT Message-Id: <202311200141.3AK1fioZ050849@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 11f0b96a9745 - stable/13 - vn_copy_file_range(): busy both in and out mp around call to VOP_COPY_FILE_RANGE() 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 11f0b96a974513628d4b8d2257d921fca4b9c5cf Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=11f0b96a974513628d4b8d2257d921fca4b9c5cf commit 11f0b96a974513628d4b8d2257d921fca4b9c5cf Author: Konstantin Belousov AuthorDate: 2023-11-12 18:37:29 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-20 01:40:34 +0000 vn_copy_file_range(): busy both in and out mp around call to VOP_COPY_FILE_RANGE() (cherry picked from commit 23210f538a008788b2e16b9eddafa4f598a21663) --- sys/kern/vfs_vnops.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 5194d708f250..7af4df16252c 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3058,6 +3058,29 @@ vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, inmp = invp->v_mount; outmp = outvp->v_mount; + if (inmp == NULL || outmp == NULL) { + error = EBADF; + goto out; + } + + for (;;) { + error = vfs_busy(inmp, 0); + if (error != 0) + goto out; + if (inmp == outmp) + break; + error = vfs_busy(outmp, MBF_NOWAIT); + if (error != 0) { + vfs_unbusy(inmp); + error = vfs_busy(outmp, 0); + if (error == 0) { + vfs_unbusy(outmp); + continue; + } + goto out; + } + break; + } /* * If the two vnode are for the same file system, call @@ -3071,6 +3094,9 @@ vn_copy_file_range(struct vnode *invp, off_t *inoffp, struct vnode *outvp, else error = vn_generic_copy_file_range(invp, inoffp, outvp, outoffp, lenp, flags, incred, outcred, fsize_td); + vfs_unbusy(outmp); + if (inmp != outmp) + vfs_unbusy(inmp); out: return (error); } From nobody Mon Nov 20 03:15:46 2023 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 4SYXhL4sqzz51n2y; Mon, 20 Nov 2023 03:15:46 +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 4SYXhL4R3vz4MtJ; Mon, 20 Nov 2023 03:15:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700450146; 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=t45MvKGw3hHomvKo1UatRCGauSKoSu/qFq0w6T25Ooo=; b=Eq1WL8YgPJkp3Qahv6JMNfYxgNV7olFeU2lhXTkN6PNRVmcQEhFvfnuvsts5jUl1h9yEBN e7uMZ/ApsYf6Ay4pogGL9Gj7axg4bdK62Vj5P++cBY5hr4QzrMXE9fn7zaEY9b7Cha3aq7 bhb3fXMlFw08GkBKeFxe6RBI/yJUtNmO7ANUssFHtX+mfmwFwppMSoIHtCHNDM00PUg83m SrsRoA/kDdhorE17lQcamDXhIqJ/cv4bhXgWrId0XRRy2cYCWSjbXqnb4nWo5izu95MblO 6l5+wo6AUIXQgC/HwGXsPsYk6WiGLSdRPoeSpJ05TYvT2+PwglplUCN4QZ0ScA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700450146; 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=t45MvKGw3hHomvKo1UatRCGauSKoSu/qFq0w6T25Ooo=; b=Oqlz5FYyuNMf/BFVcfkbNymBWcBunFijFIAoaeW8oKlA+O/w+Q1uvruDnJ5J4lsITMIf63 g6zN2uSzq94vd5aWDBohu29bve/AZ8W7iHILuwcUSwqLEq3QP9o+y0F3YyDW8hFdwDolah i61NcEYIGinWcGUpo4++z3bR+rQ5CK/YY/BanxQoBC8HjilEbtTRc/cLLQXF4I8HPRFqX3 umNJVHrgTrnHAlxKaxq498rP1JgmMgriPn2RanorOGFWZGTFEqx9fcYynqc4QG3g/nayWQ h64NPq/n4yEa6fhQZJlqBvvnr5L5wkreUg4LCbAj8j8Xu9blf57i6KJ+/3XKTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700450146; a=rsa-sha256; cv=none; b=I+2+mNUeUDmPpQhkmu0XyDXvXz5Amf77DZ7Abawow0skW8ZoTV/+YlXFhwv2GqLFM+8R/t HHRCyXtSe8OBjDt8eAkgZUNbr93yluPzvXS/29l3r+It7svyvCkpp6unzlm/OUcd10z1ji oMP3muWbtAG3pXezE59F6F7sLB4MM0UMrgw8abnYYcf0QNqs5CdDSctaMqGuzZxJPcErB6 5dCIs2tXBMxpQ25d1O4ql0GISQjXP2AbJqSvNyCA8lMq7qMSbLg+odIyGVH6m9xaQcctES UhtNWxufU09kyQtg6L9gmqBgdOpFAfXNaULS8FyhpXc3sJcsjttp5WXYpB+9Sg== 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 4SYXhL3TfqzbSV; Mon, 20 Nov 2023 03:15:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK3FkrD004963; Mon, 20 Nov 2023 03:15:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK3FkTG004960; Mon, 20 Nov 2023 03:15:46 GMT (envelope-from git) Date: Mon, 20 Nov 2023 03:15:46 GMT Message-Id: <202311200315.3AK3FkTG004960@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 7b7975e03269 - main - cdefs: Remove __GNUCLIKE___TYPEOF from cdefs.h 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b7975e03269df37fac59d660806b8708ca0e862 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7b7975e03269df37fac59d660806b8708ca0e862 commit 7b7975e03269df37fac59d660806b8708ca0e862 Author: Warner Losh AuthorDate: 2023-11-20 02:35:53 +0000 Commit: Warner Losh CommitDate: 2023-11-20 02:35:53 +0000 cdefs: Remove __GNUCLIKE___TYPEOF from cdefs.h It's been unused for quite some time, so remove it from sys/cdefs.h. Exp Run PR: 275123 Sponsored by: Netflix --- sys/sys/cdefs.h | 1 - tests/sys/opencrypto/cryptodevh.py | 1 - 2 files changed, 2 deletions(-) diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index 4893ae1662b8..4f2c374a81cb 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -82,7 +82,6 @@ #else #define __GNUCLIKE_ASM 2 #endif -#define __GNUCLIKE___TYPEOF 1 #define __GNUCLIKE___SECTION 1 #define __GNUCLIKE_CTOR_SECTION_HANDLING 1 diff --git a/tests/sys/opencrypto/cryptodevh.py b/tests/sys/opencrypto/cryptodevh.py index 292078292833..6cb33c4672e9 100644 --- a/tests/sys/opencrypto/cryptodevh.py +++ b/tests/sys/opencrypto/cryptodevh.py @@ -25,7 +25,6 @@ def __has_builtin(x): return 0 __GNUCLIKE_ASM = 3 __GNUCLIKE_ASM = 2 -__GNUCLIKE___TYPEOF = 1 __GNUCLIKE___SECTION = 1 __GNUCLIKE_CTOR_SECTION_HANDLING = 1 __GNUCLIKE_BUILTIN_CONSTANT_P = 1 From nobody Mon Nov 20 03:15:47 2023 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 4SYXhM60pJz51mpm; Mon, 20 Nov 2023 03:15:47 +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 4SYXhM5J9mz4NDQ; Mon, 20 Nov 2023 03:15:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700450147; 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=baQC+W3YBHMqPfV8s/Idsa8Gpv+Ch1rPLqQ2w14unjs=; b=GA1eFG0ppRLzN8w2v1JVhj/MbeMXmrOPFifIfCBG0QdIPoozgXdb62yxEMvRgKUZ6p6FKQ wCZN8K6VdMnF+VpayhE09tEVapkRMVJJmNDpkNrAk7gbt8ki8gfkoYT3SzgTF9N8sm+BQA lbVinnccIYJC8uBQB1R/Nt2+IoroBSIiiY9PCv3RySGdWaUCVwUrqiXi9Q9Gnl9h75J/wH gLtwlN8JSX98Ndg+XVSJdgqrC+MwE8+um6YYQjt59xs8s3KAdxHPOQIg5G4mcocTSAwuFl Eso5rSFiW2yUACVZaQDOcNaragI5fqvFTiybHA58guS8WU4D9lVPoFfyREEQlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700450147; 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=baQC+W3YBHMqPfV8s/Idsa8Gpv+Ch1rPLqQ2w14unjs=; b=DEOWRjqAcCFtqwMzH/W4pzkyzW/LxNSup332T0Lzfb9BMHHTJvXcXaX2BrngfXT80uJTs6 PGNgz3WIapzpybO2W7QzjDKDyGIku7caSYA6fU1ANYo4d44oFa+P5WYO+BXPHshucIwj7H Pew//kjUfYXyggpZh9ffAWBLku+M19gtfAy44fxlqg603vVplOHZI+B1BSrxlDJorQOszn cDNB7HCYbnakIrwtPZMbJ/8kVm2DR/C4168SUfhkpj793AkmEPyB11YZrVkt7xLv/wtDee OpsdMaxG6OR7xROhoX1vKzHTOLzb3DTKqjKt5N6RHFT7dGg4ij+TCxu3//s9xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700450147; a=rsa-sha256; cv=none; b=X9xRZrfD0greJtjeW80IAbsgtGaGcTPqyZZoQ48jEHKEHnIZAFTn9SanPaZTsjcIjijFLI wL39LxvEpz0oE0Pq0Tw+INSuMJhw39LZwdk48qrVTtYSX03yFeP6ORq6zzwjLq6Ry5m4Wn uVh+19OVTGMl3VxY3NwftqRdTt+itdeZil9mu3oYm1P7D7oQeByVfJp7E0tehdC4V41rZm chWc887jVrld5iramQK+pTVGasMLilBymIA/3x0QFA05iaOo+J+WNIw/Ae6fX0PmZ1HFhP ZnQO9nCcP+AtIeXtmyEZbF6TR6aSFJSfMZrTz1G6gKXbSo94A1fa7dO4BLzzng== 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 4SYXhM4CwGzbkr; Mon, 20 Nov 2023 03:15:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK3FlsI004999; Mon, 20 Nov 2023 03:15:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK3FlL1004996; Mon, 20 Nov 2023 03:15:47 GMT (envelope-from git) Date: Mon, 20 Nov 2023 03:15:47 GMT Message-Id: <202311200315.3AK3FlL1004996@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: cc02e98a953f - main - cdefs: Remove __GNUCLIKE_ASM 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cc02e98a953f04760b5ad5b336598a4c5f97e5e2 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cc02e98a953f04760b5ad5b336598a4c5f97e5e2 commit cc02e98a953f04760b5ad5b336598a4c5f97e5e2 Author: Warner Losh AuthorDate: 2023-11-20 02:36:46 +0000 Commit: Warner Losh CommitDate: 2023-11-20 02:36:46 +0000 cdefs: Remove __GNUCLIKE_ASM It's no longer used in the tree. Exp Run PR: 275123 Sponsored by: Netflix --- sys/sys/cdefs.h | 3 --- tests/sys/opencrypto/cryptodevh.py | 2 -- 2 files changed, 5 deletions(-) diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index 4f2c374a81cb..1829e19639c8 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -77,10 +77,7 @@ #if defined(__GNUC__) #if __GNUC__ >= 3 -#define __GNUCLIKE_ASM 3 #define __GNUCLIKE_MATH_BUILTIN_CONSTANTS -#else -#define __GNUCLIKE_ASM 2 #endif #define __GNUCLIKE___SECTION 1 diff --git a/tests/sys/opencrypto/cryptodevh.py b/tests/sys/opencrypto/cryptodevh.py index 6cb33c4672e9..9db7d5d12d9c 100644 --- a/tests/sys/opencrypto/cryptodevh.py +++ b/tests/sys/opencrypto/cryptodevh.py @@ -23,8 +23,6 @@ def __has_include(x): return 0 def __has_builtin(x): return 0 -__GNUCLIKE_ASM = 3 -__GNUCLIKE_ASM = 2 __GNUCLIKE___SECTION = 1 __GNUCLIKE_CTOR_SECTION_HANDLING = 1 __GNUCLIKE_BUILTIN_CONSTANT_P = 1 From nobody Mon Nov 20 03:15:48 2023 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 4SYXhN71ccz51n55; Mon, 20 Nov 2023 03:15:48 +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 4SYXhN6BC7z4NGj; Mon, 20 Nov 2023 03:15:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700450148; 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=ct25wFtWUn+9Qj34GqwvN7QATIrNV2p3/aqpHMhHQy8=; b=u7WgJPtQe3g6yHEO4gp4P8DsoDzclujIHKjgDxh6RM+hxQ36AEtc3QEjG3Q8Q1XCgrmcK+ bT2d3rWkQZq5kSo4u2roEdLF5qF5JCTTxUy3LBcAltUqEocsJr/q/pixaeQe2Kvn9ixsh2 GGP7/syk8jcajjrtMqg1BlbUwYtWJ1q8KsFW3AVk9MqEhFt0GZ4nwzZFON6OIDkAJBPtXV +/Dt7imyfSK7omTXbQipbtUlRoDCqclqe/FIU9tgjr1kC9aJc2nmVr+tCfqW893dFj2aFi aNOB4dzwZmZegv1gzC82rgsRDf7qtPKk7VnKAdIRXSG1ElamEdTbMafd+9xLvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700450148; 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=ct25wFtWUn+9Qj34GqwvN7QATIrNV2p3/aqpHMhHQy8=; b=dG0dBL2VTI3Lq7cwnqgJIGE1NtHZu/0dKrRA8Lrs7vsAH72N+KrSd1kkELrzqI02T63xSz eAS9TqwlRQcE52jw78ZRCabY3opCp6KMCVg6fhuZz+3VXVe0JRZzPQ699e8nNYfqXwuMSH T9GRi7rOC8wMdFogTspiqR0RZypHgo+9SgWYSHhv9XulH5j74ocDsLIASMKN3Ji8HRL1oK 0YQ/ha0uY2Nv8d0M1OaGNt2bKVcdsKFx23+THNG5Fr56ZnhxMAKsafeYvnhu/4frbC1x1T 4lFOkjQWTY7XNvl/dvxE1tHnItkHePgaakHaoSqSBXLlUmrAK/X2kIawnokHVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700450148; a=rsa-sha256; cv=none; b=P4tDVtN0bjHHiYdTzVdya47bNxaRUzURZVd5Sgx2+4cVRUE/icvqG8lpRvfvyXX3knG0KK 5SRLI/JY+vnqa25rJVg7YNJFbamVrrbs0T93clRXRUivbTUdTjthdx6LG09zFc7FwwsxgK mTfhWqRAlnwdeIEgU5Zf2QKM/cwtH1pKvb5wGA4UDCGm/hc389OkWh0cCnfDgsMYM87G1p aG5eYHAQ9XcFAEDUsZPResphChz6UZfVydyVbutHqByVKGHsuEsGXtKBHvcKUNvDlge4oq DA58GxuVd9/fFcCM16INyl15P4KsuMSTwR8LOHon4gxQs841nGJDwD+OpVT5/g== 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 4SYXhN5CWkzbSW; Mon, 20 Nov 2023 03:15:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK3FmF4005035; Mon, 20 Nov 2023 03:15:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK3FmO3005032; Mon, 20 Nov 2023 03:15:48 GMT (envelope-from git) Date: Mon, 20 Nov 2023 03:15:48 GMT Message-Id: <202311200315.3AK3FmO3005032@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 8ae4bb9398aa - main - cdefs: remove __GNUCLIKE_MATH_BUILTIN_CONSTANTS 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ae4bb9398aab07bea5b0fe027e74eb2596e2160 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8ae4bb9398aab07bea5b0fe027e74eb2596e2160 commit 8ae4bb9398aab07bea5b0fe027e74eb2596e2160 Author: Warner Losh AuthorDate: 2023-11-20 02:36:51 +0000 Commit: Warner Losh CommitDate: 2023-11-20 02:36:51 +0000 cdefs: remove __GNUCLIKE_MATH_BUILTIN_CONSTANTS Exp Run PR: 275123 Sponsored by: Netflix --- sys/sys/cdefs.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index 1829e19639c8..549a51a00893 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -76,9 +76,6 @@ #if defined(__GNUC__) -#if __GNUC__ >= 3 -#define __GNUCLIKE_MATH_BUILTIN_CONSTANTS -#endif #define __GNUCLIKE___SECTION 1 #define __GNUCLIKE_CTOR_SECTION_HANDLING 1 From nobody Mon Nov 20 03:57:56 2023 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 4SYYd04tZBz51qmv; Mon, 20 Nov 2023 03:57:56 +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 4SYYd04RLYz4TW8; Mon, 20 Nov 2023 03:57:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700452676; 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=TjnxrX6hf1jce6YoQ+C9BFaXWvxngKxRkoRmZ0QhVZ4=; b=hGf/K+RNhWvq0Lk27KNMWAm5DnYQN6tfzvrl71ZYWruwrKfgL/il4tv36shwyAB59jq4kq zUjDAZVqgd9EJOdcNEOgTBRmzzFzAcCjW8XtepXKWcoPaSOrbJ8foVBs8Gtfvg5IvmIvnq 36q8Jm6TpnTd/GxdXNODIV4pBWdTjCuu87n4us8z7Sj8V0woSuj2GIFdZsrBiQecFUE0x4 CbSs/KsnPS4BkM69lZuDr/3SnSwOUgMMVSYPHJFht2Ri6Hif1HKdgV3/Bnr6rMRhbS0VMi 6tI11EjPLXbO+/BEeleIHeAzEWo2wipQP35dXsn2PqalCWuR6XdFszB9abT3xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700452676; 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=TjnxrX6hf1jce6YoQ+C9BFaXWvxngKxRkoRmZ0QhVZ4=; b=ryCwld/yVHrcsUqReZVcJtEi/M1fcZHpvLocLSprfB1bP6k7pTvqSMBPKJyP0+ovI7HGfu y7ipOAVHY/zZUUcazM/zWBS5r1KdroCDZ7Ul4bjUWczIHJQk2hqYuZ9PEi3lVnCWlL5c+k pJEzXkj3Ak8+3zWVE78nJ7wLzTHe1cy/Kpgr9MJ7yv/LhwKI8CpfopPXtN9Id+uVp+lsXZ njei5lO/oVv8D9z2xDwapcJ4DUHrUPvNlvHvpPAN2L1N7oUG1X+18VHbeT3x0wK+X4E4mq pON+l/JbUAQ5gbNF8sMmm3tQse1UzIERcPzhygV7lWpW2mvXS2sjCwsfhxQwEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700452676; a=rsa-sha256; cv=none; b=RxGElqYEphjlY0qQpv6fjMbHHytFxwUJr9L/MYYRgDTUoGPk+pr3/gROEJCOhEfPkdXDER EUMVyHFwV27UnGWeCQdfu0ljG7ukWO3qX7d+EEp06LQ21fOdIZ4HTCvROYje7evoiXsDTP Nlpe1nifimeadriqwuLhzT2/kPYg/Aiq7IcSTPPpZ7boODxdGEjUO3uiyh9iaQlzEuscVe agACTCz4Bst0MQ1Yy18N/j6ObgUxSQswmsZVe+fwlZM/jmKXX6aBgzP6Cbipy4FNtHHDR9 79t/aWd3YW63xPeCEphGGOLKcb/07Efe5Fy1LoZ6/MEH3c8BCBIS/LsGTm9Fsg== 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 4SYYd03VctzcZp; Mon, 20 Nov 2023 03:57:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK3vuSh071704; Mon, 20 Nov 2023 03:57:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK3vujk071701; Mon, 20 Nov 2023 03:57:56 GMT (envelope-from git) Date: Mon, 20 Nov 2023 03:57:56 GMT Message-Id: <202311200357.3AK3vujk071701@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 1b681154f5e9 - main - math: Move to const instead of __const 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1b681154f5e9c212822d7bfa6e3c399bb36bed47 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1b681154f5e9c212822d7bfa6e3c399bb36bed47 commit 1b681154f5e9c212822d7bfa6e3c399bb36bed47 Author: Warner Losh AuthorDate: 2023-11-20 03:48:30 +0000 Commit: Warner Losh CommitDate: 2023-11-20 03:55:57 +0000 math: Move to const instead of __const There's no reason to use the __const construct here. This is a left-over from supporting K&R and ANSI compilers in the original Sun msun. All other K&R crutches have been removed. Remove these as well. There's no semantic difference. And there's already several others in math.h. Sponsored by: Netflix --- lib/msun/src/math.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/msun/src/math.h b/lib/msun/src/math.h index 8e72beb757f8..f1acfda8d7e8 100644 --- a/lib/msun/src/math.h +++ b/lib/msun/src/math.h @@ -183,21 +183,21 @@ int __signbitf(float) __pure2; int __signbitl(long double) __pure2; static __inline int -__inline_isnan(__const double __x) +__inline_isnan(const double __x) { return (__x != __x); } static __inline int -__inline_isnanf(__const float __x) +__inline_isnanf(const float __x) { return (__x != __x); } static __inline int -__inline_isnanl(__const long double __x) +__inline_isnanl(const long double __x) { return (__x != __x); From nobody Mon Nov 20 05:58:34 2023 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 4SYcJB6wV2z51xgF; Mon, 20 Nov 2023 05:58:34 +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 4SYcJB6Mtqz4fFl; Mon, 20 Nov 2023 05:58:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700459914; 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=gL6inpijVOFYa7836CRJMmlGwgzSc9mTBqJqLsgDgRg=; b=ODPrfpr1RoeckzUdq8DxY31pHkZsLqkKJowXSodkH/lRiMcmIbQh9hBtIWHVsqWmow8Or/ HFxYOYaE57St3NIBV5jpnqIhC1Q4RpMRdA5AHPHnU4HQAY/wYPXeamRnRRNsPNIUu80mLb EP0QoENvM5eFHy9UcpCK+6A3ljfv+xkeHPe7lVUk0pPgfSOmBpeJhbGqiTnPvIbCYkEob2 xYxawqRrAASzUEgZRARBqRSTRbBTOCDgdtGX3sQH6eTYTkZxpSGEu5G9lSleaRpuVFX4Hr l8VLh5AoIcU3MdmX9QNx7Pbn4In17DTMv1CqPrL8GZZsG7wY9cPZzACYlSY3Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700459914; 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=gL6inpijVOFYa7836CRJMmlGwgzSc9mTBqJqLsgDgRg=; b=eJ38vkZP3KPhHwAlV3GHGPNkXtvXnQ07t2uvQP7EsKEttrMNfGEC44Y90Z0SWBkJlyWrSW xor2eoXEQ8zrdGufr72Od/pGvc4ejFY1lH2jXhNAK176RTfbPjSlF5wQ+8L8mVfO6VjGna pgR3b8d+8l6Zh11qocny6nz9tOuWSNb4gKNSNubhqKCWKHUYrzaZn0807hTQAQXuwp2HLC 2c07WUbqC+d6flHIXZzYryeAn21fQPmrfbTomBDRXg3rAc/WY5lM8m43/AjAo9qxbdhVwI pSQaIsRJcUIZD7Hgb4bUnhxZgkF1Js3jntNsEhccQTNNs4F3NWUnC/p0z0HrJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700459914; a=rsa-sha256; cv=none; b=mduwhoHjsUrNb0ley7IJTtHJuVnWZia/IP6zqBwHPjpZ9iLMNMEh7WvP+SqQhSpn5n7+9f AS1CFvizkOeh7bA57srWLMRS5CZtLszIKq2wkxxwGgM3v7tMC6KIOUFGXJPEZr9ZVkU8MX Bq69Yi7t73HtzxPATYzMT4bLaQcBSHsRo9jkFJbXWlbyNKZy7hm3tPBPZ83JluJkv5GHGn hrN2vTe7X2IpbE1VBGrSpqTemmWrx3CyWL+WBIdbn8WYFvf9MJhm+ERBYSBabi5wFRu3M/ oLxjZACX3OWFhsiEKCYkBvus4aYodASghuLzF/nJ/KSBU1jlRTDtZiy1O0luUw== 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 4SYcJB5RYSzgpX; Mon, 20 Nov 2023 05:58:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AK5wYx6072260; Mon, 20 Nov 2023 05:58:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AK5wYhT072257; Mon, 20 Nov 2023 05:58:34 GMT (envelope-from git) Date: Mon, 20 Nov 2023 05:58:34 GMT Message-Id: <202311200558.3AK5wYhT072257@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: e0d0f0930ee2 - main - pseudofs: fix off by one in hash iteration in pfs_purge 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: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e0d0f0930ee22af7bf38d28d8590d4e6c822871d Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=e0d0f0930ee22af7bf38d28d8590d4e6c822871d commit e0d0f0930ee22af7bf38d28d8590d4e6c822871d Author: Alvin Chen AuthorDate: 2023-11-20 05:55:35 +0000 Commit: Mateusz Guzik CommitDate: 2023-11-20 05:57:25 +0000 pseudofs: fix off by one in hash iteration in pfs_purge Sponsored by: Dell Technologies Differential Revision: https://reviews.freebsd.org/D42628 --- sys/fs/pseudofs/pseudofs_vncache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/pseudofs/pseudofs_vncache.c b/sys/fs/pseudofs/pseudofs_vncache.c index 33023dd0d08f..e58aced7f81b 100644 --- a/sys/fs/pseudofs/pseudofs_vncache.c +++ b/sys/fs/pseudofs/pseudofs_vncache.c @@ -306,7 +306,7 @@ pfs_purge(struct pfs_node *pn) mtx_lock(&pfs_vncache_mutex); restart: removed = 0; - for (i = 0; i < pfs_vncache_hash; i++) { + for (i = 0; i <= pfs_vncache_hash; i++) { restart_chain: SLIST_FOREACH(pvd, &pfs_vncache_hashtbl[i], pvd_hash) { if (pn != NULL && pvd->pvd_pn != pn) From nobody Mon Nov 20 11:27:10 2023 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 4SYlbL5Xxvz518CT; Mon, 20 Nov 2023 11:27:10 +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 4SYlbL4jJNz3VX1; Mon, 20 Nov 2023 11:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700479630; 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=0J+mJtmhIyhNhB7oGb5m8IpGGJkBxJo3aLGtKPFlDTY=; b=NH6MmqcWEf8agB0PS+mF/YgIKfdh9DRhWlxmqtS+eawbK84h1e53alGlsUU72RM587OYT0 xkrGe8Vlr2M/L5KfFJr0ciozFjUMMb0AlQOyYZLH/EK+j8erlCNNhTIHdgBseQiaI2e+fS XvKQzebf93xjPd3r8YrtWeixaiMjBCMyquZiHdcSf789ihHACLrS8lWcD33nlZPM9eefJk HMmcpc+rTZ+HJKpLZoBnKUrhI9J9bRXriCw/QQngwo+VPhpNxl/dmXYT5+Mhrds77vQEyf ic0rhdO1J3UfKm0WupvqBVBGWqU1uL2A7rUV6W3TtD+Hkgn/rhXmKGTdiRVhlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700479630; 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=0J+mJtmhIyhNhB7oGb5m8IpGGJkBxJo3aLGtKPFlDTY=; b=aqa8kP4DfXsaiA+Y9Cd9qJbod9hy8qWYn7VOYh6d3u9jbe9LA5eaNOu6Fgvxj/PnT8idqL ZrLMQ7MnhSLJuqjEHYo8TkHaUmdsVMhhRkorQ4ZZkv0eJt4aXG5rpevsZOQOoCaa8VtAwj Es0wBcD+Xili4idsYCo1d3VmLX2GtMoKIVGbZ6Aks17KXaBuEn1fWTU4QRf3llV3tdrKHd cSPwR1uV+PaePHTauciNeQefXhTqx3xZvC8M8192zHxDee8nkes+bJCoiRA8i03d1/p1L0 qMM0kHAn0TA4JRXSkcYIEX6X1uFZG2fV2wxH26yvcZ5R8shE9Y899minBNZeFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700479630; a=rsa-sha256; cv=none; b=GFiIDIKFB5B1ILlQwK0/YxYuw8h1VexwE79ViyFPL6G0yBnOmkklQF/0KwfbcIFWZxEYw0 QrbNKPHAXs+ASgGxx1W5Aut2JiTlnK3yAHzoH3dZl1hvH+d6gDG/s6ruu4mdOdTzJeK08S AWmYd4aEecXsF84YnHlO06Z9WQAg0AzyMwwrNho3mXOz5y6MMdpzsu2UFhPSq2ixrOWxMT 7zcsTNZjeUmhCQPF0wesL/qXlXQxLRN/VBYr8gDMXF0pO8besk6h5+u5p3RviVDIJPENoH hGrsM3F3oUxCPQlkCyJsYW8QQfSm3OcgQad/HWMJ4oJBchOUlpW5IcSeYQUMeA== 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 4SYlbL3m1rzqBS; Mon, 20 Nov 2023 11:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKBRAiU022354; Mon, 20 Nov 2023 11:27:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKBRAHv022351; Mon, 20 Nov 2023 11:27:10 GMT (envelope-from git) Date: Mon, 20 Nov 2023 11:27:10 GMT Message-Id: <202311201127.3AKBRAHv022351@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 806e4e3273be - main - ldconfig: filter out non-existing directories from default path 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 806e4e3273bee2e3a12ffc2e74db5c912fbd7aa9 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=806e4e3273bee2e3a12ffc2e74db5c912fbd7aa9 commit 806e4e3273bee2e3a12ffc2e74db5c912fbd7aa9 Author: Konstantin Belousov AuthorDate: 2023-11-16 05:38:00 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-20 11:26:00 +0000 ldconfig: filter out non-existing directories from default path This is done only for ld-elf32.so.1, where /lib32 is kept in the path due to the way STANDARD_LIBRARY_PATH is defined in rtld_paths.h. This change fixes innocent warning appearing after 99132daf6f70cb0cc969c555d3612547fa3cf1db Reviewed by: dim, emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42626 --- libexec/rc/rc.d/ldconfig | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/ldconfig b/libexec/rc/rc.d/ldconfig index ecbbca210ea0..ed3484017d84 100755 --- a/libexec/rc/rc.d/ldconfig +++ b/libexec/rc/rc.d/ldconfig @@ -53,7 +53,11 @@ ldconfig_start() done _LDC="" if [ -x /libexec/ld-elf32.so.1 ]; then - _LDC=$(/libexec/ld-elf32.so.1 -v | sed -n -e '/^Default lib path /s///p' | tr : ' ') + for x in $(/libexec/ld-elf32.so.1 -v | sed -n -e '/^Default lib path /s///p' | tr : ' '); do + if [ -d "${x}" ]; then + _LDC="${_LDC} ${x}" + fi + done fi for i in ${ldconfig32_paths}; do if [ -r "${i}" ]; then From nobody Mon Nov 20 13:04:27 2023 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 4SYnlc0p49z51G5n; Mon, 20 Nov 2023 13:04: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 4SYnlc0CJZz3cX2; Mon, 20 Nov 2023 13:04:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700485468; 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=TGZSevQ2ea9wN0t7XbZaldk8SBczi8RLGRzmgZHwnwY=; b=VN3HvVfhdAw9dxqSuCa5I9pj6V9GNUmYW2zbHTFogw5aFq8VtDiIY1byT7kWQ75vtCEuWm 9uqduzJyC7YcUyb1X4TACzKUl+WF6dQK7Q4n9Sd2/zcBUkzAU4cTRvtPd038K631quS5pX EAs/zxZVia1n9RFlkHc70wUnm0uzHAXYVO4Rv9fTaKR9QD8jmHlMIXWewAMRb2vNcSQMOV 59kDI5n8p1BKPYm+YGoVGFD1YfFmHCAWL8XRnL/bSCvBMay9uZtDan3Jy+7RefgOtKzjqZ htf8X+0vaGQizdCN2bsxrrXN4xo4ep03DSAmRixHOeajkWXR8Dp9seIl9LW3kQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700485468; 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=TGZSevQ2ea9wN0t7XbZaldk8SBczi8RLGRzmgZHwnwY=; b=p54a5Z5gfZXSsSIvoVqzqej4Eje1r3Fcf7HKjGLraL5GQcCDEFVgdYBjc1SNfi9WlrEr/X 5nH6j/3Q/vDxXz7f5z/MikdMwf1bRb0RKKdcormyhTsTjMPNOdZsajE80aEJHmqGrn5zC3 B2+aKlH2he/3HdruNHUarK4gE3+9hSx1sF9V6/JW8ixXOAXliksB90MfLLKR8cvSl4yCm7 UO11f/wqQEbV5yhPH5bZoM2yAgp5XmtWCWjB/qWbYZjJLcd0su4UzGIhzJlapACXYzXc2p ioGovuLbxUvv+fh/Gp1Xeb2y59hb2j9SAht8vkiCsCbzhgA5jrvO3oFLguR2yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700485468; a=rsa-sha256; cv=none; b=gAnmHxrp3veXRLETafPUf1WW5azlrb5Q74R0+y1zlpEZQCpPPWVisBkEUW1TDy9FWERxzV v5JrUITpOncV1lyF1xS0cxChmwQ2L6W7oZp9yV0e/Roh9VV3Ii56nnYu/274vlAcx0w1Sz bz2IjrxUN1T5WpG+lU5EwJdUtaeO7uXElaUAoEY4y+8T8rqwMig2WdudMNoJFVVh8CRmkV qnvddD6KvbfX23OyYRIXuWkBg2VjRotd65J/DMXlsuZ+ZQYZLj7VzZeVHaWFnfzBwZb1nJ FfSivfQ2SriHV5H9UXI+Pq4rc1Z3TZIyENbKwFxrp4m6Ves6DAREgLnotEBkkQ== 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 4SYnlb6L39ztBx; Mon, 20 Nov 2023 13:04:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKD4RZM089639; Mon, 20 Nov 2023 13:04:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKD4RjV089636; Mon, 20 Nov 2023 13:04:27 GMT (envelope-from git) Date: Mon, 20 Nov 2023 13:04:27 GMT Message-Id: <202311201304.3AKD4RjV089636@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: f831517d862d - stable/14 - pf: fix dummynet + ipdivert use case 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f831517d862dac2df3110c569b44e8417c3f0afa Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f831517d862dac2df3110c569b44e8417c3f0afa commit f831517d862dac2df3110c569b44e8417c3f0afa Author: Igor Ostapenko AuthorDate: 2023-11-17 16:04:01 +0000 Commit: Kristof Provost CommitDate: 2023-11-20 10:30:19 +0000 pf: fix dummynet + ipdivert use case Dummynet re-injects an mbuf with MTAG_IPFW_RULE added, and the same mtag is used by divert(4) as parameters for packet diversion. If according to pf rule set a packet should go through dummynet first and through ipdivert after then mentioned mtag must be removed after dummynet not to make ipdivert think that this is its input parameters. At the very beginning ipfw consumes this mtag what means the same behavior with tag clearing after dummynet. And after fabf705f4b5a pf passes parameters to ipdivert using its personal MTAG_PF_DIVERT mtag. PR: 274850 Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D42609 (cherry picked from commit fe3bb40b9e807d4010617de1ef040ba3aa623487) --- sys/netpfil/pf/pf.c | 27 +++++++-- tests/sys/netpfil/pf/divert-to.sh | 118 +++++++++++++++++++++++++++++++++++++- 2 files changed, 139 insertions(+), 6 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 6e6b0b20130d..9cb5fe03b5c2 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -303,6 +303,8 @@ static int pf_state_key_attach(struct pf_state_key *, static void pf_state_key_detach(struct pf_kstate *, int); static int pf_state_key_ctor(void *, int, void *, int); static u_int32_t pf_tcp_iss(struct pf_pdesc *); +static __inline void pf_dummynet_flag_remove(struct mbuf *m, + struct pf_mtag *pf_mtag); static int pf_dummynet(struct pf_pdesc *, struct pf_kstate *, struct pf_krule *, struct mbuf **); static int pf_dummynet_route(struct pf_pdesc *, @@ -4140,7 +4142,7 @@ pf_test_eth_rule(int dir, struct pfi_kkif *kif, struct mbuf **m0) /* But only once. We may see the packet multiple times (e.g. * PFIL_IN/PFIL_OUT). */ - mtag->flags &= ~PF_MTAG_FLAG_DUMMYNET; + pf_dummynet_flag_remove(m, mtag); return (PF_PASS); } @@ -4361,7 +4363,7 @@ pf_test_eth_rule(int dir, struct pfi_kkif *kif, struct mbuf **m0) mtag->flags |= PF_MTAG_FLAG_DUMMYNET; ip_dn_io_ptr(m0, &dnflow); if (*m0 != NULL) - mtag->flags &= ~PF_MTAG_FLAG_DUMMYNET; + pf_dummynet_flag_remove(m, mtag); } else { PF_RULES_RUNLOCK(); } @@ -7794,6 +7796,21 @@ pf_test_eth(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, return (pf_test_eth_rule(dir, kif, m0)); } +static __inline void +pf_dummynet_flag_remove(struct mbuf *m, struct pf_mtag *pf_mtag) +{ + struct m_tag *mtag; + + pf_mtag->flags &= ~PF_MTAG_FLAG_DUMMYNET; + + /* dummynet adds this tag, but pf does not need it, + * and keeping it creates unexpected behavior, + * e.g. in case of divert(4) usage right after dummynet. */ + mtag = m_tag_locate(m, MTAG_IPFW_RULE, 0, NULL); + if (mtag != NULL) + m_tag_delete(m, mtag); +} + static int pf_dummynet(struct pf_pdesc *pd, struct pf_kstate *s, struct pf_krule *r, struct mbuf **m0) @@ -7844,7 +7861,7 @@ pf_dummynet_route(struct pf_pdesc *pd, struct pf_kstate *s, ip_dn_io_ptr(m0, &dnflow); if (*m0 != NULL) { pd->pf_mtag->flags &= ~PF_MTAG_FLAG_ROUTE_TO; - pd->pf_mtag->flags &= ~PF_MTAG_FLAG_DUMMYNET; + pf_dummynet_flag_remove(*m0, pd->pf_mtag); } } } @@ -7933,7 +7950,7 @@ pf_test(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, /* But only once. We may see the packet multiple times (e.g. * PFIL_IN/PFIL_OUT). */ - pd.pf_mtag->flags &= ~PF_MTAG_FLAG_DUMMYNET; + pf_dummynet_flag_remove(m, pd.pf_mtag); PF_RULES_RUNLOCK(); return (PF_PASS); @@ -8494,7 +8511,7 @@ pf_test6(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, struct inpcb if (ip_dn_io_ptr != NULL && pd.pf_mtag != NULL && pd.pf_mtag->flags & PF_MTAG_FLAG_DUMMYNET) { - pd.pf_mtag->flags &= ~PF_MTAG_FLAG_DUMMYNET; + pf_dummynet_flag_remove(m, pd.pf_mtag); /* Dummynet re-injects packets after they've * completed their delay. We've already * processed them, so pass unconditionally. */ diff --git a/tests/sys/netpfil/pf/divert-to.sh b/tests/sys/netpfil/pf/divert-to.sh index 0a37cea78ad3..965464b35810 100644 --- a/tests/sys/netpfil/pf/divert-to.sh +++ b/tests/sys/netpfil/pf/divert-to.sh @@ -51,11 +51,13 @@ # > outbound > diverted > outbound | network terminated # # Test case naming legend: +# ipfwon - with ipfw enabled +# ipfwoff - with ipfw disabled # in - inbound # div - diverted # out - outbound # fwd - forwarded -# ipfwon - with ipfw enabled, which allows all +# dn - delayed by dummynet # . $(atf_get_srcdir)/utils.subr @@ -67,6 +69,13 @@ divert_init() fi } +dummynet_init() +{ + if ! kldstat -q -m dummynet; then + atf_skip "This test requires dummynet" + fi +} + ipfw_init() { if ! kldstat -q -m ipfw; then @@ -396,6 +405,110 @@ ipfwon_in_div_in_fwd_out_div_out_cleanup() pft_cleanup } +atf_test_case "ipfwoff_in_dn_in_div_in_out_dn_out_div_out" "cleanup" +ipfwoff_in_dn_in_div_in_out_dn_out_div_out_head() +{ + atf_set descr 'Test inbound > delayed+diverted > outbound > delayed+diverted > outbound | network terminated' + atf_set require.user root +} +ipfwoff_in_dn_in_div_in_out_dn_out_div_out_body() +{ + local ipfwon + + pft_init + divert_init + dummynet_init + test "$1" == "ipfwon" && ipfwon="yes" + test $ipfwon && ipfw_init || assert_ipfw_is_off + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}b + ifconfig ${epair}a 192.0.2.1/24 up + ifconfig ${epair}a ether 02:00:00:00:00:01 + jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + test $ipfwon && jexec alcatraz ipfw add 65534 allow all from any to any + + # Sanity check + atf_check -s exit:0 -o ignore ping -c3 192.0.2.2 + + # a) ping should time out due to very narrow dummynet pipes { + + jexec alcatraz dnctl pipe 1001 config bw 1Byte/s + jexec alcatraz dnctl pipe 1002 config bw 1Byte/s + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "ether pass in from 02:00:00:00:00:01 l3 all dnpipe 1001" \ + "ether pass out to 02:00:00:00:00:01 l3 all dnpipe 1002 " \ + "pass all" \ + "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 1001 no state" \ + "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 1002 no state" + + jexec alcatraz $(atf_get_srcdir)/divapp 1001 divert-back & + indivapp_pid=$! + jexec alcatraz $(atf_get_srcdir)/divapp 1002 divert-back & + outdivapp_pid=$! + # Wait for the divappS to be ready + sleep 1 + + atf_check -s not-exit:0 -o ignore ping -c1 -s56 -t1 192.0.2.2 + + wait $indivapp_pid + atf_check_not_equal 0 $? + wait $outdivapp_pid + atf_check_not_equal 0 $? + + # } + + # b) ping should NOT time out due to wide enough dummynet pipes { + + jexec alcatraz dnctl pipe 2001 config bw 100KByte/s + jexec alcatraz dnctl pipe 2002 config bw 100KByte/s + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "ether pass in from 02:00:00:00:00:01 l3 all dnpipe 2001" \ + "ether pass out to 02:00:00:00:00:01 l3 all dnpipe 2002 " \ + "pass all" \ + "pass in inet proto icmp icmp-type echoreq divert-to 127.0.0.1 port 2001 no state" \ + "pass out inet proto icmp icmp-type echorep divert-to 127.0.0.1 port 2002 no state" + + jexec alcatraz $(atf_get_srcdir)/divapp 2001 divert-back & + indivapp_pid=$! + jexec alcatraz $(atf_get_srcdir)/divapp 2002 divert-back & + outdivapp_pid=$! + # Wait for the divappS to be ready + sleep 1 + + atf_check -s exit:0 -o ignore ping -c1 -s56 -t1 192.0.2.2 + + wait $indivapp_pid + atf_check_equal 0 $? + wait $outdivapp_pid + atf_check_equal 0 $? + + # } +} +ipfwoff_in_dn_in_div_in_out_dn_out_div_out_cleanup() +{ + pft_cleanup +} + +atf_test_case "ipfwon_in_dn_in_div_in_out_dn_out_div_out" "cleanup" +ipfwon_in_dn_in_div_in_out_dn_out_div_out_head() +{ + atf_set descr 'Test inbound > delayed+diverted > outbound > delayed+diverted > outbound | network terminated, with ipfw enabled' + atf_set require.user root +} +ipfwon_in_dn_in_div_in_out_dn_out_div_out_body() +{ + ipfwoff_in_dn_in_div_in_out_dn_out_div_out_body "ipfwon" +} +ipfwon_in_dn_in_div_in_out_dn_out_div_out_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "ipfwoff_in_div" @@ -410,4 +523,7 @@ atf_init_test_cases() atf_add_test_case "ipfwoff_in_div_in_fwd_out_div_out" atf_add_test_case "ipfwon_in_div_in_fwd_out_div_out" + + atf_add_test_case "ipfwoff_in_dn_in_div_in_out_dn_out_div_out" + atf_add_test_case "ipfwon_in_dn_in_div_in_out_dn_out_div_out" } From nobody Mon Nov 20 13:05:13 2023 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 4SYnmT6bSgz51GTD; Mon, 20 Nov 2023 13:05:13 +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 4SYnmT5pFDz3cwJ; Mon, 20 Nov 2023 13:05:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700485513; 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=dZXT/lAIoVWxRSPgWnNEdgWo/wTXZ9/Eu2fwu+nYUiM=; b=oNBp79sWcOXB44smAobcFJjEZarmfs6bpN3rl8ZAUAa3e/rRC7EdupXQSO5ZuqIlOtJYbj UV1+mgNkEHg3i6thmxi4J488QEwNRSoIBHAjqq3NqYjsfwxkHdfe69nD5qxVcCQrEGlPzA LezC2RDCZTFuqQ80EftwDZv6opVlPDyda0w72RqMU0wzr7qfgJVPbXYGAI+Ot89lIAxuqd 2qwX02BQUBia/jdsLRNXyqEihvPbA5dJ9LRfnKPKB5UosLRIxkhdLwl+NJFWsPjL56/Ham qQmnCcdxNo7Xljw/5ouwebgRwOEx0lV9Z0MSUqfWkiRFU882WwuJ+GUw0PswlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700485513; 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=dZXT/lAIoVWxRSPgWnNEdgWo/wTXZ9/Eu2fwu+nYUiM=; b=bxT1k4epHfMw7QAdafsZo/vBW+FG5MNZgm/cgvzXPmlxYK1CS3fEbnTDEiU6bvtjRDW7b+ TnMp0Jmur9nvqRmUvVcWTF0qYTvNO1p3tZ8ujuE2b2eDZp4IihA3WCa1Fjq8M2O1IdhlG4 X4FE2YdTn/3rN77ZfYqdQVUoHt8yYXxXu2i1mPEmUd+9zsQdYxbrkK8jUWk9L6kXwA+Bhd 5dXaQiDrCR1e8VnFzmfXiFo0bIgFsy8Ym2P3DumuwwH2N10sgsxf2CqXgEea+NDmjRaOf5 UX4ZjaZ7VALHD/BALY1fXgUyBr6KE6ZMK3fjjV7r7J5hbvj69sB+bA8VWYKxGA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700485513; a=rsa-sha256; cv=none; b=BLrRPeeN5DVWa2aMQylYgD/2OhUfTIfdN06JsiZudYJfxzE2r+GZjA64QHhAKxw/BAFfMs WXc64vNRZk2oIVB+qDEm2usJyftM3ZfleF4r4mnCl4a4wk+Iuwf5BNRbI/w74ebHnHGNK9 UZTrawt1tDkCe352Otr7smuTpEc7jk2bvv2FR/ljI0PAe0zB8pRtPqcXGGYYvJBy54UE2B hjNgcLSOyU8OjdX4jDtRef/Lfg3KqfsRUIXmfFeuFCEfZPlIvwQWtxcTuIOpxjgHvJOqtk dKlgNs5LSm7RJZzbopF9EnSr8uuqDDTH/fIcz4KXtgwWfe7kHDTxVWCD+YpBpg== 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 4SYnmT4tDQzsy8; Mon, 20 Nov 2023 13:05:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKD5DJj089887; Mon, 20 Nov 2023 13:05:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKD5Ddl089884; Mon, 20 Nov 2023 13:05:13 GMT (envelope-from git) Date: Mon, 20 Nov 2023 13:05:13 GMT Message-Id: <202311201305.3AKD5Ddl089884@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 7e1affa242ca - main - pf.conf.5: revise divert-to and divert-reply 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e1affa242ca83710eb64e2c6184263fbea3deb7 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=7e1affa242ca83710eb64e2c6184263fbea3deb7 commit 7e1affa242ca83710eb64e2c6184263fbea3deb7 Author: Igor Ostapenko AuthorDate: 2023-11-17 20:01:17 +0000 Commit: Kristof Provost CommitDate: 2023-11-20 11:30:18 +0000 pf.conf.5: revise divert-to and divert-reply --- share/man/man5/pf.conf.5 | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index b241e5173ef0..3193c18760c8 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd October 27, 2023 +.Dd November 17, 2023 .Dt PF.CONF 5 .Os .Sh NAME @@ -2151,19 +2151,22 @@ Only effective before the route lookup happened, i.e. when filtering inbound. .It Xo Ar divert-to Aq Ar host .Ar port Aq Ar port .Xc -Used to redirect packets to a local socket bound to -.Ar host -and +Used to +.Xr divert 4 +packets to the given divert .Ar port . -The packets will not be modified, so -.Xr getsockname 2 -on the socket will return the original destination address of the packet. +Historically +.Ox pf has another meaning for this, and +.Fx pf uses +this syntax to support +.Xr divert 4 instead. Hence, +.Ar host +has no meaning and can be set to anything like 127.0.0.1. +If a packet is re-injected and does not change direction then it will not be +re-diverted. .It Ar divert-reply -Used to receive replies for sockets that are bound to addresses -which are not local to the machine. -See -.Xr setsockopt 2 -for information on how to bind these sockets. +It has no meaning in +.Fx pf . .It Ar probability Aq Ar number A probability attribute can be attached to a rule, with a value set between 0 and 1, bounds not included. From nobody Mon Nov 20 13:05:14 2023 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 4SYnmW0hJJz51GTM; Mon, 20 Nov 2023 13:05:15 +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 4SYnmW0064z3crJ; Mon, 20 Nov 2023 13:05:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700485515; 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=x2zmzCaiD3CmL3MDGEtsILP0Gf2AWNuEa2A0Zw/UdwI=; b=kYTdB9zckBbmOFXT00rkWCLWo47ZOKGMOQTV8Y6NPRNAbaPNBMF4jDxnt9C163EL9R3kK6 DUtU2SJzvKEVmc+vbfxZofFv5s8BY9wmRtDwSJJNv3kfevPObzhCcvSX7vENjSzzutAdmy AP9kZ3Bk0DUvU1/i+6prfCjKQKHKLeZN596f3tOyWTLjJKi6LMh+Bm11ceEhJuvdxHcTGM mhpLOg8OAnqr6a+qURme+6JD44Q/tDeSP4mWCzExqvEuPyv1x5JKs68I6R5JP8Zaqg/iaM Jj5oC6F1pP/xlTIUOB6+OXLAxYBaq1gRO2TR3si1NRmE8sVHuyfunFwb5+I1iA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700485515; 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=x2zmzCaiD3CmL3MDGEtsILP0Gf2AWNuEa2A0Zw/UdwI=; b=bcsgnsP00Jt2FingA4ZBEX2vvLyAbAiiM7DjMepM7ZiQJ6oD6L559WH/NY115qFcj/la7i t9ZoX/OvFf6cXG+pDhi4qg04rPSEw7DB5CVVzb9DOixS82qrSSODkgr2TL6uoyHLr7AAcc NVIPvrZV0ZDqTGJClwNck8n822IxTGlOULrlPRLCiaNEL4rj0ZolzMtdXeOl+cT8XK6IZ4 WnqslL9O+we7ciZApoFXVcJtq16HYA4T6oiAIlWHqUQCbrSuvMkjwAyyS8eyNhPMdrX6g0 1ZGjt2gQ3ga5m/pytXUxXg97Nv27znjr/2Iv4LDg7qp7RBpfT4A5o3P4N3HGEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700485515; a=rsa-sha256; cv=none; b=NGB+QpI131lufBqGEitVfXGNZjSjN+Z8lCowfTN+7p52zDCB4h5LdsmaWd3HqHQnRybnET BNvYTlHv0jpP/baW0cRGM66OiVro1ajSMlXCF/gfrs9u/qoZ88WPMSYGc2Ird7kIu5lzwt UPKCZoQi42iF9amfLITiaYKBw/D0tIvtpQFtBRko2Xz1Zuuhh3T6gJ4ELHg6Vx4DaTHIxd h8FXzMu+bU23CDB23F0pcUkBRETFWhUZXae7esORkkT10cA/d1TnsfKxV83VxHHHsjUY98 GI8jdTs+iwAM2xNEWUhFyhs4YBlfV6S/m3OfZ4zfn8y5bTGvaWaS0YjThEtzig== 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 4SYnmV5wLPzt69; Mon, 20 Nov 2023 13:05:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKD5EPb089941; Mon, 20 Nov 2023 13:05:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKD5Ev8089938; Mon, 20 Nov 2023 13:05:14 GMT (envelope-from git) Date: Mon, 20 Nov 2023 13:05:14 GMT Message-Id: <202311201305.3AKD5Ev8089938@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: b453e3f75543 - main - pf tests: fix name and description of divert-to cases 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b453e3f7554333a31496b9c748e6130017d3832f Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=b453e3f7554333a31496b9c748e6130017d3832f commit b453e3f7554333a31496b9c748e6130017d3832f Author: Igor Ostapenko AuthorDate: 2023-11-19 12:23:44 +0000 Commit: Kristof Provost CommitDate: 2023-11-20 11:30:18 +0000 pf tests: fix name and description of divert-to cases Reflect the correct order of events for dummynet+ipdivert. --- tests/sys/netpfil/pf/divert-to.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/sys/netpfil/pf/divert-to.sh b/tests/sys/netpfil/pf/divert-to.sh index 965464b35810..72adbeedb007 100644 --- a/tests/sys/netpfil/pf/divert-to.sh +++ b/tests/sys/netpfil/pf/divert-to.sh @@ -405,13 +405,13 @@ ipfwon_in_div_in_fwd_out_div_out_cleanup() pft_cleanup } -atf_test_case "ipfwoff_in_dn_in_div_in_out_dn_out_div_out" "cleanup" -ipfwoff_in_dn_in_div_in_out_dn_out_div_out_head() +atf_test_case "ipfwoff_in_dn_in_div_in_out_div_out_dn_out" "cleanup" +ipfwoff_in_dn_in_div_in_out_div_out_dn_out_head() { - atf_set descr 'Test inbound > delayed+diverted > outbound > delayed+diverted > outbound | network terminated' + atf_set descr 'Test inbound > delayed+diverted > outbound > diverted+delayed > outbound | network terminated' atf_set require.user root } -ipfwoff_in_dn_in_div_in_out_dn_out_div_out_body() +ipfwoff_in_dn_in_div_in_out_div_out_dn_out_body() { local ipfwon @@ -489,22 +489,22 @@ ipfwoff_in_dn_in_div_in_out_dn_out_div_out_body() # } } -ipfwoff_in_dn_in_div_in_out_dn_out_div_out_cleanup() +ipfwoff_in_dn_in_div_in_out_div_out_dn_out_cleanup() { pft_cleanup } -atf_test_case "ipfwon_in_dn_in_div_in_out_dn_out_div_out" "cleanup" -ipfwon_in_dn_in_div_in_out_dn_out_div_out_head() +atf_test_case "ipfwon_in_dn_in_div_in_out_div_out_dn_out" "cleanup" +ipfwon_in_dn_in_div_in_out_div_out_dn_out_head() { - atf_set descr 'Test inbound > delayed+diverted > outbound > delayed+diverted > outbound | network terminated, with ipfw enabled' + atf_set descr 'Test inbound > delayed+diverted > outbound > diverted+delayed > outbound | network terminated, with ipfw enabled' atf_set require.user root } -ipfwon_in_dn_in_div_in_out_dn_out_div_out_body() +ipfwon_in_dn_in_div_in_out_div_out_dn_out_body() { - ipfwoff_in_dn_in_div_in_out_dn_out_div_out_body "ipfwon" + ipfwoff_in_dn_in_div_in_out_div_out_dn_out_body "ipfwon" } -ipfwon_in_dn_in_div_in_out_dn_out_div_out_cleanup() +ipfwon_in_dn_in_div_in_out_div_out_dn_out_cleanup() { pft_cleanup } @@ -524,6 +524,6 @@ atf_init_test_cases() atf_add_test_case "ipfwoff_in_div_in_fwd_out_div_out" atf_add_test_case "ipfwon_in_div_in_fwd_out_div_out" - atf_add_test_case "ipfwoff_in_dn_in_div_in_out_dn_out_div_out" - atf_add_test_case "ipfwon_in_dn_in_div_in_out_dn_out_div_out" + atf_add_test_case "ipfwoff_in_dn_in_div_in_out_div_out_dn_out" + atf_add_test_case "ipfwon_in_dn_in_div_in_out_div_out_dn_out" } From nobody Mon Nov 20 15:36:18 2023 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 4SYs760tRDz51S91; Mon, 20 Nov 2023 15:36:34 +0000 (UTC) (envelope-from ctuffli@gmail.com) Received: from mail-oa1-f47.google.com (mail-oa1-f47.google.com [209.85.160.47]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SYs75235Nz4Ryc; Mon, 20 Nov 2023 15:36:33 +0000 (UTC) (envelope-from ctuffli@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of ctuffli@gmail.com designates 209.85.160.47 as permitted sender) smtp.mailfrom=ctuffli@gmail.com; dmarc=none Received: by mail-oa1-f47.google.com with SMTP id 586e51a60fabf-1f5eac85e0eso671649fac.1; Mon, 20 Nov 2023 07:36:33 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700494592; x=1701099392; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LhhUnoCeID+7E7SJNYHk5yV6X7BOgtBdTWSF6Gf+dy8=; b=JYuawy9hITviDalsvko0DCwT3M9x+qojfdN3cAH7jDD/D22gJpb551zKc7bVJGCXFS M4ZnWBvx+ycfvkWktOkaYIxiRL3SxZE7s4kA7KWu1mRuBlq8DyRyNT3HonqgseTgycPL mjYVjR1d9cOra/NGgOgD8txvseiQvXQVIEUpp98BmcwkTJ9R7s4yRRBtmB1HZ3zMCFRe X/oSxKTRK+eHeQ57iGE9o+mQuiibOQeLOAaCpklAhq/IUp4slAEal1JRj46p08GAmF2i aqBX1kefH+LfCMydUeHUxOpntUpSK9gdzfHLHMyrRkGJpoZvOh7iZPgwWeT6ehWSVuzI /MpQ== X-Gm-Message-State: AOJu0Yz3u028wL2NBgx4VEu8itDV0MNtcS315vwv22a8wCANxT1+uVte vosZh9os/m5u99LkTI5YpzktyxrJ9LI= X-Google-Smtp-Source: AGHT+IFH0OnlPkEJcj+OaClmAxsUeMqL1wl9pDD034SLKyUeB8xV+kgSSMY86LY67SrLIsZG8AQ9Mw== X-Received: by 2002:a05:6870:798c:b0:1f9:602e:7b08 with SMTP id he12-20020a056870798c00b001f9602e7b08mr231790oab.11.1700494590268; Mon, 20 Nov 2023 07:36:30 -0800 (PST) Received: from mail-oa1-f45.google.com (mail-oa1-f45.google.com. [209.85.160.45]) by smtp.gmail.com with ESMTPSA id e2-20020a056870450200b001f4d34ae2ecsm1359433oao.23.2023.11.20.07.36.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Nov 2023 07:36:30 -0800 (PST) Received: by mail-oa1-f45.google.com with SMTP id 586e51a60fabf-1ea98ad294cso2031647fac.3; Mon, 20 Nov 2023 07:36:30 -0800 (PST) X-Received: by 2002:a05:6871:2b16:b0:1e9:b4d1:9bed with SMTP id dr22-20020a0568712b1600b001e9b4d19bedmr7005594oac.40.1700494589790; Mon, 20 Nov 2023 07:36:29 -0800 (PST) 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 References: <202311180432.3AI4W3YM029176@gitrepo.freebsd.org> <71162369-66f6-4f08-9ba7-e87236151fee@aetern.org> In-Reply-To: <71162369-66f6-4f08-9ba7-e87236151fee@aetern.org> From: Chuck Tuffli Date: Mon, 20 Nov 2023 07:36:18 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 34a6ad848fbf - main - nvme: Don't use version to listen for events for ns and fw changes To: Yuri Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-2.96 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.997]; NEURAL_HAM_SHORT(-0.96)[-0.960]; FORGED_SENDER(0.30)[chuck@freebsd.org,ctuffli@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; RCVD_IN_DNSWL_NONE(0.00)[209.85.160.45:received]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.160.47:from]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; RCPT_COUNT_FIVE(0.00)[5]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_HAS_DN(0.00)[]; RCVD_TLS_LAST(0.00)[]; TO_DN_SOME(0.00)[]; DMARC_NA(0.00)[freebsd.org]; FROM_NEQ_ENVFROM(0.00)[chuck@freebsd.org,ctuffli@gmail.com] X-Rspamd-Queue-Id: 4SYs75235Nz4Ryc X-Spamd-Bar: -- On Fri, Nov 17, 2023 at 8:53=E2=80=AFPM Yuri wrote: > > Warner Losh wrote: > > The branch main has been updated by imp: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D34a6ad848fbf471773a430a7= e457bf49816e756e > > > > commit 34a6ad848fbf471773a430a7e457bf49816e756e > > Author: Warner Losh > > AuthorDate: 2023-11-18 04:24:00 +0000 > > Commit: Warner Losh > > CommitDate: 2023-11-18 04:25:57 +0000 > > > > nvme: Don't use version to listen for events for ns and fw changes ... > > if (ctrlr->cdata.ver >=3D NVME_REV(1, 2)) > > It seems to be under version check still? Or am I misreading the commit > message? > > > - ctrlr->async_event_config |=3D NVME_ASYNC_EVENT_NS_ATTRIB= UTE | > > - NVME_ASYNC_EVENT_FW_ACTIVATE; > > + ctrlr->async_event_config |=3D > > + ctrlr->cdata.oaes & (NVME_ASYNC_EVENT_NS_ATTRIBUTE | > > + NVME_ASYNC_EVENT_FW_ACTIVATE); I think this logic is correct as the Namespace and Firmware events didn't exist prior to version 1.2. The significant change here (irrespective of the commit message wording) is masking these events if the device doesn't support them. That is, their respective bit in OAES (aka Optional Async Events Supported) will be zero if not supported and then won't be added to the async_event_config. Perhaps the intent was "Don't _only_ use the version to listen for events, but also check they are supported". My $.02 --chuck From nobody Mon Nov 20 16:38:18 2023 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 4SYtVL451kz51Wvm; Mon, 20 Nov 2023 16:38:18 +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 4SYtVL3bzKz4ZjV; Mon, 20 Nov 2023 16:38:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700498298; 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=TOXFm1OGn+ZjiwYpDKUjpX1QYH0W8fN8QgyYR+UfW0I=; b=pCAGsYqr63kJ7yJzMMQBXLcq16NqpNKBGfQ0S9IdUgIb26IfCq9T+1BxZNZ3bZi+CE10D2 UihBaSIXhQ2PfN/Vm2XIoNrR2r6suEJCFASAgu/Zgtje0lV4WhOf3N4OBMWtGNQeY9etLj 5bVViFFmtBm569TKANvS6qFBA2ubjKNbtl1oINPLYEdb6rJ3XwyxWRgKMaEDcBFWRj42ft CAfSjr92xwl8aoq4hprtE7iEFb/rKHoNdISrL6nb/Jt9IB4cv5WZg1TcSSnN5hEmrtsIqb g7GOf9Q73L1q/Sf03UE0BDJDw7boBS7xhzp70jzKl2kN0NDDbj6884eIxuqd1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700498298; 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=TOXFm1OGn+ZjiwYpDKUjpX1QYH0W8fN8QgyYR+UfW0I=; b=xmZVgP2GBACi/QS/DSjK6N9+hWunHac4bfGZsEZ85z2A/cRZJDTbpSF85zRLCYFmdwoJxg tZ9h/vhUpqJp0fLzp3j1VHQ0fw3USulKaqWexdPbeZn+VEeYtRvSYWivphUyRNJw74sSVx k6d8nMdktSeKdAH1sUncOsB4PcXgu1CaiPYPZivlE+I9dTcF/zZ7aouDJzR7Wu/fdCfN9O K0kT+5u2OzMsD1ZyegfsCeWluORO2KdoumG8Ryz4Bv1d0e5HHuqeCRVynG24vgtLxsoO4u 06Kn7LrbuKYIlunsimBid/qwuyIVOIrPy7QMa+FowQuxbbo4xcF77vw0u92LFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700498298; a=rsa-sha256; cv=none; b=bZOyczuMpN3r99FFyDIcbdkop6Fll/FAdBl9NucAO+Nsx6tah7uAaBtnFdA+jyUzd5Cez+ n3Hejv1P+87ztOThk+Y71WJF30jgMnbDKFLYYOqvnjy4VxxUds9ohslOnEcvaSLkC/rZT8 kYP+9yUgTmteHySfPYCe/UN2ND/tDZkrwNch5FZnJZ2fOu08tYOJjQL9jZrY/DtMta4fha 7lDLzwn6HIC+4a9Cp8jecvUo/KU33eDX14ajFHcR5zxLVxNN9D+QCX70RRR/NTpuJA023Q pQElBhocX6drx4NFkrrxivCLs0AgtbIsXTOLe4THOjwP5rpnVGbr7uvKFARtFA== 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 4SYtVL2XjKzyqH; Mon, 20 Nov 2023 16:38:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKGcIIu041272; Mon, 20 Nov 2023 16:38:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKGcI9W041269; Mon, 20 Nov 2023 16:38:18 GMT (envelope-from git) Date: Mon, 20 Nov 2023 16:38:18 GMT Message-Id: <202311201638.3AKGcI9W041269@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "R. Christian McDonald" Subject: git: 34de1d507b53 - main - committers-src: Add rcm as a src committer and kp as mentor 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: rcm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 34de1d507b53e160f6478da8acfecc7ab870d9a8 Auto-Submitted: auto-generated The branch main has been updated by rcm: URL: https://cgit.FreeBSD.org/src/commit/?id=34de1d507b53e160f6478da8acfecc7ab870d9a8 commit 34de1d507b53e160f6478da8acfecc7ab870d9a8 Author: R. Christian McDonald AuthorDate: 2023-11-20 14:43:23 +0000 Commit: R. Christian McDonald CommitDate: 2023-11-20 16:23:07 +0000 committers-src: Add rcm as a src committer and kp as mentor Approved by: kp --- share/misc/committers-src.dot | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/misc/committers-src.dot b/share/misc/committers-src.dot index 932204a2814d..4e5119df9897 100644 --- a/share/misc/committers-src.dot +++ b/share/misc/committers-src.dot @@ -309,6 +309,7 @@ qingli [label="Qing Li\nqingli@FreeBSD.org\n2005/04/13"] rajeshasp [label="Rajesh Kumar M A\nrajeshasp@FreeBSD.org\n2021/01/27"] ram [label="Ram Kishore Vegesna\nram@FreeBSD.org\n2018/04/04"] ray [label="Aleksandr Rybalko\nray@FreeBSD.org\n2011/05/25"] +rcm [label="R. Christian McDonald\nrcm@FreeBSD.org\n2023/11/14"] rdivacky [label="Roman Divacky\nrdivacky@FreeBSD.org\n2008/03/13"] remko [label="Remko Lodder\nremko@FreeBSD.org\n2007/02/23"] rew [label="Robert Wing\nrew@FreeBSD.org\n2020/07/23"] @@ -729,6 +730,7 @@ kmacy -> lstewart kp -> donner kp -> nick +kp -> rcm kp -> zlei lwhsu -> khng From nobody Mon Nov 20 16:55:13 2023 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 4SYtss4RQZz51XnT; Mon, 20 Nov 2023 16:55:13 +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 4SYtss3pgTz4c7V; Mon, 20 Nov 2023 16:55:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700499313; 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=5rPR9XR1ffq1wG7ZTjg4yuNys2/Phmhb4r+RZSRyIx8=; b=WL/7UZsFgFW94ZP/+vVH/TjrWnpreZUuAoSSdBguIhnFgG/75kzti4W1Nh8pIbujNZiUHG CFGCfmzOYb2bxJl0n6dua155rrXajVwosThVs4FgrxLNo3Wj9M9e1r87QPVgNlqkDt3Acy RkF+1qGaiZc5YiTmTqD4Ezq9xzP4dA1P4AtqbICFHOMujOW/fLAIeX7aL61sEYs8mcInIx kowxTRaWtM9kh57ffSEoj1OnqRHfMVzPBo6OCXlJNSBmorf4FiZxjM8KAKbaerB/9HbEIa Ljk88ixc/mwf1/N6VlVKuOZTSIVDQsQGmF3pKFXbVcEVRfb7aqj72F/xVoIrkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700499313; 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=5rPR9XR1ffq1wG7ZTjg4yuNys2/Phmhb4r+RZSRyIx8=; b=anzHgadAkMaDdv+IqAgaWCkCi9P/wvvzPRi9gunu37DiG111D/eHLcI8Rc790qhbz19XMW yTz94/Kf5jHDeC+b0aeV3jPZd79P0eFFGvmfKbsdFGjhBqzus6dOiGyyclIBtTCCXlS13m DXDgEzK5wBTQa5DGlBEJnWobb1L2BKNH8x71XQJ71Vslru3TsAXE8n+nxqvszCGwdeaTdR lUHPzwdSl9p5vkFIXRhGZieE3O11zoDsfP7Pa4Apktw4rWQdZeiL/z7QjXOyhuMfci7lPr MXNO9hmuP/te5mBWJdXYGjp6jxr9WtIIdyr5cxRDJpE5XLEMLMvFlMiYlKEurA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700499313; a=rsa-sha256; cv=none; b=kmsR+v24KFX0d8vDdY3r3DvGYModPBHSroPLk86+XaOFsyKbUqetfW8h0yqw9r+igP8Lr4 hFCkP/K8cdEe40LbbR6qEhJFtadNT3TJMUTM6Wsv0IZfMq80pXIGQ2WCv2hEczGYy4Snu4 Ip6f82wBmer6/tSkZ2vVLhYHt9NoxKP2rLRvU4Zj3fijLYRQfsprYwe3lp/FDrsVXPfAOI 6qAaXHPs+ZG+Ha2obNwLzFn/29lNNGG0PnyiDbkAC4mnex1V3yJ2WKgj5ZE7YMTDWGGEVi 6PDHAhdqSMhRS3Bf7agZnGTPYusd5YkeB92KqSfmh7RgormP6sOeDwZtpeJ3kg== 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 4SYtss2s8Dz10TB; Mon, 20 Nov 2023 16:55:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKGtDAh073306; Mon, 20 Nov 2023 16:55:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKGtD7u073303; Mon, 20 Nov 2023 16:55:13 GMT (envelope-from git) Date: Mon, 20 Nov 2023 16:55:13 GMT Message-Id: <202311201655.3AKGtD7u073303@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 637742252ffe - stable/14 - tty: set IUTF8 by default 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: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 637742252ffeb2f1cc48d6bfbe47bfa8d58f7fc5 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=637742252ffeb2f1cc48d6bfbe47bfa8d58f7fc5 commit 637742252ffeb2f1cc48d6bfbe47bfa8d58f7fc5 Author: Christos Margiolis AuthorDate: 2023-11-04 20:31:47 +0000 Commit: Christos Margiolis CommitDate: 2023-11-20 16:52:01 +0000 tty: set IUTF8 by default 128f63cedc14 and 9e589b093857 added proper UTF-8 backspacing handling in the tty(4) driver, which is enabled by setting the new IUTF8 flag through stty(1). Since the default locale is UTF-8, and the feature itself is important enough, enable IUTF8 by default. Related discussion: https://lists.freebsd.org/archives/freebsd-arch/2023-November/000534.html Reviewed by: imp, bojan.novkovic_fer.hr Differential Revision: https://reviews.freebsd.org/D42464 (cherry picked from commit bb830e346bd50545e9868a1802d631afb6b50bb0) --- sys/sys/ttydefaults.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/ttydefaults.h b/sys/sys/ttydefaults.h index 7e64babbc7f1..6f33973842ce 100644 --- a/sys/sys/ttydefaults.h +++ b/sys/sys/ttydefaults.h @@ -45,7 +45,7 @@ /* * Defaults on "first" open. */ -#define TTYDEF_IFLAG (BRKINT | ICRNL | IMAXBEL | IXON | IXANY) +#define TTYDEF_IFLAG (BRKINT | ICRNL | IMAXBEL | IXON | IXANY | IUTF8) #define TTYDEF_OFLAG (OPOST | ONLCR) #define TTYDEF_LFLAG_NOECHO (ICANON | ISIG | IEXTEN) #define TTYDEF_LFLAG_ECHO (TTYDEF_LFLAG_NOECHO \ From nobody Mon Nov 20 16:55:14 2023 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 4SYtst5WJgz51Y9P; Mon, 20 Nov 2023 16:55:14 +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 4SYtst503xz4c9w; Mon, 20 Nov 2023 16:55:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700499314; 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=xrq7su6C6dzrjgWiloy0XKmydrM4Tn5rIdQh0he0FMQ=; b=f+PZxKvcF618i4olhxUw44eguHjWU0vCxgRop8SKiYM9j4DuurPgpCAj0NHFMiu9JWigi3 tFEWhn5BTf8UWoGRh6pPD/+Vn3TY3MlgDUR33S1IuMl6An27V9BFN3XLymZ9aKPi0x2vpw cHZeeUsNRKinloXCqfQqOATiNBVXRHhaOGwcSoEioUEEwnYXc2meYlsg4iJsFBH6v4cp76 lmh+otL/4N+x6SAh4hTtTKtBZEYbxOCN1sTTY7pF6xVea8c2IT0uVLPcuPzfKb5weFLkUv 9U5CbpS9zb/gYuizOgMkyUINVD7kqis48ivEM+fzPlJNAbktb1zzWphMUZ2pJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700499314; 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=xrq7su6C6dzrjgWiloy0XKmydrM4Tn5rIdQh0he0FMQ=; b=uqhskkZJIDKzGZyl83/IfXmRkeiVDWOeI9mjMyvjATw+bI38xk8bJHzfnY8ck/VqhAYaG8 /vKIyTvNSXM9AfMv7owQ9xgNT4N/xpHp6O96ylexhkc2bgDRh9VtfNV2EsWvccBo9jdzFU bkngZlFZFLPT8jDl5OjDSQooXrFrgv2HiSdEkAnayAVLlMdr/iL9gO/Z/3WZEGcpftH6o7 eA+ylYFOTQ9974NjKH3eBTi18Znepa7ZC6XEkTHCc2lBFH+e0oCuEeVLM9sRksShMO7sp/ P7DYysKlL0tu80ZOEpWdTRfqAS2WSvtcSOAnnKY8xtnj78phG0IAs2Ber2OwPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700499314; a=rsa-sha256; cv=none; b=jF/v2RrJ4YSQmOkmg83NoN3bnTabegXx3HjyWH8Q8ZnMUJLLgLFMLaER914mCanf98KHww V0R7csbmlhRlCdsT/hVcb5ms9CH5E7TO0HvFT6leq5ZyN0Kv6ZRYYoEITSK3HE0Ci4dZMb adcw7ueJLPynZbdumv9hDhnbImCDJqhJ7yOyq8/ve6ooZoLoeVKSLE+I0ttsNIWR60zdqu ZT9n0b6X1898UL2EQlwfAe3OFB9N0JzqBUQDze8CTsEUpt/AY4JbIwg+odbxH4c5TIrxdI kagKkwsdQCXeMudGYOPxphzxp5DXKem7NndFA9wmrzCYzH7O+vWVifkJdLf+Fg== 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 4SYtst3h0Vz10FG; Mon, 20 Nov 2023 16:55:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKGtEqi073360; Mon, 20 Nov 2023 16:55:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKGtEQM073357; Mon, 20 Nov 2023 16:55:14 GMT (envelope-from git) Date: Mon, 20 Nov 2023 16:55:14 GMT Message-Id: <202311201655.3AKGtEQM073357@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: ae8387cc818a - stable/14 - tty: properly check character position when handling IUTF8 backspaces 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: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ae8387cc818a0d6a2229ee049b671482e1549519 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ae8387cc818a0d6a2229ee049b671482e1549519 commit ae8387cc818a0d6a2229ee049b671482e1549519 Author: Bojan Novković AuthorDate: 2023-11-13 18:02:30 +0000 Commit: Christos Margiolis CommitDate: 2023-11-20 16:54:54 +0000 tty: properly check character position when handling IUTF8 backspaces The tty_rubchar() code handling backspaces for UTF-8 characters didn't properly check whether the beginning of the current line was reached. This resulted in a kernel panic in ttyinq_unputchar() when prodded with certain malformed UTF-8 sequences. PR: 275009 Reviewed by: christos Differential Revision: https://reviews.freebsd.org/D42564 (cherry picked from commit c6d7be214811c315d234d64c6cbaa92d4f55d2c1) --- sys/kern/tty_ttydisc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/kern/tty_ttydisc.c b/sys/kern/tty_ttydisc.c index c46579cefbb1..cb5bf672d040 100644 --- a/sys/kern/tty_ttydisc.c +++ b/sys/kern/tty_ttydisc.c @@ -822,7 +822,13 @@ ttydisc_rubchar(struct tty *tp) /* Loop back through inq until we hit the * leading byte. */ while (CTL_UTF8_CONT(c) && nb < UTF8_STACKBUF) { - ttyinq_peekchar(&tp->t_inq, &c, "e); + /* + * Check if we've reached the beginning + * of the line. + */ + if (ttyinq_peekchar(&tp->t_inq, &c, + "e) != 0) + break; ttyinq_unputchar(&tp->t_inq); bytes[curidx] = c; curidx--; From nobody Mon Nov 20 16:58:09 2023 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 4SYtxF2w88z51YKW; Mon, 20 Nov 2023 16:58:09 +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 4SYtxF2GlVz4d5V; Mon, 20 Nov 2023 16:58:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700499489; 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=8E8iTa6eUEinMRXxDfVEc+Tu+IfDeAEWOOPflY9ADW4=; b=bMYEgT/W0MW1C4isOosmu/mTj/1fR2f+CbwJB0fLjg/G+ne7ns2ZLNrgZtRxWgcmipZUDr /CLU18jtwRcrlHLrTIwHkMPVkbcgYadkassR6q8o6nsuW+aygs3klhnsNDXr/mlP0qc5qU kyP3FHOGCwV2MRB21ecJOrgandw3O23us1prlPjcarueHiQR1GrnRbZUoPvg9u1MGY2St/ cQ4D09JObnCXt5iavJAI1b/f2+wuONIAwgeMy3nIzNt0fJyGAwyYGYSeqYUfrI8g+xY3g9 OqxygQQjqeIpm7KZP0TYebXDRIHBy/OINHbbADkZo4wwc3qA4Lt5ql7vsZdMdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700499489; 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=8E8iTa6eUEinMRXxDfVEc+Tu+IfDeAEWOOPflY9ADW4=; b=vg5Ky1DZt5BJuL46CoB7kzMYe+GUtNluadYgZ6e17dxyynYenJ3P3gPrKg23OsiMdZRnXs eUzzIJ1eUnzSI4/Jo0bBtqcR9WaotNqS3Ga5gExyGqDzBlVwREKXzuYfGr/NUn9UvZUCbp VR0IwIWV+p9imOSc1kQk4gFvRjjQPLj+ougOvBPmaxPHbvpHC2IDgIIbtRpBG71O2wxJTI HPsar0OaTqwQpDFgUHrO5DS6eSO1TmTKsZW1k38dpGOR/eMpyl23DmTmWXGe0Fd3nD07b5 8n0PSMnPpew/c7ZIuAmHMkdcV4t7QqKeMgl5mXxP3ej1S9Uz+IT0V+nLO8T3KA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700499489; a=rsa-sha256; cv=none; b=CaTYX1q7jDyWgNrd+d9k1kaxt2UGjJP3E0lb38irHIvlZdw0ObNDXylnjGnLc5ie0JhdkA a684/wWQtW22SF7RXNPn9VAGEk91NxNfOSFQi/2p3BSHSqcaezrCigNZAFLn3DNlqilGGY SBdRI7yc8MnRDLk3Af/OhQiJOVjTYfXcJbpAy/Ht46xQLP+GjRrJDYlyYx/SBSpPmgSAgV h2LzZe8EZg28zhv5QkIl0TY0MopjBBIuQ3pG39j83koU5eA0/Fv2xG+R7NtGE3e71+T8Lm m+vB6W0SeDhwPOMy+8ftLS5cBMr7HNtUeve08F2KPp4gH0Rn2dH+q86lm5moqA== 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 4SYtxF1KVkz10k2; Mon, 20 Nov 2023 16:58:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKGw9Wj074083; Mon, 20 Nov 2023 16:58:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKGw9Wu074080; Mon, 20 Nov 2023 16:58:09 GMT (envelope-from git) Date: Mon, 20 Nov 2023 16:58:09 GMT Message-Id: <202311201658.3AKGw9Wu074080@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: cd03271ccd16 - stable/13 - tty: set IUTF8 by default 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: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: cd03271ccd16f0585584a1e0f2806526490e6a59 Auto-Submitted: auto-generated The branch stable/13 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=cd03271ccd16f0585584a1e0f2806526490e6a59 commit cd03271ccd16f0585584a1e0f2806526490e6a59 Author: Christos Margiolis AuthorDate: 2023-11-04 20:31:47 +0000 Commit: Christos Margiolis CommitDate: 2023-11-20 16:57:14 +0000 tty: set IUTF8 by default 128f63cedc14 and 9e589b093857 added proper UTF-8 backspacing handling in the tty(4) driver, which is enabled by setting the new IUTF8 flag through stty(1). Since the default locale is UTF-8, and the feature itself is important enough, enable IUTF8 by default. Related discussion: https://lists.freebsd.org/archives/freebsd-arch/2023-November/000534.html Reviewed by: imp, bojan.novkovic_fer.hr Differential Revision: https://reviews.freebsd.org/D42464 (cherry picked from commit bb830e346bd50545e9868a1802d631afb6b50bb0) --- sys/sys/ttydefaults.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/ttydefaults.h b/sys/sys/ttydefaults.h index 7e64babbc7f1..6f33973842ce 100644 --- a/sys/sys/ttydefaults.h +++ b/sys/sys/ttydefaults.h @@ -45,7 +45,7 @@ /* * Defaults on "first" open. */ -#define TTYDEF_IFLAG (BRKINT | ICRNL | IMAXBEL | IXON | IXANY) +#define TTYDEF_IFLAG (BRKINT | ICRNL | IMAXBEL | IXON | IXANY | IUTF8) #define TTYDEF_OFLAG (OPOST | ONLCR) #define TTYDEF_LFLAG_NOECHO (ICANON | ISIG | IEXTEN) #define TTYDEF_LFLAG_ECHO (TTYDEF_LFLAG_NOECHO \ From nobody Mon Nov 20 16:58:10 2023 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 4SYtxG4d0Hz51Y8M; Mon, 20 Nov 2023 16:58:10 +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 4SYtxG3XC2z4cxt; Mon, 20 Nov 2023 16:58:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700499490; 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=y7Z4/EH5pe/uVQgVOmd+AQj1l6a/Tzt7GjViKG6tNAI=; b=TLgbwmG/OlFkX+5p7yhk31DkTZjspP8eh0hdL3al5OY6pzDKMIAvKhbZH3eo6Q07f9eNDy D6psnQtZq/RaAHKG7878lcRx+07J8SwYk8vNqcehQuKVwqWLHMZfUau6Akh3Zf7hdCqMO4 KNmaiqxE9HSWCG5XB/wqpzCfNHc34lyROVVPv8DrwWj4OP14TxXEtdkJh+R+IbB4L6KOCy PObqB/ldPesKbSAqb8gBDlJfhHE2XZz9cDxZVQcg58AJC6JtHIk5xucymjNKFEZX+9RE8I jzqnvqhHKsUaNQS5n3HmfcLjuORu43Wimz/w+bnNxm5KY9daxkc/XOUIIFkHIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700499490; 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=y7Z4/EH5pe/uVQgVOmd+AQj1l6a/Tzt7GjViKG6tNAI=; b=lQ7tu1VpHlKrUcmJo0d/5xMxWGpL9bnPpYy2VlwEN7qg+c/hlVhkaVgSbWR/+PgPaBfBt0 v7Yaf6IfEN7wUvJO3OQ2VR49mJ+GceHudLacAAdBlMj80YyPq5gIGPTKMlxLKywJ1pF14Y 0GVkuoJupGSbxIpRbdzNpR2ixO5TcF4zqz3RIXzpAb39gwTA2yxtDiHCtfDq+FBpHWlytE +bck8HPACWoB5J6S4Bsq2HRNXTzfgCghqCz1MpW0xhyR0PCcERBS2hS59BLwELlC+sN+wY Tns5UELhyKEgqU2G8yy0WbWjUP5Fkjdl/S/P84k5nfiKPv3mSlsnbxZAbJRzAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700499490; a=rsa-sha256; cv=none; b=gjFK/XnfikB0L25dhBWqOtJ2HEr+YEcqbPUoLR/++ng1FY5a2OVVRODPrxI2DyyDnQFE9q F6SIPZ7wJuRCCM4WUAH417ewmiaO6edIqU9yP2zO5iTDqnFXfMA7uabRSjpPYNH0T6iVw7 KMmdBNynK9jGK6E2xafgaHim1Ca7HwYeNcRaC8YuLNDdjf4camomBMoe4AjwsbkrosktdE dVzj5Fx/3+WsApOOcOIhn6WVtknLot+pz+9yCB1kfZi38qwEHI4xQmEegERzX6NT/m+jRl N5bHWMyuPulNsSwnbI6r/HwOvC8UnMWAySBRsI+G63hp2a7gvCsUDqgVpS6+Ig== 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 4SYtxG2cY9z10TK; Mon, 20 Nov 2023 16:58:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKGwAtN074137; Mon, 20 Nov 2023 16:58:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKGwAvC074134; Mon, 20 Nov 2023 16:58:10 GMT (envelope-from git) Date: Mon, 20 Nov 2023 16:58:10 GMT Message-Id: <202311201658.3AKGwAvC074134@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: 8647fe60b8c3 - stable/13 - tty: properly check character position when handling IUTF8 backspaces 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: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8647fe60b8c3cc03cf1d53d281f9306b7043543b Auto-Submitted: auto-generated The branch stable/13 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=8647fe60b8c3cc03cf1d53d281f9306b7043543b commit 8647fe60b8c3cc03cf1d53d281f9306b7043543b Author: Bojan Novković AuthorDate: 2023-11-13 18:02:30 +0000 Commit: Christos Margiolis CommitDate: 2023-11-20 16:57:49 +0000 tty: properly check character position when handling IUTF8 backspaces The tty_rubchar() code handling backspaces for UTF-8 characters didn't properly check whether the beginning of the current line was reached. This resulted in a kernel panic in ttyinq_unputchar() when prodded with certain malformed UTF-8 sequences. PR: 275009 Reviewed by: christos Differential Revision: https://reviews.freebsd.org/D42564 (cherry picked from commit c6d7be214811c315d234d64c6cbaa92d4f55d2c1) --- sys/kern/tty_ttydisc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/kern/tty_ttydisc.c b/sys/kern/tty_ttydisc.c index c46579cefbb1..cb5bf672d040 100644 --- a/sys/kern/tty_ttydisc.c +++ b/sys/kern/tty_ttydisc.c @@ -822,7 +822,13 @@ ttydisc_rubchar(struct tty *tp) /* Loop back through inq until we hit the * leading byte. */ while (CTL_UTF8_CONT(c) && nb < UTF8_STACKBUF) { - ttyinq_peekchar(&tp->t_inq, &c, "e); + /* + * Check if we've reached the beginning + * of the line. + */ + if (ttyinq_peekchar(&tp->t_inq, &c, + "e) != 0) + break; ttyinq_unputchar(&tp->t_inq); bytes[curidx] = c; curidx--; From nobody Mon Nov 20 19:04:31 2023 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 4SYxl40VFTz51jfw; Mon, 20 Nov 2023 19:04:32 +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 4SYxl374zfz3Nm3; Mon, 20 Nov 2023 19:04:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700507072; 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=OaKL5eHCov4wZ51DKUoC7fQ5dBiU1aluFuoBwTGjL8w=; b=J/O016PfkJIhOgtUa54KM8NpDkmVbtn1V5gpB0Xu8wt6R/QyKU2SCtK7/97utWnxargug4 ca0TzFYhPZ7+8WHpa9uVIX3pOquHmYr9FIvRCB1zYimImPvgOGwAekEqIJ0s6onl4L1hkb PoZ69cV4e83/YxVEAyc4yWoG8BNrU3IXCtt+I48IXeZ7u2PCNjt/DghOsPZFbN08f30F2P b8vjYt7gZDCwYVOEdVy6neZuifyxtuqUOrl3bIf55ngKNf2d81kJEtsw7HWEtzzxVHioWj sIay9zbxqwr2eGKOCZl4BhLIu1YtWLqF/V8HQUaSLz0ciT5oRvHtmULlm9CPDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700507072; 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=OaKL5eHCov4wZ51DKUoC7fQ5dBiU1aluFuoBwTGjL8w=; b=xAZaEc0CwvU/eq5sn4vaSyN1pBg3CZ4MSfukuP4k7ZX8561Chodg6feUx98l70uNn8yMo1 Rw+hdnrOXFQ4NxAlZvNNpGeCDlRPpHC/JsuiFAMUfWCqjZ6hPMDQdl+3wymMU+hVztpAo0 7aETG/LG+GPB5FKKXLXPT5i2HQvZPwnexpgqwJJlPatt6RHYq3fi3Kpj/1AkkplOHt3gCw oNPlzixPjlSuJYdqWDhl2ikFvIsCwwzRjSwexh1vbc1AOaKdwCfphDZ3kstQL02VNv2Px2 xPBRfwRul3+ysm7Yz7QZvXRRaHkYZBQnNidPblEXHd/phXT/E0H9xmCKunGuUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700507072; a=rsa-sha256; cv=none; b=Hmwwp2zNPANHWkLb09uZ3t3HM7z5XD3aM20RBj7PcxM4IF9KQ1z1nKHAMqrbhqxmY2Psdl YCKTpK5F7orONj0fYKFG4c7Gsi5qF9V+dFm8LcId+WzeuMBcgamNA7/YBp7uYS311pJHoy cSx0cqm4ZXqBhLx5N1I+sQsr+Z9E76m304ynsFIViGKgEIpmcWBs9S4QUK8HZSVlfDa1Cg fzerRlMivqULwrJiQLm8cmyPYSLfYso5/6SAPQaO6/ivqeg5ESiS9NXW/OzwgBmVDseoEX zNE4HXilXHggRqE1c0uVB87rIaqlyU05dKX8TCCeK21VBUpWKdxssr0nwBwpCQ== 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 4SYxl367gwz13gH; Mon, 20 Nov 2023 19:04:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKJ4VAs091327; Mon, 20 Nov 2023 19:04:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKJ4V04091324; Mon, 20 Nov 2023 19:04:31 GMT (envelope-from git) Date: Mon, 20 Nov 2023 19:04:31 GMT Message-Id: <202311201904.3AKJ4V04091324@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "R. Christian McDonald" Subject: git: 0b01d45783c3 - main - loader: fix EFI ACPI detection 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: rcm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b01d45783c3ee5a544c882d1b147e4a60382c41 Auto-Submitted: auto-generated The branch main has been updated by rcm: URL: https://cgit.FreeBSD.org/src/commit/?id=0b01d45783c3ee5a544c882d1b147e4a60382c41 commit 0b01d45783c3ee5a544c882d1b147e4a60382c41 Author: R. Christian McDonald AuthorDate: 2023-11-20 17:02:24 +0000 Commit: R. Christian McDonald CommitDate: 2023-11-20 19:03:59 +0000 loader: fix EFI ACPI detection lua was previously unable to determine ACPI presence because this probing was postponed until the final loading and execution of the kernel. This patch resolves that by detecting ACPI early (similar to the order of operations in the legacy i386 loader). Reviewed by: kevans Approved by: kp Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D42459 --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 44 ----------------------- stand/efi/loader/arch/arm64/exec.c | 54 +---------------------------- stand/efi/loader/main.c | 42 ++++++++++++++++++++++ 3 files changed, 43 insertions(+), 97 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 196efb048064..5a41ea99867e 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -41,17 +41,8 @@ #include "bootstrap.h" -#include "platform/acfreebsd.h" -#include "acconfig.h" -#define ACPI_SYSTEM_XFACE -#include "actypes.h" -#include "actbl.h" - #include "loader_efi.h" -static EFI_GUID acpi_guid = ACPI_TABLE_GUID; -static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; - extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); @@ -104,9 +95,6 @@ elf64_exec(struct preloaded_file *fp) Elf_Ehdr *ehdr; vm_offset_t modulep, kernend, trampcode, trampstack; int err, i; - ACPI_TABLE_RSDP *rsdp; - char buf[24]; - int revision; bool copy_auto; copy_auto = copy_staging == COPY_STAGING_AUTO; @@ -114,38 +102,6 @@ elf64_exec(struct preloaded_file *fp) copy_staging = fp->f_kernphys_relocatable ? COPY_STAGING_DISABLE : COPY_STAGING_ENABLE; - /* - * Report the RSDP to the kernel. While this can be found with - * a BIOS boot, the RSDP may be elsewhere when booted from UEFI. - */ - - rsdp = efi_get_table(&acpi20_guid); - if (rsdp == NULL) { - rsdp = efi_get_table(&acpi_guid); - } - if (rsdp != NULL) { - sprintf(buf, "0x%016llx", (unsigned long long)rsdp); - setenv("acpi.rsdp", buf, 1); - revision = rsdp->Revision; - if (revision == 0) - revision = 1; - sprintf(buf, "%d", revision); - setenv("acpi.revision", buf, 1); - strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); - buf[sizeof(rsdp->OemId)] = '\0'; - setenv("acpi.oem", buf, 1); - sprintf(buf, "0x%016x", rsdp->RsdtPhysicalAddress); - setenv("acpi.rsdt", buf, 1); - if (revision >= 2) { - /* XXX extended checksum? */ - sprintf(buf, "0x%016llx", - (unsigned long long)rsdp->XsdtPhysicalAddress); - setenv("acpi.xsdt", buf, 1); - sprintf(buf, "%d", rsdp->Length); - setenv("acpi.xsdt_length", buf, 1); - } - } - if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL) return (EFTYPE); ehdr = (Elf_Ehdr *)&(md->md_data); diff --git a/stand/efi/loader/arch/arm64/exec.c b/stand/efi/loader/arch/arm64/exec.c index 09be15b2b6f3..ef410a7d556c 100644 --- a/stand/efi/loader/arch/arm64/exec.c +++ b/stand/efi/loader/arch/arm64/exec.c @@ -40,16 +40,6 @@ #include "loader_efi.h" #include "cache.h" -#include "platform/acfreebsd.h" -#include "acconfig.h" -#define ACPI_SYSTEM_XFACE -#define ACPI_USE_SYSTEM_INTTYPES -#include "actypes.h" -#include "actbl.h" - -static EFI_GUID acpi_guid = ACPI_TABLE_GUID; -static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; - static int elf64_exec(struct preloaded_file *amp); static int elf64_obj_exec(struct preloaded_file *amp); @@ -73,52 +63,10 @@ elf64_exec(struct preloaded_file *fp) vm_offset_t clean_addr; size_t clean_size; struct file_metadata *md; - ACPI_TABLE_RSDP *rsdp; Elf_Ehdr *ehdr; - char buf[24]; - int err, revision; + int err; void (*entry)(vm_offset_t); - /* - * Report the RSDP to the kernel. The old code used the 'hints' method - * to communicate this to the kernel, but this is now considered legacy. - * Instead, move to setting different tunables that start with acpi. - * The old 'hints' can be removed before we branch for FreeBSD 15. - */ - - rsdp = efi_get_table(&acpi20_guid); - if (rsdp == NULL) { - rsdp = efi_get_table(&acpi_guid); - } - if (rsdp != NULL) { - sprintf(buf, "0x%016llx", (unsigned long long)rsdp); - setenv("hint.acpi.0.rsdp", buf, 1); - setenv("acpi.rsdp", buf, 1); - revision = rsdp->Revision; - if (revision == 0) - revision = 1; - sprintf(buf, "%d", revision); - setenv("hint.acpi.0.revision", buf, 1); - setenv("acpi.revision", buf, 1); - strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); - buf[sizeof(rsdp->OemId)] = '\0'; - setenv("hint.acpi.0.oem", buf, 1); - setenv("acpi.oem", buf, 1); - sprintf(buf, "0x%016x", rsdp->RsdtPhysicalAddress); - setenv("hint.acpi.0.rsdt", buf, 1); - setenv("acpi.rsdt", buf, 1); - if (revision >= 2) { - /* XXX extended checksum? */ - sprintf(buf, "0x%016llx", - (unsigned long long)rsdp->XsdtPhysicalAddress); - setenv("hint.acpi.0.xsdt", buf, 1); - setenv("acpi.xsdt", buf, 1); - sprintf(buf, "%d", rsdp->Length); - setenv("hint.acpi.0.xsdt_length", buf, 1); - setenv("acpi.xsdt_length", buf, 1); - } - } - if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL) return(EFTYPE); diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 11b10dd44d5e..d6ba7ec3da44 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -60,6 +60,12 @@ #include "efizfs.h" #include "framebuffer.h" +#include "platform/acfreebsd.h" +#include "acconfig.h" +#define ACPI_SYSTEM_XFACE +#include "actypes.h" +#include "actbl.h" + #include "loader_efi.h" struct arch_switch archsw; /* MI/MD interface boundary */ @@ -896,6 +902,39 @@ ptov(uintptr_t x) return ((caddr_t)x); } +static void +acpi_detect(void) +{ + ACPI_TABLE_RSDP *rsdp; + char buf[24]; + int revision; + + if ((rsdp = efi_get_table(&acpi20)) == NULL) + if ((rsdp = efi_get_table(&acpi)) == NULL) + return; + + sprintf(buf, "0x%016llx", (unsigned long long)rsdp); + setenv("acpi.rsdp", buf, 1); + revision = rsdp->Revision; + if (revision == 0) + revision = 1; + sprintf(buf, "%d", revision); + setenv("acpi.revision", buf, 1); + strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); + buf[sizeof(rsdp->OemId)] = '\0'; + setenv("acpi.oem", buf, 1); + sprintf(buf, "0x%016x", rsdp->RsdtPhysicalAddress); + setenv("acpi.rsdt", buf, 1); + if (revision >= 2) { + /* XXX extended checksum? */ + sprintf(buf, "0x%016llx", + (unsigned long long)rsdp->XsdtPhysicalAddress); + setenv("acpi.xsdt", buf, 1); + sprintf(buf, "%d", rsdp->Length); + setenv("acpi.xsdt_length", buf, 1); + } +} + EFI_STATUS main(int argc, CHAR16 *argv[]) { @@ -942,6 +981,9 @@ main(int argc, CHAR16 *argv[]) /* Get our loaded image protocol interface structure. */ (void) OpenProtocolByHandle(IH, &imgid, (void **)&boot_img); + /* Report the RSDP early. */ + acpi_detect(); + /* * Chicken-and-egg problem; we want to have console output early, but * some console attributes may depend on reading from eg. the boot From nobody Mon Nov 20 19:04:32 2023 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 4SYxl52C61z51jn9; Mon, 20 Nov 2023 19:04:33 +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 4SYxl51BL8z3Nvk; Mon, 20 Nov 2023 19:04:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700507073; 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=Cf6/uq7gsSRK7Yn0mJqvPcUl+Hr3BVzcACpEDIXoqyo=; b=QfMMUvdQ+mv+XCEd7XgFKuH+sFJ0yyonImQm0tOYu70kTNfjzNqmlzRZSwkhNkzoLcyK97 79aGTrEqE249TKrh5uKJyAXASNXGbCcE6chNO39FH6CWTCaJ4UCjBAexSuMIHfP6vO8cxc UBZsvMPFUVAsk58wbitrHP+yyUgaBHTl/RwD5xTc24jzS4k7VMqdWwyGs1/K2gmfI4C67p +UQV1BZ8zNMVtytbHQq+eMd/kW8pkKDMeC8aC8C1HVapkp1Jcfynfk+37AowgnP2rUAuwN w4PRBov4ii6U00R5FvSKDLwuuwJJGbb3NAe1RwGkFL3p5L1ijsy3fimh0z1cMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700507073; 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=Cf6/uq7gsSRK7Yn0mJqvPcUl+Hr3BVzcACpEDIXoqyo=; b=op82wk3fs5/7kImyh406fPdBCdo2QWYLKPff5tm4chXgMAhXiArNvktTZDrJlddD/BEjgT mBz9O4CFuDYpOJlanPr/6gb84RESymyiwYFlxHmYJHY5Ihy4krMHoTNtbtUIuxuDrFGqf5 Ax5R6Ym5l4LDOpOmSJ+/gu4DH3y1ABRLeV8/EH+7t47edx9Z9HeSMKHNP+v8y/XwEkHorr A4jWRAUlTs8fN1EdL3FaR1SmdFtqnZ5dvcZDiCR7iwQIMTzEwiG5lHYy8knWr4Yqu/IqPs y/qiXHkXqL+1qLJIAfu7gE4L+VQdofBBePcl52TOWyLZkNwxWav1+iin1FysYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700507073; a=rsa-sha256; cv=none; b=Xqz3V6m7I1SZSsCvjS3CWBgASbmRs1uQAL8K2/0lGoEqJqTjsGh/FG8LXD7joIdDWcU+Qe jqu3mnVnyzX8G5+0bgXh58bD49ZiipkWzpHEoHQ7p0ecn4eW851pnqJcTdzUUjZuwO8/Ce Mr4otvVUiCFw5SpZj/kmo3AlCxwSkO+mhpN7vn4HpKaFRGJWb2JPs91Sr54F6U7E6YfIuV spH9uwSMgBPpJYvr/aoY1AZVxQf8IzBPKvPYZXXofiUNpJLHehHxkJU08OrhE7VK70Wost XLdfEAm1rBGRAnroPj4LSQQhsJ/X5fgnFNyYih28LisP+4mpIYGSysX7it30kQ== 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 4SYxl5028qz13rr; Mon, 20 Nov 2023 19:04:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKJ4W04091378; Mon, 20 Nov 2023 19:04:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKJ4WZL091375; Mon, 20 Nov 2023 19:04:32 GMT (envelope-from git) Date: Mon, 20 Nov 2023 19:04:32 GMT Message-Id: <202311201904.3AKJ4WZL091375@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "R. Christian McDonald" Subject: git: e0f3dc82727f - main - loader: improve lua ACPI detection and handling 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: rcm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e0f3dc82727f236b0bea495d8a4d6e6dc630854d Auto-Submitted: auto-generated The branch main has been updated by rcm: URL: https://cgit.FreeBSD.org/src/commit/?id=e0f3dc82727f236b0bea495d8a4d6e6dc630854d commit e0f3dc82727f236b0bea495d8a4d6e6dc630854d Author: R. Christian McDonald AuthorDate: 2023-11-20 17:13:08 +0000 Commit: R. Christian McDonald CommitDate: 2023-11-20 19:03:59 +0000 loader: improve lua ACPI detection and handling This is a follow-up patch to https://reviews.freebsd.org/D42459 that modifies the loader lua to use the correct loader variables for determining ACPI availability. This also fixes a bug where ACPI can be inadvertently disabled when setting System Defaults at the loader menu. Reviewed by: imp, kevans Approved by: kp Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D42483 --- stand/lua/core.lua | 39 +++++++++++++++------------------------ stand/lua/core.lua.8 | 24 ++++++++++-------------- stand/lua/menu.lua | 2 +- 3 files changed, 26 insertions(+), 39 deletions(-) diff --git a/stand/lua/core.lua b/stand/lua/core.lua index 8a481ee0b782..718783309687 100644 --- a/stand/lua/core.lua +++ b/stand/lua/core.lua @@ -32,6 +32,7 @@ local hook = require("hook") local core = {} +local default_acpi = false local default_safe_mode = false local default_single_user = false local default_verbose = false @@ -46,20 +47,14 @@ local function composeLoaderCmd(cmd_name, argstr) end local function recordDefaults() - -- On i386, hint.acpi.0.rsdp will be set before we're loaded. On !i386, - -- it will generally be set upon execution of the kernel. Because of - -- this, we can't (or don't really want to) detect/disable ACPI on !i386 - -- reliably. Just set it enabled if we detect it and leave well enough - -- alone if we don't. - local boot_acpi = core.isSystem386() and core.getACPIPresent(false) local boot_single = loader.getenv("boot_single") or "no" local boot_verbose = loader.getenv("boot_verbose") or "no" + + default_acpi = core.getACPI() default_single_user = boot_single:lower() ~= "no" default_verbose = boot_verbose:lower() ~= "no" - if boot_acpi then - core.setACPI(true) - end + core.setACPI(default_acpi) core.setSingleUser(default_single_user) core.setVerbose(default_verbose) end @@ -137,18 +132,18 @@ function core.setSingleUser(single_user) core.su = single_user end -function core.getACPIPresent(checking_system_defaults) - local c = loader.getenv("hint.acpi.0.rsdp") +function core.hasACPI() + return loader.getenv("acpi.rsdp") ~= nil +end - if c ~= nil then - if checking_system_defaults then - return true - end - -- Otherwise, respect disabled if it's set - c = loader.getenv("hint.acpi.0.disabled") - return c == nil or tonumber(c) ~= 1 +function core.getACPI() + if not core.hasACPI() then + return false end - return false + + -- Otherwise, respect disabled if it's set + local c = loader.getenv("hint.acpi.0.disabled") + return c == nil or tonumber(c) ~= 1 end function core.setACPI(acpi) @@ -358,7 +353,7 @@ function core.loadEntropy() end function core.setDefaults() - core.setACPI(core.getACPIPresent(true)) + core.setACPI(default_acpi) core.setSafeMode(default_safe_mode) core.setSingleUser(default_single_user) core.setVerbose(default_verbose) @@ -441,10 +436,6 @@ function core.isSerialBoot() return false end -function core.isSystem386() - return loader.machine_arch == "i386" -end - -- Is the menu skipped in the environment in which we've booted? function core.isMenuSkipped() return string.lower(loader.getenv("beastie_disable") or "") == "yes" diff --git a/stand/lua/core.lua.8 b/stand/lua/core.lua.8 index 39ae2166d442..61eab6fe24f6 100644 --- a/stand/lua/core.lua.8 +++ b/stand/lua/core.lua.8 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 21, 2018 +.Dd November 20, 2023 .Dt CORE.LUA 8 .Os .Sh NAME @@ -90,7 +90,7 @@ constants. .Ss Exported functions The following functions are exported from .Nm : -.Bl -tag -width core.getACPIPresent -offset indent +.Bl -tag -width core.setSingleUser -offset indent .It Fn core.setVerbose verbose Sets or unsets .Ev boot_verbose . @@ -103,15 +103,14 @@ Sets or unsets If .Fa singleUser is omitted, toggle the current single user setting. -.It Fn core.getACPIPresent checkingSystemDefaults -Check whether ACPI is present. -This will only be accurate for i386-compatible loaders, including non-UEFI -loaders on amd64 systems. -If -.Fa checkingSystemDefaults -is true, ignore the current value of -.Ev hint.acpi.0.disabled . -Otherwise, return true only if ACPI is both present and not disabled. +.It Fn core.getACPI +Return true if ACPI is both present and not explicitly disabled by +.Ev hints.acpi.0.disabled . +.It Fn core.hasACPI +Checks whether ACPI support is present. +This requires the loader to probe the system and set +.Ev acpi.rsdp +early before starting the interpreter. .It Fn core.setACPI acpi Sets or unsets .Ev acpi_load , @@ -202,9 +201,6 @@ This checks .Ev boot_serial , and .Ev boot_multicons . -.It Fn core.isSystem386 -Returns true if this bootloader was compiled as an i386 binary. -This generally applies to i386 loaders as well as non-UEFI loaders on amd64. .It Fn core.deepCopyTable tbl Recursively deep copies .Fa tbl diff --git a/stand/lua/menu.lua b/stand/lua/menu.lua index 7da03ad9e673..4a948acf8241 100644 --- a/stand/lua/menu.lua +++ b/stand/lua/menu.lua @@ -176,7 +176,7 @@ menu.boot_options = { -- acpi { entry_type = core.MENU_ENTRY, - visible = core.isSystem386, + visible = core.hasACPI, name = function() return OnOff(color.highlight("A") .. "CPI :", core.acpi) From nobody Mon Nov 20 20:51:42 2023 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 4SZ06l12yYz51qXr; Mon, 20 Nov 2023 20:51:43 +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 4SZ06l0c2lz3YKM; Mon, 20 Nov 2023 20:51:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700513503; 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=9jMycp66TU9DrJY467EqoPsugLUYg+XPskp98+i73CA=; b=S3oMGZ28WRHhzGG1nRS4vDy/2Rzf3TA8cLQP/aIwRzUJLo9WuV1qoYqpDNRTwq0M7Q2yTO ykxuwXDXlK/133CHi4AE31Q0ugRN6pejWb2WlFa6uJmxevkAjb0zgnQX40l7TYwhB12TL7 M91chC94POZjCJxg+i4afSa+VVMe1P2DSSUPs1apekpofCjWJxElTYDEelHQaRrBq91JTo kM1ILZr0SDkA12iWlQynZHfgI/dxyI+kg2ussH4G8c7hvL3cT7IbLIHCVkrsBViqGKsHUE 8wTW46nM1re27Uc0a8VuXpmju5ZL8Han1+Z7vwvu7JG92aEei9RnBoiMFl6QnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700513503; 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=9jMycp66TU9DrJY467EqoPsugLUYg+XPskp98+i73CA=; b=wQtelFqkqUNFAOISHrXZAstc5nQshzk+7Q0HixVqgMPi24pR44U21R+/1ILG7cnhZv82Au TAyagg/iscT1O8XStw5afRz8qCA285Ux5EBj+OBV0RD+De7frnGtR7k/zxm/9InbwFmbNY XHGgsKkD0kNEHdzQk4SwKEdRQUUMzmfnHEmtP5LOkb3FP2zGGurQlDUBwBdsxzPlG/RmPf DoXRgsLdiqm9PaRw8zoYIKZGiXSHUZQaYOKFylTrYu/TzfOanhUuwxtYruOLDTpwmBn6Xd w8tQYuz1+o0XsZXgrjdb+EccuyXAURaYIDVChj0z+6P0/ko1m7Esl8Nts8f4cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700513503; a=rsa-sha256; cv=none; b=rl4gM3nKB3ZWmsVi2O/RRGdaM85Xka0VyDfuXVKJQFOi0+uT4V/52oHrsNlFwuDZ+JFUQT 26RsyCX2gT6iy9U7HDNeVg0BDCPPooWBFDp8bwvWQVN56Ow4oKOv4pTXMvZXQb6okfOKrJ zVWmnwj77ivWX9uzBSG7wtNwj543ZJMafA2D60ILj77QVjwJUkp+LUzjJrcVLmSYgjoMVN 7TZl5iFwq6wYM8G8RvREqg+CbpJh9eHW3gadM9t6/S1JrvRCTY7ug4XWpg7oGtcShVYnzY cthGdOJz+6uVUvAks+zwHfCHMFLCqbUBdQdif/BhpRav2OqL6uUdZCc+VLDmPA== 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 4SZ06k6nGRz16LC; Mon, 20 Nov 2023 20:51:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKKpgDG069072; Mon, 20 Nov 2023 20:51:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKKpgqt069069; Mon, 20 Nov 2023 20:51:42 GMT (envelope-from git) Date: Mon, 20 Nov 2023 20:51:42 GMT Message-Id: <202311202051.3AKKpgqt069069@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Arthur Kiyanovski Subject: git: fec0c3fb08cc - main - Add myself (akiyano) to calendar.freebsd 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: akiyano X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fec0c3fb08cc0943a16e5074cdf0efe7862b17ee Auto-Submitted: auto-generated The branch main has been updated by akiyano: URL: https://cgit.FreeBSD.org/src/commit/?id=fec0c3fb08cc0943a16e5074cdf0efe7862b17ee commit fec0c3fb08cc0943a16e5074cdf0efe7862b17ee Author: Arthur Kiyanovski AuthorDate: 2023-11-19 14:35:37 +0000 Commit: Arthur Kiyanovski CommitDate: 2023-11-20 20:50:52 +0000 Add myself (akiyano) to calendar.freebsd Approved by: cperciva (mentor) --- usr.bin/calendar/calendars/calendar.freebsd | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd index 37ce4839d581..20813eb17e09 100644 --- a/usr.bin/calendar/calendars/calendar.freebsd +++ b/usr.bin/calendar/calendars/calendar.freebsd @@ -289,6 +289,7 @@ 07/16 Suleiman Souhlal born in Roma, Italy, 1983 07/16 Davide Italiano born in Milazzo, Italy, 1989 07/17 Michael Chin-Yuan Wu born in Taipei, Taiwan, Republic of China, 1980 +07/18 Arthur Kiyanovski Born in Kilia, Republic of Ukraine, USSR, 1985 07/19 Masafumi NAKANE born in Okazaki, Aichi, Japan, 1972 07/19 Simon L. Nielsen born in Copenhagen, Denmark, 1980 07/19 Gleb Smirnoff born in Kharkov, USSR, 1981 From nobody Mon Nov 20 20:53:00 2023 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 4SZ08D44K1z51qsL; Mon, 20 Nov 2023 20:53:00 +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 4SZ08D3YJdz3YjX; Mon, 20 Nov 2023 20:53:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700513580; 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=7O6nv95yxdFWjjN7dKR3qAbMGQ9HhY+EQ+Xl5pRlmWE=; b=h9+otp5LI5+DMfFnD30r+B/d4j1lJ4BvCUD4+x5JlW1uTF4r8t6xD3EqnGyNF+kFfcwA91 ZdESF25f3dQOJGARrETZ8+pZUmLAWBoS8nu+HxDkYqAe8MWdjrctOtEAYBhb16lOksrVvG scfGucOeY/0YEk1TNtLaN7jMsfhKVe1vg7iNLuF/9edP9rfc8yMwpr2jHVC7vwuN11m6E3 bBOttyjsGRM6pt+K2pb16XJcnKREhYowkVbYVXUJnHayfpQkaNUET6GMTP3aUMLQ9jT6FZ fFLFkanKyJ6Fnb51DBIFKl44672zpjOKPHJKmTicfgnv/D5BDVXQN0zpBhzXsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700513580; 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=7O6nv95yxdFWjjN7dKR3qAbMGQ9HhY+EQ+Xl5pRlmWE=; b=L2O4vwWs4p2drFP7prFFQhurjIT8vy6tYv0lrxvcBbsXhW9qLyQhDmdfWez3VVUEPgZOUp vibCAh2M+E1Bx/VxLSPi+EnrmIPVhLrpl8poHYN0v2wMDv3h81tOE/mqqelGFvU+yqn7zx HG+L/W4MzU5iGC9NojQIUGewxmteg/MJJ1dxTU4znB+9FSheIMmpc+eKInfggzNM6hY0A1 q5cCy3lnVAgFxk1fhr7+SagNnZLLrDtO/uIlZxMQpIf7rLzsGWt9BYvG6VxMcaxg/UeMLW WxXXl87xxIJEIXFCu87aS/oJYs6vte5drOdWHdXchzjWW4lP4vWDmhT2GCHugQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700513580; a=rsa-sha256; cv=none; b=MVmVeY7yJVQdkXbAhmBESna9xiEOqIM2bJzoSvHtLBElUVUp6afud8DyR3iXRm09YuEYH1 l+R45XnZBHAd1FdlK0DNFqQwvLyP+CQU6jHS4ryBCxCeYO2pNFtge4yGV5udPyCtAe/bN+ 1LJeIqfJg0hOo2XHGQx72jEhsQgqaJJzjBuSa09MqHtFzFmXYE61jbBfCL8SwrFygjeNTc GSdEpIqwtwOQhRtiXrOZSfMdSLNjR9/tSnqowrii2a7qLC6QQwXAOluvyrGqpqTLEvWGvy HZOMqoDc/rrFT1OFCCZ55sAdXka7h5qtC2opyUCNl+xDjZl0AaUwtWcDN9FI7Q== 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 4SZ08D2d8Vz16LY; Mon, 20 Nov 2023 20:53:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKKr0o3074290; Mon, 20 Nov 2023 20:53:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKKr0kW074287; Mon, 20 Nov 2023 20:53:00 GMT (envelope-from git) Date: Mon, 20 Nov 2023 20:53:00 GMT Message-Id: <202311202053.3AKKr0kW074287@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: 0a45a7e99fc3 - main - Fix share/zoneinfo for DIRDEPS_BUILD 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: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0a45a7e99fc3061e91732ad88671721e95082d5e Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=0a45a7e99fc3061e91732ad88671721e95082d5e commit 0a45a7e99fc3061e91732ad88671721e95082d5e Author: Simon J. Gerraty AuthorDate: 2023-11-20 20:51:25 +0000 Commit: Simon J. Gerraty CommitDate: 2023-11-20 20:52:43 +0000 Fix share/zoneinfo for DIRDEPS_BUILD The tranditional build makes multiple passes through the tree. The DIRDEPS_BUILD visits each directory only once per architecture, thus makefiles should be able to everything they need in a single pass. The use of TZS!= when doing make(*install*) only works if the directory has previously been visited to do zoneinfo since before the zoneinfo target is run TZS will be empty. To fix this, have the zoneinfo target capture the list of files to zoneinfo, and install-zoneinfo use that list. Rename that target to zonefiles - since that is now what it does. This is more efficient - we only gather the list of zones when it is likely to have changed, and allows the makefile to do everything in a single pass. Reviewed by: stevek Differential Revision: https://reviews.freebsd.org/D42624 --- share/zoneinfo/Makefile | 28 +++++++++++----------------- share/zoneinfo/Makefile.depend | 1 - 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index 60ae1f76f5b5..d4b37ce991aa 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -78,9 +78,9 @@ TZBUILDSUBDIRS= \ TZBUILDSUBDIRS+= US Mexico Chile Canada Brazil .if !defined(_SKIP_BUILD) -all: zoneinfo +all: zonefiles .endif -META_TARGETS+= zoneinfo install-zoneinfo +META_TARGETS+= zonefiles install-zoneinfo # # Produce “fat” zoneinfo files for backward compatibility. @@ -89,33 +89,27 @@ ZICFLAGS?= -b fat .if ${MK_DIRDEPS_BUILD} == "yes" ZIC= ${STAGE_HOST_OBJTOP}/usr/sbin/zic +# we do everything in a single visit +install-zoneinfo: zonefiles .endif -zoneinfo: ${TDATA} +zonefiles: ${TDATA} mkdir -p ${TZBUILDDIR} (cd ${TZBUILDDIR}; mkdir -p ${TZBUILDSUBDIRS}) (umask 022; cd ${.CURDIR}; \ ${ZIC:Uzic} -D -d ${TZBUILDDIR} ${ZICFLAGS} -m ${NOBINMODE} \ ${LEAPFILE} ${TZFILES}) - -# -# Sort TZS to ensure they are the same every build. find -s might -# be a shorter way to express this, but it's non-portable. Any -# differences between the two don't matter for this purpose. -# -.if make(*install*) -TZS!= cd ${TZBUILDDIR} && find * -type f | LC_ALL=C sort -.endif + (cd ${TZBUILDDIR} && find * -type f | LC_ALL=C sort) > ${.TARGET} beforeinstall: install-zoneinfo install-zoneinfo: mkdir -p ${DESTDIR}/usr/share/zoneinfo (cd ${DESTDIR}/usr/share/zoneinfo; mkdir -p ${TZBUILDSUBDIRS}) -.for f in ${TZS} - ${INSTALL} ${TAG_ARGS} \ - -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ - ${TZBUILDDIR}/${f} ${DESTDIR}/usr/share/zoneinfo/${f} -.endfor + for f in `cat zonefiles`; do \ + ${INSTALL} ${TAG_ARGS} \ + -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ + ${TZBUILDDIR}/$${f} ${DESTDIR}/usr/share/zoneinfo/$${f}; \ + done ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${CONTRIBDIR}/zone.tab ${DESTDIR}/usr/share/zoneinfo/ ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ diff --git a/share/zoneinfo/Makefile.depend b/share/zoneinfo/Makefile.depend index 777ef7ba01c5..141855c83ab0 100644 --- a/share/zoneinfo/Makefile.depend +++ b/share/zoneinfo/Makefile.depend @@ -1,7 +1,6 @@ # Autogenerated - do NOT edit! DIRDEPS = \ - usr.bin/xinstall.host \ usr.sbin/zic.host \ From nobody Mon Nov 20 22:37:19 2023 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 4SZ2Sb3p6Zz51CLt; Mon, 20 Nov 2023 22:37:19 +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 4SZ2Sb3JFKz4MpZ; Mon, 20 Nov 2023 22:37:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700519839; 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=3ylFFmRZZk7nNhSsB9t0990KdYQJ9UVUdxfMgxWU9q0=; b=Px1aK6AMW0FQUzFP6HVzkt5VeYUhCFhyPSiP6VAdE6zNmQO55d0xOd5jCepw6Jh3YfIBhD qM+fJSbBwxdg4KFM8RYYjqfs8TWSA2sqcxphkVMsavkX2EBg0hZdy8zqWN0HRwR1gAkRNN fvPQWfyvzwJwqaKVViSYtpKOP6+HJQDkRimcOAVDZzabOl5tp+AsaTVBUsfZZp3ULTdPNV vOvNf9FZgfcCE5e0Yrp7JbVRoASzLZFk96c1GYB/c1fA1yeyMegUwP18fCTJ7uj4oUbv2t FQxqVaZsHVKuLwgK/RU4l0XL27UXgBG4kFqLtAYLe/tuipbtDKiNhr4MsZZXqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700519839; 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=3ylFFmRZZk7nNhSsB9t0990KdYQJ9UVUdxfMgxWU9q0=; b=acznmg2hOXyZ7oY6xdzf99GsLpGo7Tc7jj/IN+3K5YagDr/3cOKJZpQdjuz1IbBfwTgTN5 rBczHfOsdkGPjcgqciSAAvGw1amf/g5RswY7V78JrYmxDnL45f+Zq+JkrX4wKSUt7A35+z lcSJ07423TynI3Di6uDwtcMDTDuz8ro4dDxEU8mD1DucJKLLZCva0Tsd7vX7jqgppP8DgW 1+6Qq4sHoX18t7FGWjz/de9TRVJ+o9Mbx//PbWuRfaPUz5n2vbpsi1EOgpOakbUESk3nUd X6HlugS/uNNpCWR2Hg03FuZaW6HwM/5oKkzc7V+5nisTQvX3F7Wf27akx/oj3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700519839; a=rsa-sha256; cv=none; b=iSoTgThsT0tEqqP48Y9l8vWijwrXde9LxTICyIMbk+L4ceuaa10/LLySSKian9aCJKkHoN Z6JplPS0v6zX0P7+nAiXiHixUhUqzaD6eNzp+BCboyOXmJkMmM1LdWupIwLruWzCkhqBjg C3qw5Cv6CCqhcmp5k+slzFZCdStia8vZri31VqGEatSSGx6WYftTnb3M9pIRvJbIiTlwXo 3HZ8naGxPIm9XJ6aT2PeXrqFLoFrH55AlQVP6Zqq7p/pj6jm6Z/lsWmgVRWp6AZV6eNr4D 7buUipYbrac+9TqB/Qei7Dg7J3ga35tVKI9KdgL9zibb2wBkTdIsiqHljbG+RA== 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 4SZ2Sb2MNCz18Gd; Mon, 20 Nov 2023 22:37:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKMbJ8f041368; Mon, 20 Nov 2023 22:37:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKMbJDv041365; Mon, 20 Nov 2023 22:37:19 GMT (envelope-from git) Date: Mon, 20 Nov 2023 22:37:19 GMT Message-Id: <202311202237.3AKMbJDv041365@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 367e8adb4be9 - main - tests/netgraph: start ng_socket test suite 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 367e8adb4be91ca3c0d40c085eaf47467d0ad25d Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=367e8adb4be91ca3c0d40c085eaf47467d0ad25d commit 367e8adb4be91ca3c0d40c085eaf47467d0ad25d Author: Gleb Smirnoff AuthorDate: 2023-11-20 22:36:58 +0000 Commit: Gleb Smirnoff CommitDate: 2023-11-20 22:36:58 +0000 tests/netgraph: start ng_socket test suite Just one check now, check node name. --- tests/sys/netgraph/Makefile | 2 ++ tests/sys/netgraph/socket.c | 69 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) diff --git a/tests/sys/netgraph/Makefile b/tests/sys/netgraph/Makefile index 74e4046482ef..8bf91c68ad6b 100644 --- a/tests/sys/netgraph/Makefile +++ b/tests/sys/netgraph/Makefile @@ -14,11 +14,13 @@ TEST_METADATA.ng_macfilter_test+= required_programs="perl" ATF_TESTS_C+= basic \ bridge \ hub \ + socket \ vlan_rotate \ SRCS.basic= basic.c util.c SRCS.bridge= bridge.c util.c SRCS.hub= hub.c util.c +SRCS.socket= socket.c SRCS.vlan_rotate=vlan_rotate.c util.c LIBADD+= netgraph diff --git a/tests/sys/netgraph/socket.c b/tests/sys/netgraph/socket.c new file mode 100644 index 000000000000..b5216dcc2c39 --- /dev/null +++ b/tests/sys/netgraph/socket.c @@ -0,0 +1,69 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Gleb Smirnoff + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include + +#include + +ATF_TC_WITHOUT_HEAD(getsockname); +ATF_TC_BODY(getsockname, tc) +{ + struct sockaddr_ng sg; + socklen_t len = sizeof(struct sockaddr_ng); +#define NAME "0123456789012345678901234567891" /* 31 chars */ + char name[NG_NODESIZ] = NAME; + int cs; + +#if 0 + /* Unnamed node. */ + ATF_REQUIRE(NgMkSockNode(NULL, &cs, NULL) == 0); + ATF_REQUIRE(getsockname(cs, (struct sockaddr *)&sg, &len) == 0); + close(cs); + /* Unnamed node doesn't return any name/ID now. */ +#endif + + /* Named node. */ + ATF_REQUIRE(NgMkSockNode(name, &cs, NULL) == 0); + ATF_REQUIRE(getsockname(cs, (struct sockaddr *)&sg, &len) == 0); +#if 0 + /* sockaddr_ng truncates name now. */ + ATF_REQUIRE(strcmp(sg.sg_data, NAME) == 0); +#else + ATF_REQUIRE(strncmp(sg.sg_data, NAME, sizeof(sg.sg_data)) == 0); +#endif +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, getsockname); + + return (atf_no_error()); +} From nobody Mon Nov 20 22:38:44 2023 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 4SZ2VF15mXz51CKG; Mon, 20 Nov 2023 22:38:45 +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 4SZ2VF0KP7z4NRC; Mon, 20 Nov 2023 22:38:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700519925; 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=hzraNAlo2w/BLcQq/T3F0UuBhb+Vn/qXTJtQQVtzNSA=; b=cRQfzTuZKGxXjNS4HIkBIZ7Bcdxm71kTKNF/EwB2m/2wGQoiAoio9PU90K34pqBhD0bZEf r36VuggBdON5DBaKnpjXwdpBOEs4OkUM7iTc6xVgwfIv+sio8dGWHd6Iiz37n4dzoBUyWj lXW2w+u/RmNuCfw7AQQKZLp5Ex5z3M84qyIjjfFqvzEfay1Vt4R46yzo0eCur9bm0xJ+Wl JjB525DS75nX+RiB/KcBI4G/rlxWq7eipMlm7848GvXEz3zxFxo1C5GmP1OtN34OOFdQfo qnJxMccrp1dz/azhf9/mJ7jEmy9yhNyskOQaeU7MiUXxIOvduHeXOb1dhAfzNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700519925; 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=hzraNAlo2w/BLcQq/T3F0UuBhb+Vn/qXTJtQQVtzNSA=; b=EBzCUTm8MTC6/G37N9O8EkwOB0w3by1j+RopHw8I7g8KFTmuprtmy+eUhwBSQY7cNwMwVp nSIKzhZOI8MIE53vBzKsLx6YY+qiMDRONEbUvA7+kxAfLmn2/sMEx1O400EGPxMwdpIytD NfU5m+hKpbUxP1fN99/jxL48oyNe2GqIy0TXj29y2yZlHEPIYKyAIfULM7ilhKTa+lIsvr a1eTNWYJXJd3742u+Ch5eyl2jI/5Q/KN/lulqRmCGVpW73eG7kS24wSL9MEM6tBpyjfjLO NxZEz6JdNscZNZCnzJXjdQ6VSrUBjmwENTQZqhKScdFieV7kBBl1qcGTb4VX4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700519925; a=rsa-sha256; cv=none; b=sIXdHVmsADLd0qbliHBlpX6Cxek4MikUlXqTQET+UG4toDuseJyqT81Yqu1n4jy60ZH6c8 RhCgclA3G755TvCb4XThs4KOtBQS/z+2OrqEwk3yo8vJ6gg+V9SpO4gIXf6e5ptaDcdVCJ PgVTIHgHQ2ysgy7dQKrGGD5kz9naD3zJQctaQzmF9WFVS4HoKrSEQIPuVDT9piuklo38Mf scj4dQI8xJtcdstdflqXEFubvFvdK+jYAxAZrZ3/qsmQXaKOpq/pEbdT+RIGXsFZXU6gjR qR9MYjWqwzLfjq6LrIdy+UlONS7E2q0rsauDeNjFCUMAqrMRC1MbjAaKx497MQ== 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 4SZ2VD6WPTz18f7; Mon, 20 Nov 2023 22:38:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AKMciq5041707; Mon, 20 Nov 2023 22:38:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AKMciB6041704; Mon, 20 Nov 2023 22:38:44 GMT (envelope-from git) Date: Mon, 20 Nov 2023 22:38:44 GMT Message-Id: <202311202238.3AKMciB6041704@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: bbbd7aab1bed - main - inpcb: garbage collect in_pcbnotifyall() 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbbd7aab1bed9122e7137ee0957d50c9ef22b315 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=bbbd7aab1bed9122e7137ee0957d50c9ef22b315 commit bbbd7aab1bed9122e7137ee0957d50c9ef22b315 Author: Gleb Smirnoff AuthorDate: 2023-11-20 22:38:31 +0000 Commit: Gleb Smirnoff CommitDate: 2023-11-20 22:38:31 +0000 inpcb: garbage collect in_pcbnotifyall() --- sys/netinet/in_pcb.c | 28 +--------------------------- sys/netinet/in_pcb.h | 2 -- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 2586c107ceaf..dbae52103c61 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1805,7 +1805,7 @@ inpcb_fini(void *mem, int size) * in_pcbdetach(). * * XXXRW: Possibly in_pcbdrop() should also prevent future notifications by - * in_pcbnotifyall() and in_pcbpurgeif0()? + * in_pcbpurgeif0()? */ void in_pcbdrop(struct inpcb *inp) @@ -1879,32 +1879,6 @@ in_getpeeraddr(struct socket *so, struct sockaddr **nam) return 0; } -void -in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr faddr, int errno, - struct inpcb *(*notify)(struct inpcb *, int)) -{ - struct inpcb *inp, *inp_temp; - - INP_INFO_WLOCK(pcbinfo); - CK_LIST_FOREACH_SAFE(inp, &pcbinfo->ipi_listhead, inp_list, inp_temp) { - INP_WLOCK(inp); -#ifdef INET6 - if ((inp->inp_vflag & INP_IPV4) == 0) { - INP_WUNLOCK(inp); - continue; - } -#endif - if (inp->inp_faddr.s_addr != faddr.s_addr || - inp->inp_socket == NULL) { - INP_WUNLOCK(inp); - continue; - } - if ((*notify)(inp, errno)) - INP_WUNLOCK(inp); - } - INP_INFO_WUNLOCK(pcbinfo); -} - static bool inp_v4_multi_match(const struct inpcb *inp, void *v __unused) { diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 19d281937b52..aa9bcade4b32 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -686,8 +686,6 @@ struct inpcb * struct inpcb * in_pcblookup_mbuf(struct inpcbinfo *, struct in_addr, u_int, struct in_addr, u_int, int, struct ifnet *, struct mbuf *); -void in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr, - int, struct inpcb *(*)(struct inpcb *, int)); void in_pcbref(struct inpcb *); void in_pcbrehash(struct inpcb *); void in_pcbremhash_locked(struct inpcb *); From nobody Tue Nov 21 00:21:28 2023 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 4SZ4mm6mg2z51MCq; Tue, 21 Nov 2023 00:21: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 4SZ4mm6GF2z4VXG; Tue, 21 Nov 2023 00:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700526088; 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=qYclDWX6w0qVWL0Qorndku4nJwgmEajCCPCR3KJymk8=; b=olCvJcM/iok4hWArjzVWvptOHPynB0ErWuEmo14M4kNwAtsb5QXU7WC+YnWD+5KXqkbNB+ uTf0q9NQgjVdIIEMGT6M0OmLIReuUZfSnRrsJlp8tj0PXuc0U0nm90shXj8/iLvGQzBDto r2sqCz4P9Y3zTwg3TC5NntSnEPlGJ+c6pOgWtAn5w4cz160sNrwE7fgU1o3tq3He4XJXkI n6/5soJ8e0+352ZNUmO75Qrfc4wwDrLzkXEHTmwGC755KOBFEDdLw/xK/uACeueutAvMtE YVuI1nNF12CzkyB/rIpLV7k+zuVvlwsM7Q6OKWQcjA6DDBqUGPItq0a6Ail0MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700526088; 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=qYclDWX6w0qVWL0Qorndku4nJwgmEajCCPCR3KJymk8=; b=vUKEOHiYfPCNcUEzHZyi8mQQp31ENuU5Yp0jjo9PHsvx6p6Ih03hNkG66Pt7pxCv5osfK7 1LgSMYKipoFFfIBTiet2gHXqrX/kFX8ZYjxn3JIdZgIO/dF+UbUlyd+uT1QYSAl9rJjcdY TAZH3Xf6futq5df3og4TwiamRL2auNfGqPdm0xGdZF0WcGwvjhIbW5KE/a+2prWaJ+mS7H NXuQFRWqpzvOfY7b5v2V10g7vDZzM7wotJNGllGklpLkjEh7RwioYm2QDYEWJ9Emm7TlfA aXuYrB+I8FDPUbu+dXHRoMTZXH5few9uZGX3M7e6BmqPVYNtqz64z99siYbSZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700526088; a=rsa-sha256; cv=none; b=bltjpwKHcbfq/tWLLfS0dDHabUCgsYpEd/+x0rJ9fBh61q5UZwXP5CUKpXBdGjexvH0oYn fXcxug+QZoqyF2qplMy9SKz6+s4zvVwHO99eXwwppmsiSvwHxOxMjvr+HuWQlbBs3b7kqn qlNpOTAF33lO1aS6PxJImMhcJFaq6UvAc0RkyNAUijnaB/1ux3xuXBMqu1/xUqfGXWy2Wo LL4tEnHBZhhc0DjlFWpVmPnh8h0NHAb9N5l5eueKIyqqY9x2tMyE842UvKLehNUsgGfcZK HTfpiITt+qCeMYhsawkhqqavsgBuavKwc6TJylPoKhwcxAsseAHKkyXs/MJSFA== 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 4SZ4mm5Klpz1C9K; Tue, 21 Nov 2023 00:21:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL0LS5i022285; Tue, 21 Nov 2023 00:21:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL0LShd022282; Tue, 21 Nov 2023 00:21:28 GMT (envelope-from git) Date: Tue, 21 Nov 2023 00:21:28 GMT Message-Id: <202311210021.3AL0LShd022282@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: db94e7c3f9a2 - main - vis: relocate _DIAGASSERT() define 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: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: db94e7c3f9a2344958667e756015393ad3124b3e Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=db94e7c3f9a2344958667e756015393ad3124b3e commit db94e7c3f9a2344958667e756015393ad3124b3e Author: Brooks Davis AuthorDate: 2023-11-21 00:21:11 +0000 Commit: Brooks Davis CommitDate: 2023-11-21 00:21:11 +0000 vis: relocate _DIAGASSERT() define Other similar files from NetBSD define it unconditionally as a local diff. Reviewed by: imp (as part of D42686) --- contrib/libc-vis/vis.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contrib/libc-vis/vis.c b/contrib/libc-vis/vis.c index fc3b50d6c7a5..2f9eab25b480 100644 --- a/contrib/libc-vis/vis.c +++ b/contrib/libc-vis/vis.c @@ -61,7 +61,6 @@ __RCSID("$NetBSD: vis.c,v 1.83 2023/08/12 12:48:52 riastradh Exp $"); #endif /* LIBC_SCCS and not lint */ #ifdef __FBSDID __FBSDID("$FreeBSD$"); -#define _DIAGASSERT(x) assert(x) #endif #include "namespace.h" @@ -86,6 +85,8 @@ __weak_alias(strvisx,_strvisx) #include #include +#define _DIAGASSERT(x) assert(x) + /* * The reason for going through the trouble to deal with character encodings * in vis(3), is that we use this to safe encode output of commands. This From nobody Tue Nov 21 00:21:29 2023 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 4SZ4mp0r4mz51M9b; Tue, 21 Nov 2023 00:21:30 +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 4SZ4mp06PLz4Vm7; Tue, 21 Nov 2023 00:21:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700526090; 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=eC17YGhJAWvYjBlyYfgp4PpjfXaVG+s6qnAPtSYGQAY=; b=n/5bXrDie562mKGyTdZqh1pzspga6nAXGGocpZ0juEINOXNdrpoQcCGDPcuZZaWENna3FS o8KI3Neriwc0L6YDqLN/unNuehCJdXN+/3WlSt3+DCaoyZaVnpsuhDtmoa4tNX7JjdgHL4 2GBvcB41y0JsbTwKrKaP873ECup03FLBySiPSFPsamRGIkRaNHS9kV/6e2Qa5FjJmiySWa gbIq8lkogdBb8iQsYoNeC1kEUN5mQnDIxQXARcBSAt+O15I8k0JWn8E+xqcVkiZQ8albgw uK3IszMAFXeBZpU21J2fvK3nuVKNEfANVZEbqQ7KtIetXZIM7lkiwNFfJ1Sgkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700526090; 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=eC17YGhJAWvYjBlyYfgp4PpjfXaVG+s6qnAPtSYGQAY=; b=i8lAVQdtWucADVbS707Tf6aULwsj2qLYyCUnOfgn1nrH24KcXKzsjweUpDdEp26Ofem9ho /5Y3JGEBlHOSCAGsHASoj0EKq6vhzERLQaFdUFyp2ZL3I6ZwMSyzb9wk5+AXJcZdGlRgYE SIgDJ2nwtjcP8FNJCRG7yaxNpyuWPEifH+f3JTJAUt8taon66QkoNai1RjDmiABnjypTpZ Himl5T3ol0knR4x7LV6xQaInpwuq8BkBicT5OFxK6aSrqTgJaAbLTivJN4Iim+STbfTW8f 8Xdt153M0p9Ofl0vI4dIe2ysbVK0nE+hC18shmF4kkg7aRe74NuJQzpprT4sIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700526090; a=rsa-sha256; cv=none; b=CErxVc4jbEdVNtkBjfiYm6XOZShKjxi0NA5elP41xEyHajV9sCgfx1EIom1QGKy++UEXPW J5+pKv15UaFpCqREu5bMxlLN4xWOmb1sCo4RwgbVZV82T8MWGam1plVpkm6R2Q0l/XsgDV uzCqFTIYyqgHSIw5uFBAYutP0sG6mVoqtK0MVaSLjhk1QAzOaF8i+E3jEdFrO4AVkUdytm bpynpQl4WozJglKufSQj7p6OcBFpkXBYZx8gb5E9xEDOkFQOJFNK+uQu2L+MuU19QQENMm krGmZUs0Ne35FWsEXf5g7vWZaQv7SGi36zgAsFxov3cVcisd2ZPAeGY8ICO9tg== 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 4SZ4mn6KHSz1CZG; Tue, 21 Nov 2023 00:21:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL0LTVT022330; Tue, 21 Nov 2023 00:21:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL0LTWP022327; Tue, 21 Nov 2023 00:21:29 GMT (envelope-from git) Date: Tue, 21 Nov 2023 00:21:29 GMT Message-Id: <202311210021.3AL0LTWP022327@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: ea2be8ed2835 - main - Remove __FBSDID from netbsd libc sources 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: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea2be8ed283597062853935a5a29dfd67973044b Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=ea2be8ed283597062853935a5a29dfd67973044b commit ea2be8ed283597062853935a5a29dfd67973044b Author: Brooks Davis AuthorDate: 2023-11-21 00:21:11 +0000 Commit: Brooks Davis CommitDate: 2023-11-21 00:21:11 +0000 Remove __FBSDID from netbsd libc sources I added them per then-current practice when I imported them, but now they are just gratuious local diffs. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42686 --- contrib/libc-pwcache/pwcache.c | 1 - contrib/libc-vis/unvis.c | 1 - contrib/libc-vis/vis.c | 3 --- 3 files changed, 5 deletions(-) diff --git a/contrib/libc-pwcache/pwcache.c b/contrib/libc-pwcache/pwcache.c index 321e43900bd1..180935c75b42 100644 --- a/contrib/libc-pwcache/pwcache.c +++ b/contrib/libc-pwcache/pwcache.c @@ -77,7 +77,6 @@ static char sccsid[] = "@(#)cache.c 8.1 (Berkeley) 5/31/93"; __RCSID("$NetBSD: pwcache.c,v 1.31 2010/03/23 20:28:59 drochner Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -__FBSDID("$FreeBSD$"); #include "namespace.h" diff --git a/contrib/libc-vis/unvis.c b/contrib/libc-vis/unvis.c index f290d8db271a..62a350bfa912 100644 --- a/contrib/libc-vis/unvis.c +++ b/contrib/libc-vis/unvis.c @@ -37,7 +37,6 @@ static char sccsid[] = "@(#)unvis.c 8.1 (Berkeley) 6/4/93"; __RCSID("$NetBSD: unvis.c,v 1.45 2022/04/19 20:32:15 rillig Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -__FBSDID("$FreeBSD$"); #include "namespace.h" #include diff --git a/contrib/libc-vis/vis.c b/contrib/libc-vis/vis.c index 2f9eab25b480..623acfe92e1d 100644 --- a/contrib/libc-vis/vis.c +++ b/contrib/libc-vis/vis.c @@ -59,9 +59,6 @@ #if defined(LIBC_SCCS) && !defined(lint) __RCSID("$NetBSD: vis.c,v 1.83 2023/08/12 12:48:52 riastradh Exp $"); #endif /* LIBC_SCCS and not lint */ -#ifdef __FBSDID -__FBSDID("$FreeBSD$"); -#endif #include "namespace.h" #include From nobody Tue Nov 21 00:21:30 2023 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 4SZ4mq1LMXz51MHT; Tue, 21 Nov 2023 00:21:31 +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 4SZ4mq0sVhz4W3d; Tue, 21 Nov 2023 00:21:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700526091; 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=e2Y19elpMA06663CTgNUuvqSL8rTQNx2Ctnpa87s62U=; b=qHn2WFOq7kS7Ej4//BgdOk41150pIdQkKZJNtMa3BAdbIANXD3TMDZp7hpOnqLDNlz2gdB AebXKIWmDS72vwkNpQwT03KQBtQMkxGqhLRlaMyrB7INPBwPXJLD9ULuzxFwvew6uXhzr6 MdmCUjvkBf0RnEtkPKDT+uMBxIb64LP/U1pw2Krkvl6VU9w+qeMu7mPIiXd4oT/4BMx+cI KiAhwCzqBBWXtEPsXpDi9vrP+gL29/QlNmNuyMKprBQXZy0SqI9ilqY5VRDQLJm9pSvuA+ wbzUa2/UjuiSGVakvrDaPQg5yRR6wThHs5b+YJQkZNVMXP7V+dckN/dvjKABqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700526091; 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=e2Y19elpMA06663CTgNUuvqSL8rTQNx2Ctnpa87s62U=; b=gmDmFjAokRlYK3Q9e91AHuUTE2okimCFH+HXX+0uDn96UACpF7W3quyl+/FvIG+jq4s+db Iv0PoysAPI3CBpLotkO/8N7r43/vlq0eB/pnaPJg8xb+4dQtLAy5a/7I8qA9KvtCLyMdpI 1PZlEfGKu4Yi9E5GQql65watOuDL2niC/omWGIEhUAduM5cOFPACGlrZ8Ssz70Jc0YEPSP /GY/SAuVjXGiRl7rVGqGxqZcDxo9HUvD+iMJ5Ng7MZ79L088X1w+x0JcfLho70PUkVJ3cJ xBkPrO+51jI7Bs8nO5Bu4LZxVFbziSpfbSS52E6Pxlbru1i8GWwEDWX+3Zo3PA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700526091; a=rsa-sha256; cv=none; b=QYOIzPPVQLlYTzApBR6elEMEoGyvloj533Nti9vxeHk8DcDmZZlYzs71/wp0NzsfGiJLPz SEez68ONTgI1I9j16/Jy7bPkDb1iL0uY4LG3mXLkZbClDool6e/f5ZNTE+p30/LhRKYqsS U+q88X+WIaoSCxHOo6Tb3SeiBA3lD5ItiyNWrIwK/NJcHWYVhp11qyr7fp+NHa+4sh3Noz +2OmaDP+CRWXVma9ctPCVTSNiPF2bv024YM+5E8gN6aI4WAAfnkHzwD/YaeIACW0KKFD5z y9sors62VkauVX7VWL/y7dRLWd3u21YQucwA1fWCqN41+HiscdYT0VhY1Yq8aQ== 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 4SZ4mp74Y7z1C9L; Tue, 21 Nov 2023 00:21:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL0LUa4022372; Tue, 21 Nov 2023 00:21:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL0LULo022369; Tue, 21 Nov 2023 00:21:30 GMT (envelope-from git) Date: Tue, 21 Nov 2023 00:21:30 GMT Message-Id: <202311210021.3AL0LULo022369@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: bbde5c0725a5 - main - pf: Remove __FBSDID() macro use 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: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbde5c0725a5b34c456b3818cc69d17f22cef9f8 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=bbde5c0725a5b34c456b3818cc69d17f22cef9f8 commit bbde5c0725a5b34c456b3818cc69d17f22cef9f8 Author: Brooks Davis AuthorDate: 2023-11-21 00:21:11 +0000 Commit: Brooks Davis CommitDate: 2023-11-21 00:21:11 +0000 pf: Remove __FBSDID() macro use These are local additions that no longer make sense with the transition to git. This partially reverts a10f530f936b7b2e3a19c406ae199b91a48f34d3. Reviewed by: kp, imp Differential Revision: https://reviews.freebsd.org/D42687 --- contrib/pf/authpf/authpf.c | 3 --- contrib/pf/ftp-proxy/ftp-proxy.c | 3 --- contrib/pf/pflogd/pflogd.c | 3 --- contrib/pf/pflogd/privsep.c | 3 --- 4 files changed, 12 deletions(-) diff --git a/contrib/pf/authpf/authpf.c b/contrib/pf/authpf/authpf.c index 5ffa5b9cfe43..9858c1c50ced 100644 --- a/contrib/pf/authpf/authpf.c +++ b/contrib/pf/authpf/authpf.c @@ -16,9 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include -__FBSDID("$FreeBSD$"); - #include #include #include diff --git a/contrib/pf/ftp-proxy/ftp-proxy.c b/contrib/pf/ftp-proxy/ftp-proxy.c index 04d749dd0fff..d8f8b8e67d1f 100644 --- a/contrib/pf/ftp-proxy/ftp-proxy.c +++ b/contrib/pf/ftp-proxy/ftp-proxy.c @@ -16,9 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include -__FBSDID("$FreeBSD$"); - #include #include #include diff --git a/contrib/pf/pflogd/pflogd.c b/contrib/pf/pflogd/pflogd.c index 2b1b0df769a7..6df97f8b84f4 100644 --- a/contrib/pf/pflogd/pflogd.c +++ b/contrib/pf/pflogd/pflogd.c @@ -30,9 +30,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include -__FBSDID("$FreeBSD$"); - #include #include #include diff --git a/contrib/pf/pflogd/privsep.c b/contrib/pf/pflogd/privsep.c index 2e3895d2be77..326b4af6fe66 100644 --- a/contrib/pf/pflogd/privsep.c +++ b/contrib/pf/pflogd/privsep.c @@ -17,9 +17,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include -__FBSDID("$FreeBSD$"); - #include #include #include From nobody Tue Nov 21 00:38:41 2023 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 4SZ58d57QTz51NR0 for ; Tue, 21 Nov 2023 00:38:41 +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 4SZ58d4Lntz4XG3; Tue, 21 Nov 2023 00:38:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700527121; 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=rN6gqHN8EVrzkPU3sl+Gt2cQE55hBUC9H48R3nSh84M=; b=V7LqLsNKhuL/MpmXzHCoYuMW5wIO4Rr1+eYTYtZkPpHDXUjIC0re/ZEWqR7WN+GM1XtsLy g+74SOCVDGygt/J9+4rSMTHT2K7bzpuCx/Xg0l4gsYm4rRASbInt/N/883BI5jn/qANmmD 3uhLLcrYjvuLbGUsGXfeMkyuzzs1na/mDHD5omyCFEgUNn6V2aB0k6DsYPDh1PoGjR8+si 9cBGHsG78z+sWjbjHtPI6bsUv+qYSK6QZMQ5OpvtvLuJyroqp6g31MJSIyPsE1Jp9XXW4s nsGfyv4pIxjVGtwC3Z9PPr8SEdX0g16yYHC93aysoWKuJWmctWaqOQU65MAf4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700527121; 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=rN6gqHN8EVrzkPU3sl+Gt2cQE55hBUC9H48R3nSh84M=; b=lT1th820kkDdLq3Phzw9sEoDdcZjskAp8+8KzIHjkC7iMCaTzq7bSC3Gcs8fHdbUcpkkrq g4OrWMIawQPb7njJTrCAhGHRc1pWU7VqgKrtAuZxgCr850jnCGbfuDJGmPWIN8ehB0fuK8 idUosjCUTUU0QhJeGiQWyPlwEst3c7hDTuLIfJdg5wJG9OZP2NUxc2mFZ7T58VfoBrXaC5 oslLRrRGWETfXZtDbToX8usfMfhI1BfankZiPgmPlT4hezxcD03mX8Uac4tgGCNeyuR7bv XKFYjvz1yJizw1gL0ScK/FLc1Ih0nmNpq7KAQj2krHf3Vb76HiaRm43m3CTV7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700527121; a=rsa-sha256; cv=none; b=FFbj6isa9iSYHhyiEhxpsF5jMDh/XW9V+SQ1qZTEJ0riZlK9cUfkoMgC9mS29k3aM8kHsS HiryPlV9VpKGegWeaopPpqTcC/UFv+1VER5PBL3XSLJp4Xv8+2C9hjoFDNhZb18Jst2wtb 0QtMBBxhmpAI91sNXbCp61Xlj0u6m2m6/RPI2ZfVbcwQw4r+emKm1DcGciD9OI7YyVKS/r 486D6dIyTU2V4G3F+7lwc4r8vGdRnGHm9dxhxKKvTTdrX4ysQHtBbIU+aPLPa3DWJ+VEBr u1xEDPXO1Wuj/tzdalLsq45Eu9a+wQ8DeRjSEZt52NhRKQB7QlEeKO1IWYc/0g== 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 4SZ58d3Ddcz1CdM; Tue, 21 Nov 2023 00:38:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL0cfbg041778; Tue, 21 Nov 2023 00:38:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL0cfGb041777; Tue, 21 Nov 2023 00:38:41 GMT (envelope-from git) Date: Tue, 21 Nov 2023 00:38:41 GMT Message-Id: <202311210038.3AL0cfGb041777@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Martin Matuska Subject: git: 03e9caaec006..a94860a6dee1 - vendor/openzfs/master - vendor branch updated 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/vendor/openzfs/master X-Git-Reftype: branch X-Git-Commit: a94860a6dee1c07bb96ee36dafcba40b804560cc X-Git-Oldrev: 03e9caaec006134b3db9d02ac40fe9369ee78b03 X-Git-Newrev: a94860a6dee1c07bb96ee36dafcba40b804560cc Auto-Submitted: auto-generated The branch vendor/openzfs/master has been updated by mm: URL: https://cgit.FreeBSD.org/src/log/?id=03e9caaec006..a94860a6dee1 6c6fae6fae55 Fix memory leak in zfs_setprocinit code 92dc4ad83d95 Consider `dnode_t` allocations in dbuf cache size accounting 22c8c33a588d Use abd_zero_off() where applicable 5a3bffab1079 ZIO: Optimize zio_flush() cd67bc0ae470 freebsd: remove __FBSDID macro use a94860a6dee1 ZTS: Fix 'could not unmount datasets' on Alma 9 (#15542) From nobody Tue Nov 21 01:05:44 2023 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 4SZ5lr5lPQz51QVG; Tue, 21 Nov 2023 01:05:44 +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 4SZ5lr5P5zz4bj8; Tue, 21 Nov 2023 01:05:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700528744; 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=of6NpEjA6eKW3YjbIL7bdn++fsAJPNsOcSgcS08nJYg=; b=maQyPqXHeIXJfSdl2k7mTviWiP6KzxGBv8J4LIbLjh92QKtgth5YUtsPwlvDtKguhTOw+b XF506GJUhN2A/HKjUMnC0Z9zXm8/LdoKXqQ9jgR17wqpY7WrKS1Lf2B4JMz/gkmug3T4b8 HJCHLkQciyAGtqlwODbbqRh2UHX4edDHljlriKaYhTGjpmLwecokJwIt7+1OXX4TRPC/D6 NQtJqJCM57R0M8OYNnL+6Bl+0OAr176AEFUqpCkGi+XM4KKyvBSMp6L5KobdW/V1XERKEy 7cegoEgGKoMzxsz92mmb6dwx12xd+C7ihe4ZDCM7Xuk/ieTdIEU29+Ui6RgIRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700528744; 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=of6NpEjA6eKW3YjbIL7bdn++fsAJPNsOcSgcS08nJYg=; b=CRJBl2W4hTqL++25zY3rEeD+12fTRZJ9p5+wmA9Xi6QOApleTGWZFdZM9+Av5KOGLQWZz5 FeOi74ADxhVyHwJhnzS/mB077Bwy08vCEN+KdfBujRpP8jfIVeAk9Zeuyeb05FtmNXy9Kw R/bjg339IDwuuZovE1LFExXyOJtWj+VV6wI9zgdwitAmk6tvW5TmwwYuF8OLHirQSiomBv YAt1TNfMFjjpChwSXRyWATfrhXDtPVg55C42qJOEireYhLTMCe2IFtXBpwvjfahtxXdOuM kK2V33bxz50NMHhyK6NHEvUlqKuD8eJn5sT7tte558rQ8eJ5vjb+2mr+WXP9EQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700528744; a=rsa-sha256; cv=none; b=jIQQcMCHG/AbOGq2LV3L41u3BonI4rmRdaZZrCQvlPzldkXtXkY1es3KgHu4BUreD4/hTI xUrHvY//FNxkEPlHkZ6Swh9zMxm+5rkrqXLUjCJ2G6Hn1/uhs4cMBwOnyDshBbs2go2yis YEoqW8B6q2O57jVCEp0pJSWBE0xUnCEeWJZEeyCArGlo1T14A+cvBWzLTuemEFvt18rq5R ArJLqx/iwRS8h55/ZzsG6Bjn18M4jvBXhsnf1S0jr0NlX+1aU+gGCjf/nI3eYlYYux30wj KnVApFlagpeTDkHjd5y/WB3c6KQyqNlJESLH/N1I/V2SUAAcx9qs0EkfmOmpyQ== 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 4SZ5lr4STszWH; Tue, 21 Nov 2023 01:05:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL15iT1092118; Tue, 21 Nov 2023 01:05:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL15iLX092114; Tue, 21 Nov 2023 01:05:44 GMT (envelope-from git) Date: Tue, 21 Nov 2023 01:05:44 GMT Message-Id: <202311210105.3AL15iLX092114@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: a2b560cc69eb - main - zfs: merge openzfs/zfs@a94860a6d 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2b560cc69eb254c92caf2027a69cadf9865d273 Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=a2b560cc69eb254c92caf2027a69cadf9865d273 commit a2b560cc69eb254c92caf2027a69cadf9865d273 Merge: bbde5c0725a5 a94860a6dee1 Author: Martin Matuska AuthorDate: 2023-11-21 00:39:04 +0000 Commit: Martin Matuska CommitDate: 2023-11-21 00:46:00 +0000 zfs: merge openzfs/zfs@a94860a6d Notable upstream pull request merges: #15511 92dc4ad83 Consider `dnode_t` allocations in dbuf cache size accounting #15514 22c8c33a5 Use abd_zero_off() where applicable #15515 5a3bffab1 ZIO: Optimize zio_flush() #15527 cd67bc0ae freebsd: remove __FBSDID macro use Obtained from: OpenZFS OpenZFS commit: a94860a6dee1c07bb96ee36dafcba40b804560cc sys/contrib/openzfs/cmd/dbufstat.in | 20 +++---- sys/contrib/openzfs/include/sys/dmu.h | 13 +++++ sys/contrib/openzfs/lib/libshare/os/freebsd/nfs.c | 3 -- sys/contrib/openzfs/lib/libspl/os/freebsd/mnttab.c | 3 -- .../openzfs/lib/libzfs/os/freebsd/libzfs_zmount.c | 3 -- .../lib/libzutil/os/linux/zutil_setproctitle.c | 27 +--------- .../openzfs/module/os/freebsd/spl/spl_acl.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_atomic.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_dtrace.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_kmem.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_kstat.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_misc.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_policy.c | 3 -- .../module/os/freebsd/spl/spl_procfs_list.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_sunddi.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_sysevent.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_taskq.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_vfs.c | 3 -- sys/contrib/openzfs/module/os/freebsd/spl/spl_vm.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_zlib.c | 3 -- .../openzfs/module/os/freebsd/spl/spl_zone.c | 3 -- .../openzfs/module/os/freebsd/zfs/crypto_os.c | 3 -- sys/contrib/openzfs/module/os/freebsd/zfs/dmu_os.c | 3 -- .../openzfs/module/os/freebsd/zfs/kmod_core.c | 3 -- .../openzfs/module/os/freebsd/zfs/sysctl_os.c | 3 -- .../openzfs/module/os/freebsd/zfs/vdev_label_os.c | 2 +- .../openzfs/module/os/freebsd/zfs/zfs_file_os.c | 3 -- .../module/os/freebsd/zfs/zfs_ioctl_compat.c | 3 -- .../openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c | 3 -- sys/contrib/openzfs/module/zfs/dbuf.c | 63 +++++++++++++++++++--- sys/contrib/openzfs/module/zfs/dbuf_stats.c | 13 ++--- sys/contrib/openzfs/module/zfs/dnode.c | 19 +++++-- sys/contrib/openzfs/module/zfs/mmp.c | 3 +- sys/contrib/openzfs/module/zfs/vdev_label.c | 6 ++- sys/contrib/openzfs/module/zfs/zil.c | 2 +- sys/contrib/openzfs/module/zfs/zio.c | 36 ++++++------- .../openzfs/tests/zfs-tests/include/libtest.shlib | 6 +++ sys/modules/zfs/zfs_config.h | 4 +- sys/modules/zfs/zfs_gitrev.h | 2 +- 39 files changed, 136 insertions(+), 155 deletions(-) diff --cc sys/modules/zfs/zfs_config.h index 3fb946f3de98,000000000000..bcd23c9ea276 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,1149 -1,0 +1,1149 @@@ +/* + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* bio_end_io_t wants 1 arg */ +/* #undef HAVE_1ARG_BIO_END_IO_T */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* submit_bio() wants 1 arg */ +/* #undef HAVE_1ARG_SUBMIT_BIO */ + +/* bdi_setup_and_register() wants 2 args */ +/* #undef HAVE_2ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 2 args */ +/* #undef HAVE_2ARGS_VFS_GETATTR */ + +/* zlib_deflate_workspacesize() wants 2 args */ +/* #undef HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE */ + +/* bdi_setup_and_register() wants 3 args */ +/* #undef HAVE_3ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 3 args */ +/* #undef HAVE_3ARGS_VFS_GETATTR */ + +/* vfs_getattr wants 4 args */ +/* #undef HAVE_4ARGS_VFS_GETATTR */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* posix_acl has refcount_t */ +/* #undef HAVE_ACL_REFCOUNT */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if host toolchain supports AES */ +#define HAVE_AES 1 + +/* Define if you have [rt] */ +#define HAVE_AIO_H 1 + +#ifdef __amd64__ +#ifndef RESCUE +/* Define if host toolchain supports AVX */ +#define HAVE_AVX 1 +#endif + +/* Define if host toolchain supports AVX2 */ +#define HAVE_AVX2 1 + +/* Define if host toolchain supports AVX512BW */ +#define HAVE_AVX512BW 1 + +/* Define if host toolchain supports AVX512CD */ +#define HAVE_AVX512CD 1 + +/* Define if host toolchain supports AVX512DQ */ +#define HAVE_AVX512DQ 1 + +/* Define if host toolchain supports AVX512ER */ +#define HAVE_AVX512ER 1 + +/* Define if host toolchain supports AVX512F */ +#define HAVE_AVX512F 1 + +/* Define if host toolchain supports AVX512IFMA */ +#define HAVE_AVX512IFMA 1 + +/* Define if host toolchain supports AVX512PF */ +#define HAVE_AVX512PF 1 + +/* Define if host toolchain supports AVX512VBMI */ +#define HAVE_AVX512VBMI 1 + +/* Define if host toolchain supports AVX512VL */ +#define HAVE_AVX512VL 1 +#endif + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_63 */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_OLD */ + +/* bdev_kobj() exists */ +/* #undef HAVE_BDEV_KOBJ */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio->bi_opf is defined */ +/* #undef HAVE_BIO_BI_OPF */ + +/* bio->bi_status exists */ +/* #undef HAVE_BIO_BI_STATUS */ + +/* bio has bi_iter */ +/* #undef HAVE_BIO_BVEC_ITER */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() is available */ +/* #undef HAVE_BIO_SET_DEV */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() exists and takes 4 args */ +/* #undef HAVE_BLKDEV_GET_BY_PATH_4ARG */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + +/* blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + +/* blkdev_put() accepts void* as arg 2 */ +/* #undef HAVE_BLKDEV_PUT_HOLDER */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk_mode_t is defined */ +/* #undef HAVE_BLK_MODE_T */ + +/* block multiqueue is available */ +/* #undef HAVE_BLK_MQ */ + +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + +/* blk_queue_flag_clear() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_CLEAR */ + +/* blk_queue_flag_set() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_SET */ + +/* blk_queue_flush() is available */ +/* #undef HAVE_BLK_QUEUE_FLUSH */ + +/* blk_queue_flush() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_FLUSH_GPL_ONLY */ + +/* blk_queue_secdiscard() is available */ +/* #undef HAVE_BLK_QUEUE_SECDISCARD */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* blk_queue_write_cache() exists */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE */ + +/* blk_queue_write_cache() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE_GPL_ONLY */ + +/* BLK_STS_RESV_CONFLICT is defined */ +/* #undef HAVE_BLK_STS_RESV_CONFLICT */ + +/* Define if release() in block_device_operations takes 1 arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* clear_inode() is available */ +/* #undef HAVE_CLEAR_INODE */ + +/* dentry uses const struct dentry_operations */ +/* #undef HAVE_CONST_DENTRY_OPERATIONS */ + +/* copy_from_iter() is available */ +/* #undef HAVE_COPY_FROM_ITER */ + +/* copy_splice_read exists */ +/* #undef HAVE_COPY_SPLICE_READ */ + +/* copy_to_iter() is available */ +/* #undef HAVE_COPY_TO_ITER */ + +/* cpu_has_feature() is GPL-only */ +/* #undef HAVE_CPU_HAS_FEATURE_GPL_ONLY */ + +/* yes */ +/* #undef HAVE_CPU_HOTPLUG */ + +/* current_time() exists */ +/* #undef HAVE_CURRENT_TIME */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* dentry aliases are in d_u member */ +/* #undef HAVE_DENTRY_D_U_ALIASES */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* sops->dirty_inode() wants flags */ +/* #undef HAVE_DIRTY_INODE_WITH_FLAGS */ + +/* disk_check_media_change() exists */ +/* #undef HAVE_DISK_CHECK_MEDIA_CHANGE */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* d_make_root() is available */ +/* #undef HAVE_D_MAKE_ROOT */ + +/* d_prune_aliases() is available */ +/* #undef HAVE_D_PRUNE_ALIASES */ + +/* dops->d_revalidate() operation takes nameidata */ +/* #undef HAVE_D_REVALIDATE_NAMEIDATA */ + +/* eops->encode_fh() wants child and parent inodes */ +/* #undef HAVE_ENCODE_FH_WITH_INODE */ + +/* sops->evict_inode() exists */ +/* #undef HAVE_EVICT_INODE */ + +/* FALLOC_FL_ZERO_RANGE is defined */ +/* #undef HAVE_FALLOC_FL_ZERO_RANGE */ + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* filemap_range_has_page() is available */ +/* #undef HAVE_FILEMAP_RANGE_HAS_PAGE */ + +/* fops->aio_fsync() exists */ +/* #undef HAVE_FILE_AIO_FSYNC */ + +/* file_dentry() is available */ +/* #undef HAVE_FILE_DENTRY */ + +/* fops->fadvise() exists */ +/* #undef HAVE_FILE_FADVISE */ + +/* file_inode() is available */ +/* #undef HAVE_FILE_INODE */ + +/* flush_dcache_page() is GPL-only */ +/* #undef HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY */ + +/* iops->follow_link() cookie */ +/* #undef HAVE_FOLLOW_LINK_COOKIE */ + +/* iops->follow_link() nameidata */ +/* #undef HAVE_FOLLOW_LINK_NAMEIDATA */ + +/* Define if compiler supports -Wformat-overflow */ +/* #undef HAVE_FORMAT_OVERFLOW */ + +/* fsync_bdev() is declared in include/blkdev.h */ +/* #undef HAVE_FSYNC_BDEV */ + +/* fops->fsync() with range */ +/* #undef HAVE_FSYNC_RANGE */ + +/* fops->fsync() without dentry */ +/* #undef HAVE_FSYNC_WITHOUT_DENTRY */ + +/* yes */ +/* #undef HAVE_GENERIC_FADVISE */ + +/* generic_fillattr requires struct mnt_idmap* */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP */ + +/* generic_fillattr requires struct mnt_idmap* and u32 request_mask */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP_REQMASK */ + +/* generic_fillattr requires struct user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 3 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_3ARG */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* generic_readlink is global */ +/* #undef HAVE_GENERIC_READLINK */ + +/* generic_setxattr() exists */ +/* #undef HAVE_GENERIC_SETXATTR */ + +/* generic_write_checks() takes kiocb */ +/* #undef HAVE_GENERIC_WRITE_CHECKS_KIOCB */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + +/* has iops->get_inode_acl() */ +/* #undef HAVE_GET_INODE_ACL */ + +/* iops->get_link() cookie */ +/* #undef HAVE_GET_LINK_COOKIE */ + +/* iops->get_link() delayed */ +/* #undef HAVE_GET_LINK_DELAYED */ + +/* group_info->gid exists */ +/* #undef HAVE_GROUP_INFO_GID */ + +/* has_capability() is available */ +/* #undef HAVE_HAS_CAPABILITY */ + +/* iattr->ia_vfsuid and iattr->ia_vfsgid exist */ +/* #undef HAVE_IATTR_VFSID */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* iops->getattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_GETATTR */ + +/* iops->setattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_SETATTR */ + +/* APIs for idmapped mount are present */ +/* #undef HAVE_IDMAP_MNT_API */ + +/* Define if compiler supports -Wimplicit-fallthrough */ +/* #undef HAVE_IMPLICIT_FALLTHROUGH */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + +/* inode_get_ctime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_CTIME */ + +/* yes */ +/* #undef HAVE_INODE_LOCK_SHARED */ + +/* inode_owner_or_capable() exists */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE */ + +/* inode_owner_or_capable() takes mnt_idmap */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAP */ + +/* inode_owner_or_capable() takes user_ns */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_USERNS */ + +/* inode_set_ctime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_CTIME_TO_TS */ + +/* inode_set_flags() exists */ +/* #undef HAVE_INODE_SET_FLAGS */ + +/* inode_set_iversion() exists */ +/* #undef HAVE_INODE_SET_IVERSION */ + +/* inode->i_*time's are timespec64 */ +/* #undef HAVE_INODE_TIMESPEC64_TIMES */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* in_compat_syscall() is available */ +/* #undef HAVE_IN_COMPAT_SYSCALL */ + +/* iops->create() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_CREATE_IDMAP */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKDIR_IDMAP */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKNOD_IDMAP */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->permission() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_PERMISSION_IDMAP */ + +/* iops->permission() takes struct user_namespace* */ +/* #undef HAVE_IOPS_PERMISSION_USERNS */ + +/* iops->rename() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_RENAME_IDMAP */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->setattr() exists */ +/* #undef HAVE_IOPS_SETATTR */ + +/* iops->symlink() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_SYMLINK_IDMAP */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_advance() is available */ +/* #undef HAVE_IOV_ITER_ADVANCE */ + +/* iov_iter_count() is available */ +/* #undef HAVE_IOV_ITER_COUNT */ + +/* iov_iter_fault_in_readable() is available */ +/* #undef HAVE_IOV_ITER_FAULT_IN_READABLE */ + +/* iov_iter_revert() is available */ +/* #undef HAVE_IOV_ITER_REVERT */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* iov_iter types are available */ +/* #undef HAVE_IOV_ITER_TYPES */ + +/* yes */ +/* #undef HAVE_IO_SCHEDULE_TIMEOUT */ + +/* Define to 1 if you have the `issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* iter_iov() is available */ +/* #undef HAVE_ITER_IOV */ + +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ + +/* kernel has asm/fpu/api.h */ +/* #undef HAVE_KERNEL_FPU_API_HEADER */ + +/* kernel fpu internal */ +/* #undef HAVE_KERNEL_FPU_INTERNAL */ + +/* kernel has asm/fpu/internal.h */ +/* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ + +/* uncached_acl_sentinel() exists */ +/* #undef HAVE_KERNEL_GET_ACL_HANDLE_CACHE */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_KERNEL_INFINITE_RECURSION */ + +/* kernel does stack verification */ +/* #undef HAVE_KERNEL_OBJTOOL */ + +/* kernel has linux/objtool.h */ +/* #undef HAVE_KERNEL_OBJTOOL_HEADER */ + +/* kernel_read() take loff_t pointer */ +/* #undef HAVE_KERNEL_READ_PPOS */ + +/* timer_list.function gets a timer_list */ +/* #undef HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST */ + +/* struct timer_list has a flags member */ +/* #undef HAVE_KERNEL_TIMER_LIST_FLAGS */ + +/* timer_setup() is available */ +/* #undef HAVE_KERNEL_TIMER_SETUP */ + +/* kernel_write() take loff_t pointer */ +/* #undef HAVE_KERNEL_WRITE_PPOS */ + +/* kmem_cache_create_usercopy() exists */ +/* #undef HAVE_KMEM_CACHE_CREATE_USERCOPY */ + +/* kstrtoul() exists */ +/* #undef HAVE_KSTRTOUL */ + +/* ktime_get_coarse_real_ts64() exists */ +/* #undef HAVE_KTIME_GET_COARSE_REAL_TS64 */ + +/* ktime_get_raw_ts64() exists */ +/* #undef HAVE_KTIME_GET_RAW_TS64 */ + +/* kvmalloc exists */ +/* #undef HAVE_KVMALLOC */ + +/* Define if you have [aio] */ +/* #undef HAVE_LIBAIO */ + +/* Define if you have [blkid] */ +/* #undef HAVE_LIBBLKID */ + +/* Define if you have [crypto] */ +#define HAVE_LIBCRYPTO 1 + +/* Define if you have [tirpc] */ +/* #undef HAVE_LIBTIRPC */ + +/* Define if you have [udev] */ +/* #undef HAVE_LIBUDEV */ + +/* Define if you have [uuid] */ +/* #undef HAVE_LIBUUID */ + +/* linux/blk-cgroup.h exists */ +/* #undef HAVE_LINUX_BLK_CGROUP_HEADER */ + +/* lseek_execute() is available */ +/* #undef HAVE_LSEEK_EXECUTE */ + +/* makedev() is declared in sys/mkdev.h */ +/* #undef HAVE_MAKEDEV_IN_MKDEV */ + +/* makedev() is declared in sys/sysmacros.h */ +/* #undef HAVE_MAKEDEV_IN_SYSMACROS */ + +/* Noting that make_request_fn() returns blk_qc_t */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_QC */ + +/* Noting that make_request_fn() returns void */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_VOID */ + +/* iops->mkdir() takes umode_t */ +/* #undef HAVE_MKDIR_UMODE_T */ + +/* Define to 1 if you have the `mlockall' function. */ +#define HAVE_MLOCKALL 1 + +/* lookup_bdev() wants mode arg */ +/* #undef HAVE_MODE_LOOKUP_BDEV */ + +/* Define if host toolchain supports MOVBE */ +#define HAVE_MOVBE 1 + +/* new_sync_read()/new_sync_write() are available */ +/* #undef HAVE_NEW_SYNC_READ */ + +/* folio_wait_bit() exists */ +/* #undef HAVE_PAGEMAP_FOLIO_WAIT_BIT */ + +/* part_to_dev() exists */ +/* #undef HAVE_PART_TO_DEV */ + +/* iops->getattr() takes a path */ +/* #undef HAVE_PATH_IOPS_GETATTR */ + +/* Define if host toolchain supports PCLMULQDQ */ +#define HAVE_PCLMULQDQ 1 + +/* percpu_counter_add_batch() is defined */ +/* #undef HAVE_PERCPU_COUNTER_ADD_BATCH */ + +/* percpu_counter_init() wants gfp_t */ +/* #undef HAVE_PERCPU_COUNTER_INIT_WITH_GFP */ + +/* posix_acl_chmod() exists */ +/* #undef HAVE_POSIX_ACL_CHMOD */ + +/* posix_acl_from_xattr() needs user_ns */ +/* #undef HAVE_POSIX_ACL_FROM_XATTR_USERNS */ + +/* posix_acl_release() is available */ +/* #undef HAVE_POSIX_ACL_RELEASE */ + +/* posix_acl_release() is GPL-only */ +/* #undef HAVE_POSIX_ACL_RELEASE_GPL_ONLY */ + +/* posix_acl_valid() wants user namespace */ +/* #undef HAVE_POSIX_ACL_VALID_WITH_NS */ + +/* proc_ops structure exists */ +/* #undef HAVE_PROC_OPS_STRUCT */ + +/* iops->put_link() cookie */ +/* #undef HAVE_PUT_LINK_COOKIE */ + +/* iops->put_link() delayed */ +/* #undef HAVE_PUT_LINK_DELAYED */ + +/* iops->put_link() nameidata */ +/* #undef HAVE_PUT_LINK_NAMEIDATA */ + +/* If available, contains the Python version number currently in use. */ +#define HAVE_PYTHON "3.7" + +/* qat is enabled and existed */ +/* #undef HAVE_QAT */ + +/* struct reclaim_state has reclaimed */ +/* #undef HAVE_RECLAIM_STATE_RECLAIMED */ + +/* register_shrinker is vararg */ +/* #undef HAVE_REGISTER_SHRINKER_VARARG */ + +/* register_sysctl_table exists */ +/* #undef HAVE_REGISTER_SYSCTL_TABLE */ + +/* iops->rename2() exists */ +/* #undef HAVE_RENAME2 */ + +/* struct inode_operations_wrapper takes .rename2() */ +/* #undef HAVE_RENAME2_OPERATIONS_WRAPPER */ + +/* iops->rename() wants flags */ +/* #undef HAVE_RENAME_WANTS_FLAGS */ + +/* REQ_DISCARD is defined */ +/* #undef HAVE_REQ_DISCARD */ + +/* REQ_FLUSH is defined */ +/* #undef HAVE_REQ_FLUSH */ + +/* REQ_OP_DISCARD is defined */ +/* #undef HAVE_REQ_OP_DISCARD */ + +/* REQ_OP_FLUSH is defined */ +/* #undef HAVE_REQ_OP_FLUSH */ + +/* REQ_OP_SECURE_ERASE is defined */ +/* #undef HAVE_REQ_OP_SECURE_ERASE */ + +/* REQ_PREFLUSH is defined */ +/* #undef HAVE_REQ_PREFLUSH */ + +/* revalidate_disk() is available */ +/* #undef HAVE_REVALIDATE_DISK */ + +/* revalidate_disk_size() is available */ +/* #undef HAVE_REVALIDATE_DISK_SIZE */ + +/* struct rw_semaphore has member activity */ +/* #undef HAVE_RWSEM_ACTIVITY */ + +/* struct rw_semaphore has atomic_long_t member count */ +/* #undef HAVE_RWSEM_ATOMIC_LONG_COUNT */ + +/* linux/sched/signal.h exists */ +/* #undef HAVE_SCHED_SIGNAL_HEADER */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SECURITY_PAM_MODULES_H 1 + +/* setattr_prepare() accepts mnt_idmap */ +/* #undef HAVE_SETATTR_PREPARE_IDMAP */ + +/* setattr_prepare() is available, doesn't accept user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_NO_USERNS */ + +/* setattr_prepare() accepts user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_USERNS */ + +/* iops->set_acl() exists, takes 3 args */ +/* #undef HAVE_SET_ACL */ + +/* iops->set_acl() takes 4 args, arg1 is struct mnt_idmap * */ +/* #undef HAVE_SET_ACL_IDMAP_DENTRY */ + +/* iops->set_acl() takes 4 args */ +/* #undef HAVE_SET_ACL_USERNS */ + +/* iops->set_acl() takes 4 args, arg2 is struct dentry * */ +/* #undef HAVE_SET_ACL_USERNS_DENTRY_ARG2 */ + +/* set_cached_acl() is usable */ +/* #undef HAVE_SET_CACHED_ACL_USABLE */ + +/* set_special_state() exists */ +/* #undef HAVE_SET_SPECIAL_STATE */ + +/* struct shrink_control exists */ +/* #undef HAVE_SHRINK_CONTROL_STRUCT */ + +/* kernel_siginfo_t exists */ +/* #undef HAVE_SIGINFO */ + +/* signal_stop() exists */ +/* #undef HAVE_SIGNAL_STOP */ + +/* new shrinker callback wants 2 args */ +/* #undef HAVE_SINGLE_SHRINKER_CALLBACK */ + +/* cs->count_objects exists */ +/* #undef HAVE_SPLIT_SHRINKER_CALLBACK */ + +#if defined(__amd64__) || defined(__i386__) +/* Define if host toolchain supports SSE */ +#define HAVE_SSE 1 + +/* Define if host toolchain supports SSE2 */ +#define HAVE_SSE2 1 + +/* Define if host toolchain supports SSE3 */ +#define HAVE_SSE3 1 + +/* Define if host toolchain supports SSE4.1 */ +#define HAVE_SSE4_1 1 + +/* Define if host toolchain supports SSE4.2 */ +#define HAVE_SSE4_2 1 + +/* Define if host toolchain supports SSSE3 */ +#define HAVE_SSSE3 1 +#endif + +/* STACK_FRAME_NON_STANDARD is defined */ +/* #undef HAVE_STACK_FRAME_NON_STANDARD */ + +/* standalone exists */ +/* #undef HAVE_STANDALONE_LINUX_STDARG */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcat' function. */ +#define HAVE_STRLCAT 1 + +/* Define to 1 if you have the `strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* submit_bio is member of struct block_device_operations */ +/* #undef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS */ + +/* super_setup_bdi_name() exits */ +/* #undef HAVE_SUPER_SETUP_BDI_NAME */ + +/* super_block->s_user_ns exists */ +/* #undef HAVE_SUPER_USER_NS */ + +/* sync_blockdev() is declared in include/blkdev.h */ +/* #undef HAVE_SYNC_BLOCKDEV */ + +/* struct kobj_type has default_groups */ +/* #undef HAVE_SYSFS_DEFAULT_GROUPS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* i_op->tmpfile() exists */ +/* #undef HAVE_TMPFILE */ + +/* i_op->tmpfile() uses old dentry signature */ +/* #undef HAVE_TMPFILE_DENTRY */ + +/* i_op->tmpfile() has mnt_idmap */ +/* #undef HAVE_TMPFILE_IDMAP */ + +/* i_op->tmpfile() has userns */ +/* #undef HAVE_TMPFILE_USERNS */ + +/* totalhigh_pages() exists */ +/* #undef HAVE_TOTALHIGH_PAGES */ + +/* kernel has totalram_pages() */ +/* #undef HAVE_TOTALRAM_PAGES_FUNC */ + +/* Define to 1 if you have the `udev_device_get_is_initialized' function. */ +/* #undef HAVE_UDEV_DEVICE_GET_IS_INITIALIZED */ + +/* kernel has __kernel_fpu_* functions */ +/* #undef HAVE_UNDERSCORE_KERNEL_FPU */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* iops->getattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_GETATTR */ + +/* iops->setattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_SETATTR */ + +/* user_namespace->ns.inum exists */ +/* #undef HAVE_USER_NS_COMMON_INUM */ + +/* iops->getattr() takes a vfsmount */ +/* #undef HAVE_VFSMOUNT_IOPS_GETATTR */ + +/* fops->clone_file_range() is available */ +/* #undef HAVE_VFS_CLONE_FILE_RANGE */ + +/* fops->copy_file_range() is available */ +/* #undef HAVE_VFS_COPY_FILE_RANGE */ + +/* fops->dedupe_file_range() is available */ +/* #undef HAVE_VFS_DEDUPE_FILE_RANGE */ + +/* aops->direct_IO() uses iovec */ +/* #undef HAVE_VFS_DIRECT_IO_IOVEC */ + +/* aops->direct_IO() uses iov_iter without rw */ +/* #undef HAVE_VFS_DIRECT_IO_ITER */ + +/* aops->direct_IO() uses iov_iter with offset */ +/* #undef HAVE_VFS_DIRECT_IO_ITER_OFFSET */ + +/* aops->direct_IO() uses iov_iter with rw and offset */ +/* #undef HAVE_VFS_DIRECT_IO_ITER_RW_OFFSET */ + +/* filemap_dirty_folio exists */ +/* #undef HAVE_VFS_FILEMAP_DIRTY_FOLIO */ + +/* file_operations_extend takes .copy_file_range() and .clone_file_range() */ *** 241 LINES SKIPPED *** From nobody Tue Nov 21 01:18:42 2023 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 4SZ62p2PW5z51RrF; Tue, 21 Nov 2023 01:18:42 +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 4SZ62p1jwjz4dLN; Tue, 21 Nov 2023 01:18:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700529522; 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=Nfoq+kgDX0pOPJ3bWlYgVdWJvS9aYygYwymMh7XY3Cc=; b=uy7ZtATGqHmgWlH+D3GD1Nihfj0Ed8EBw7elIWn3e32e+Y0Mdd8yIOsukYi6bqEJMRDMLj mdyDJmjERl4jwLxyjmmkafbprrfe9K461P+264D/5hCwJqxvQ53h1tVq2UFhXs+AA7LvHB CpcTwjT/8+x6/BegxrVy2Vbt+uj8e0lY06umgS6Lo/AYw+r8CyRBvBbsoZVcSzIQi83RF0 w7yeCyJu8IwbFP79ON5yn5FEPnLJcLy5B0YomKGkAIp41PBGxDi4i0Tg8OuqiTbL0cOyh1 Ptr/s6m37IvjgPw3FV73IPiTIeED6SJ1CUmc7NB9dcZNq4NcyO67t1nSNL79UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700529522; 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=Nfoq+kgDX0pOPJ3bWlYgVdWJvS9aYygYwymMh7XY3Cc=; b=RTrOusS6lbDsQevXyFIfRVkqp4wmqv3xo2NQ8ZToAVQfdKCqToJi62HDvEqHPJ+TBRnlVW czP9ah4Co3kMCkl9alU4RHSmkhliCtpbuw2hd0oEyKLZIBy8XACprp8bTQBwf0rnIhxSMi gJyNyS7iI0wQBNPWIMgk6qBBf1O/j9OjoLXODZwYI0k2Qskl6UdgkCpbfpyYFN9O+gwuBk tkVz7kZQZoSnyuXbGtDzggJIwWf4v/5VnUIhE6eZukfCdUc2y7CDkKrTjG73eDLFd6gcBa ncOfGrlRuTjh9EqFegk3fbv6RCcby3hUz2FNl0TyaDpOMoEd3Hknpi3aOy+1Mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700529522; a=rsa-sha256; cv=none; b=WGEeX+4Bz+SfM28YI3k1p3Jd7yMwPHU4b1zqcB785QCceupbjutHoPniHtODyyUz9gkb18 pv+1eiGat8tQ5b7l6HV6VDZhVWpm6THkvzCdxs4VzVyKK9D9qtLVns52CRBB4qdnYHbad5 5KChnyWUZXBLaCCLu4IQwGLgMBd2HeDE4mofZGY6ihwO1T64I8wDpqUMVUH7VeL0FZal6k LBuwymJBRgAsqGEeBVv8BzgUtu+ZYpNiBQQTW/tGSBaNb5HKSaIiUB8gITy18q2NJItpfr 6Pfj9BbOq//D6oHjFNhPv9IPOXiAyMb55SoQCnETkUYWVmpzcc/grZVbi0aHTg== 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 4SZ62p0pBdzQC; Tue, 21 Nov 2023 01:18:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL1Igg1008630; Tue, 21 Nov 2023 01:18:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL1Ig9h008627; Tue, 21 Nov 2023 01:18:42 GMT (envelope-from git) Date: Tue, 21 Nov 2023 01:18:42 GMT Message-Id: <202311210118.3AL1Ig9h008627@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Wing Subject: git: fb51ddb20d57 - main - bhyve: increase fbuf display resolution limit 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: rew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fb51ddb20d57a43d666508e600af1bc7ac85c4e8 Auto-Submitted: auto-generated The branch main has been updated by rew: URL: https://cgit.FreeBSD.org/src/commit/?id=fb51ddb20d57a43d666508e600af1bc7ac85c4e8 commit fb51ddb20d57a43d666508e600af1bc7ac85c4e8 Author: Robert Wing AuthorDate: 2023-11-21 01:17:53 +0000 Commit: Robert Wing CommitDate: 2023-11-21 01:17:53 +0000 bhyve: increase fbuf display resolution limit This enables connecting to the VNC server at a higher resolution. Reviewed by: corvink, markj Differential Revision: https://reviews.freebsd.org/D42620 --- usr.sbin/bhyve/pci_fbuf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bhyve/pci_fbuf.c b/usr.sbin/bhyve/pci_fbuf.c index a6bf508a46e6..9a4d7900751a 100644 --- a/usr.sbin/bhyve/pci_fbuf.c +++ b/usr.sbin/bhyve/pci_fbuf.c @@ -71,10 +71,10 @@ static int fbuf_debug = 1; #define DMEMSZ 128 -#define FB_SIZE (16*MB) +#define FB_SIZE (32*MB) -#define COLS_MAX 1920 -#define ROWS_MAX 1200 +#define COLS_MAX 3840 +#define ROWS_MAX 2160 #define COLS_DEFAULT 1024 #define ROWS_DEFAULT 768 From nobody Tue Nov 21 03:30:33 2023 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 4SZ8yy0TgFz51fNY; Tue, 21 Nov 2023 03:30:34 +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 4SZ8yx73rHz3Pvc; Tue, 21 Nov 2023 03:30:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700537434; 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=WDDXLMuBLkYtS0w45E2nvd0SpT/dgM5mAht4NraPZvY=; b=OMIpdIjETS9mfc1Z16iUrvXMt94N6p6lihtQ2glPqBvZj+rKolZoD+LmNJu+cuP+6tzEao sb+nuEwKVSIsoQEWnzp0MVUoPdWJFfXxpYzFwEL9UsDqV6abKXAn/LArf2Le9a6hMa6yYc qLAZrDMdxc2nca/HYHzbbIdXxliP8hDeAKTfXvqZvTAugHJEht1nT12T26mGz/jz3OEk3O DnKsr3+6Z0LVzWfP5xVelr+AZD2kkl8QUEP4Ep2Lr0uDQRpXvNB2XhiCTnnGgv7ck0UiyO ZoIvy/WWeQdhORgZ84TWQOSq72k+p/sFy/SOcuPwuxMD1L9/kX5D6TVSis1qfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700537434; 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=WDDXLMuBLkYtS0w45E2nvd0SpT/dgM5mAht4NraPZvY=; b=OL3mxAva18b2txYvXu8sGHVItEISIzYb/NL9ymSnq88+3FaM0BBypYpthVfQkdaNlm71F4 atatmGHVIzUz80guaoofE0lU2ftRwvBTYH+qGmQjVr9SJEs1tm0wiSAflgrNWpswqWTrIE ygHX73BxTJhrXcBJ73RaMDvH6g6goBA7MAHJcMXPWq3iaH49eYDiRrBz5/viy4Cja9JLhg 7/VV3TAlo6EtoegsY1BTfcb8Fnb2xK9v8ccFmQ3FTHi4biDylqd+Cf6zBb3Hw++wzpzegG NgJDHKQEH+yaFXyWoum0o7OQvEU9liYYkrw7gtSAHdyQhSj507oAE7NnaObT3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700537434; a=rsa-sha256; cv=none; b=CCvIIirzx0t+ONNaBqVC9ylG5BWobjul3vpyJc6Ka85lIELLq8vNs5IK0G54FsZwX/ZTcL 28csbwYarvtKvg8rwyYBb8KwX5mctn7Bb6I/MrLNo4usDJlqYKat+6OhSavaTc2mzaTHqK F/9J8ncQcnIIx1tycq3tfLm6fsve+7HV9MKvzma9pMcYPBAQ0Si0+BAXr5sKqHf7wHRNac ZZyBg1d6Fi0ndugNlQDAvT/kmEdn303fCToBk/C+jG4Fdr2fqhJvKF21whqmB+IJzORM7p xE8UbY/8pLg22OBPKfdVMvpXqSBzOQ06xXkG13vKO7xKw9wGAgxl4dOlQ0juQw== 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 4SZ8yx66htz47f; Tue, 21 Nov 2023 03:30:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL3UXRs035693; Tue, 21 Nov 2023 03:30:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL3UXko035690; Tue, 21 Nov 2023 03:30:33 GMT (envelope-from git) Date: Tue, 21 Nov 2023 03:30:33 GMT Message-Id: <202311210330.3AL3UXko035690@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: f213da893ca8 - main - Makefile.inc1: Remove beri straggler 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f213da893ca8c7c76e1656b36d3a10f93f9a1760 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f213da893ca8c7c76e1656b36d3a10f93f9a1760 commit f213da893ca8c7c76e1656b36d3a10f93f9a1760 Author: Warner Losh AuthorDate: 2023-11-21 03:30:02 +0000 Commit: Warner Losh CommitDate: 2023-11-21 03:30:02 +0000 Makefile.inc1: Remove beri straggler Beri's boot loader needed md5 to build. It was the only thing that needed that, so remove it (confirmed with univers and grep). Sponsored by: Netflix --- Makefile.inc1 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index f47b9f66b69e..82f3ef061d98 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2535,11 +2535,6 @@ _basic_bootstrap_tools+=usr.bin/mkfifo # jot is needed for the mkimg tests _basic_bootstrap_tools+=usr.bin/jot -.if ${MK_BOOT} != "no" -# md5 is used by boot/beri (and possibly others) -_basic_bootstrap_tools+=sbin/md5 -.endif - # tzsetup is needed as an install tool .if ${MK_ZONEINFO} != "no" _basic_bootstrap_tools+=usr.sbin/tzsetup From nobody Tue Nov 21 03:30:34 2023 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 4SZ8yz1SMBz51fGZ; Tue, 21 Nov 2023 03:30:35 +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 4SZ8yz0kW2z3Q1w; Tue, 21 Nov 2023 03:30:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700537435; 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=efufbhj4lge8Lo+D9EtEheVCrBR75sIvd6lBo6oEXzs=; b=WD8UOXBuG2CfkK5uecikOjmWeBch5doHHzu0i5mC7PiRX9A57rbteiXut+3Do9weQr4SAE KhNzpjDN/ESdWLWrigtOssE7hH3CW2muFqVUdC81vddGlhV9nYvBg6rISjmXJXbio5tk1a E8wmGr8BBwgG7ZvKvplRpy04zTsWHrNj3g3au1OwLn1Wz8oBCQsEEa/dKQk9unC2xAVkOs fs8ZzYzlBZst8XFC34wyh0LYhx0zj71OQOFeFu/qx4XOzxcpOxLscHEFb3rYMMHoDRbqbv BlMW3o5YGmOt8Sa48qKaQv5dmJxWWhDF4dSBGPId+Z7LLkKtj+fttsrOhSU83g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700537435; 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=efufbhj4lge8Lo+D9EtEheVCrBR75sIvd6lBo6oEXzs=; b=L9mBtQJNKLDZ+eiZ/IlLPvK3vnUS/NGAXxFn9a79b1Lqg9VNUvtmwTa8mQkDnk9fqoEI3w fAqxIAr1jF0MmEmCxXFXwm/18nIrTWsxr/dGHGb1bQsZdwqIQ27yySARRQBvJ6h+aE31QC PtrS7jvygsFjoMOCpvczJf1vu7qZelhsDAAz8WJtwAYIoyn4hKVF3Nm81S/WFbpAbHqQnN CXHpyPRhLqyEUpzkwrvo+K8N7nkfQw9L5+Xp6CGSiWp5TCPyc97d2M1EXHVrjX8Vzg7T6u L9cEU1A90aoVb2tFa66LSzmxgSL1RjAHdZXFB9F77+HyxJrJNXLxeiq6M0uzmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700537435; a=rsa-sha256; cv=none; b=DbS0iB3Y9w5CmHoRTqSbmp2mgYyl6CDphOuBpfw1wG5X/CIVxL+2eQnDemqgcMHezMabcd IhTNttc9Cf7pRNLCNIuj8U5YPHILjFdbKAqdDus73WELSyszG0JfIwam4S+N4RhEfR9I9U y6gWMRzzFgKjxzdlbiZJmKu8CNEYOLqtFiWx9UxhrhFKVnD4yLMvrKaRU8H6hMhM2hGOxG xCbVgerXxoMvoVk+N829l1XbFmaooHX9l8XDasPaKIFoJnfPTLO00NUE15RoQkar98aS4b Lzd0GWPI/lzkDGKLL4FTtY5GiR4gE1YJ/I6Q4MY9ATk5RiZSwvjZ/8FnXys1kg== 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 4SZ8yy6sN3z3m1; Tue, 21 Nov 2023 03:30:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL3UY95035732; Tue, 21 Nov 2023 03:30:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL3UYoe035729; Tue, 21 Nov 2023 03:30:34 GMT (envelope-from git) Date: Tue, 21 Nov 2023 03:30:34 GMT Message-Id: <202311210330.3AL3UYoe035729@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 0abe05aeac29 - main - stand: bandaide for acpi 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0abe05aeac29d99786401b9078e97dcead35f7f3 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0abe05aeac29d99786401b9078e97dcead35f7f3 commit 0abe05aeac29d99786401b9078e97dcead35f7f3 Author: Warner Losh AuthorDate: 2023-11-21 03:30:16 +0000 Commit: Warner Losh CommitDate: 2023-11-21 03:30:16 +0000 stand: bandaide for acpi Old binaries do not set acpi.rsdp early enough. So when we boot with an older loader.efi from an ESP that's not been updated, we assume there's no ACPI on this system. This is unwise. Put a band-aide on this until we can implement a proper 'feature' variable that the binary reports so we can do conditionals for things like this in the future. This is at best a rapid-response stop-gap. Glanced at by: kevans Sponsored by: Netflix --- UPDATING | 6 ++++++ stand/lua/core.lua | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 763f8f29a4f0..8b503e1ccfb6 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20231120: + If you have an arm64 system that uses ACPI, you will need to update your + loader.efi in the ESP when you update past this point. Detection of ACPI + was moved earlier in the binary so the scripts could use it, but old + binaries don't have this, so we default to 'no ACPI' in this case. + 20231113: The WITHOUT_LLD_IS_LD option has been removed. When LLD is enabled it is always installed as /usr/bin/ld. diff --git a/stand/lua/core.lua b/stand/lua/core.lua index 718783309687..f4a2815769c9 100644 --- a/stand/lua/core.lua +++ b/stand/lua/core.lua @@ -136,9 +136,14 @@ function core.hasACPI() return loader.getenv("acpi.rsdp") ~= nil end +function core.isX86() + return loader.machine_arch == "i386" or loader.machine_arch == "amd64" +end + function core.getACPI() if not core.hasACPI() then - return false + -- x86 requires ACPI pretty much + return false or core.isX86() end -- Otherwise, respect disabled if it's set From nobody Tue Nov 21 06:49:39 2023 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 4SZFNg3tN8z51wgn; Tue, 21 Nov 2023 06:49:39 +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 4SZFNg2wHfz4Kx0; Tue, 21 Nov 2023 06:49:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700549379; 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=emMrao6EmiGx6Sna2RwEOiulqUQz5qJs1xz3j4zBXEc=; b=Qr5Na3w3kZYGoFGdNeGUZXLl0HGM5GpqlTKeUQXV8DIkzenMfXIJ1aHdGlW9scdgirvofs q/85AjHSta1PaogxdFSkX5XZtbD3E4Ci6btistK57nbh9WsrSTIGftLuMfrZsKE+bQRxgp SQLCaxpqC2l3VM6gPNB9n4bTqvc/FcL/04L+qhVOWBTnO3VLz1vecYbhFp45ywuZd0YdeM kzs+1vDeIAStGQu6xOdk9Gxz54aX/el+IxBU0oilpcUljAOV6WOfjIVCZw1qcjnRwvrUWp NKHDWOY95uy9aIUg+LTtHfw+ttdbFgexz1eyeIbJ3XbZ3VLUkhev4N4N+kukDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700549379; 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=emMrao6EmiGx6Sna2RwEOiulqUQz5qJs1xz3j4zBXEc=; b=v9fnPEbMiBhGhlmx58IUK9OKEE/E4Thw9ejF6BGMaH838zMXTxaE/2YCUabhegi2/4ET7N xRtj6nv8UHfH8LZl9O2f4SzY6dx3ekJmGn5WfyQ2K0mMFyI2Ze4r9wwiYPVEvGdzx0NvOI gFbs9E3uO2TPQ1yy+UZn3QhLCrgAVleB76q4hpWX2oAkwoWTyT6Yzpd3RCvljtkZJdEUZ+ zJoDqbwGMt93piD0fzYXWlx0uxGrWs1QQVit/9jMJv9S8brrtxxBIuZHCM6OaL/0MGfUL/ Qe/gEzod+NMc7JJtR0v2jE7WUZJHbz9MXFs7MtMrmdQKgC+zxab9BKGfWkmtaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700549379; a=rsa-sha256; cv=none; b=x8sm1Jz2okjLuEHxQsNVbGq35zRxvetjWXYxjOO6aqWoCp1RSu9D3lPrSL4u95POgCTRDq WujSYmPOXWstA8VuP1FUYRNf9uZ17ypcU63Oj4heBQs0MOTLOvr+Ga5H9BjIBKSK1DXTnc pnH3lYw8XFU2qMxTAQki/nU6zp7+0EK1IfcKOErGo6ar3w+kOnfRw5IfJbBFYNy+w1qnkG j5tYGodJ5c+/J0aIR+11BW4VNgTvHjOYmcnyuoT49LKQJCMc1/w6uoidliZKarAFCcgyno qxwvot2d+xNkrA6sOoFoBCM9bpylgFh2FRPhuva9xbfeH9JSn+i4HueF1QLd/A== 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 4SZFNg1zrbz9Jx; Tue, 21 Nov 2023 06:49:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL6nd4x059849; Tue, 21 Nov 2023 06:49:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL6ndoX059846; Tue, 21 Nov 2023 06:49:39 GMT (envelope-from git) Date: Tue, 21 Nov 2023 06:49:39 GMT Message-Id: <202311210649.3AL6ndoX059846@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: edb6d4f50d9e - stable/14 - getpeerid.3: Clarify the 's' argument 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: edb6d4f50d9ea5a57dfc01964e950b5fb3a7e0fa Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=edb6d4f50d9ea5a57dfc01964e950b5fb3a7e0fa commit edb6d4f50d9ea5a57dfc01964e950b5fb3a7e0fa Author: Gordon Bergling AuthorDate: 2023-11-18 09:02:12 +0000 Commit: Gordon Bergling CommitDate: 2023-11-21 06:49:28 +0000 getpeerid.3: Clarify the 's' argument The argument 's' of getpeerid(3) must be a connected UNIX-domain socket, so document it. PR: 248614 Differential Revision: https://reviews.freebsd.org/D42629 (cherry picked from commit fa9f74220146233b7224da7c94870540dc39ae68) --- lib/libc/gen/getpeereid.3 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/gen/getpeereid.3 b/lib/libc/gen/getpeereid.3 index 204dec041d8f..8e3b763f716a 100644 --- a/lib/libc/gen/getpeereid.3 +++ b/lib/libc/gen/getpeereid.3 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 28, 2022 +.Dd November 16, 2023 .Dt GETPEEREID 3 .Os .Sh NAME @@ -44,7 +44,7 @@ peer connected to a socket. The argument .Fa s -must be a +must be a connected .Ux Ns -domain socket .Pq Xr unix 4 From nobody Tue Nov 21 06:49:57 2023 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 4SZFP12Y4nz51wgs; Tue, 21 Nov 2023 06:49:57 +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 4SZFP122kkz4L6X; Tue, 21 Nov 2023 06:49:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700549397; 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=bqRNP0haYKYr6ukMjTt7yL1V8ccrw1SNQOJcGb23l2Y=; b=QkvqGRwSHP8p/Ebr/Pg0UXmmKISNUspR00ycZP5hFW4EBB7xTrJiWoIEJqHE2pkleCvSR3 Y/gIgTfDr1QDgogUfU1L3spVmx+mkR+oo0f+DcIlIh4w9yvqUPExdSsEQRucDZsP//vjcf bXLxY2CTwyuNzvzLHURspavHc2wL0XjuOJHYAZ85S8a4iP3Ve+e9FHA6FxRmiBO+4+4zzt V6KMZ5CHCEOpU0SSzki/rOTrZbpiNg3wx7YQxBAnDsea0R4Ls7Xvgqm6zm/Dxv3czvU2h5 sT1LaeW/mU3v0kPMqsoVfJ8kWtrfGjprDQmF1CmpdVOmVJIAoGc60hHZrB8d6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700549397; 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=bqRNP0haYKYr6ukMjTt7yL1V8ccrw1SNQOJcGb23l2Y=; b=SW/iOQvmq1j70bySuWeWAUBSsEhA+A+rJ2nh7vu84a7cNrngxPWEvLyDxsNSUYi8IgWoQ5 wnRk87CYZCTrej5rwAQYoaEYjrrvk4xbZu1MCgQmyTpo0ym0AVjju/AlV/M0AolpR51kHH lEZYzMNIjAmWbu0a3C25yjfglB0bFHzsRBKAF4OVIHV4vjHWXDqMBY+/3sNHtrHnHrJ/eP +v1RXfS6+yITgQHHqFddZ6IjxEIzx1wv2YlD292Lf7ZNEHNJWTxTk5UtZIr2RE2+SPTfvz 4970vZxEsoJ4x+T6BeXUx49kF6ohIC37pt/WJ9bFIo/rPxfE9r5vT2l0XNWaSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700549397; a=rsa-sha256; cv=none; b=Y4hggXSFgUbeCIkcr5LlY3jAKQNZkPscJ084OrphzhWHfxsW6U4S9RuAWW9RTJYyvBc0f8 j/PADXOvscO2S3X9M2sN6MRpX9qzzq/M0NJ0+1dQrUNHsI4bwt0LnkjV4nguYoy7FV2i5s pC/QgSEnMoqc/SR2XdRHtRgX6ea2cy8JnRbUst2wE/1u/lGDTrhmv8HoxHBvIJhNouGET9 cB57RcW0+BPAPFlgb+SK3D9ySyQOWTf153QWP5JoP3a3vnIsUvVx+EODeYgOh5YMvSlO7w E7Sy76n6i8Z9hi02f98AseDzNblB6w9Mm4pMbc1AGak4lLr+sJ8HNQKVor8ZFQ== 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 4SZFP115GMz9Jy; Tue, 21 Nov 2023 06:49:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AL6nvSI060023; Tue, 21 Nov 2023 06:49:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AL6nvUk060020; Tue, 21 Nov 2023 06:49:57 GMT (envelope-from git) Date: Tue, 21 Nov 2023 06:49:57 GMT Message-Id: <202311210649.3AL6nvUk060020@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 05d562a4e53e - stable/13 - getpeerid.3: Clarify the 's' argument 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 05d562a4e53e6c808949591d10b4b94fd0898eeb Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=05d562a4e53e6c808949591d10b4b94fd0898eeb commit 05d562a4e53e6c808949591d10b4b94fd0898eeb Author: Gordon Bergling AuthorDate: 2023-11-18 09:02:12 +0000 Commit: Gordon Bergling CommitDate: 2023-11-21 06:49:47 +0000 getpeerid.3: Clarify the 's' argument The argument 's' of getpeerid(3) must be a connected UNIX-domain socket, so document it. PR: 248614 Differential Revision: https://reviews.freebsd.org/D42629 (cherry picked from commit fa9f74220146233b7224da7c94870540dc39ae68) --- lib/libc/gen/getpeereid.3 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/gen/getpeereid.3 b/lib/libc/gen/getpeereid.3 index 204dec041d8f..8e3b763f716a 100644 --- a/lib/libc/gen/getpeereid.3 +++ b/lib/libc/gen/getpeereid.3 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 28, 2022 +.Dd November 16, 2023 .Dt GETPEEREID 3 .Os .Sh NAME @@ -44,7 +44,7 @@ peer connected to a socket. The argument .Fa s -must be a +must be a connected .Ux Ns -domain socket .Pq Xr unix 4 From nobody Tue Nov 21 10:50:35 2023 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 4SZLkg67Qhz51N55; Tue, 21 Nov 2023 10:50:35 +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 4SZLkg5fG2z3Ftb; Tue, 21 Nov 2023 10:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700563835; 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=JHgHLOvl0FbUQC+OXK6vjE045CmwNLwqBS+7giIiBA4=; b=M6mjCXm/4GgpCPF4AhuXCmqZ22OK6WGBinZX83dgdFvlIrtaQ6X6j4pXjdBGDUgyE8eQPY mECo9jUqn+SM97uez98eUOYkd6noubfNY4/uzMelEQDdSONK794ybwrbrBop7rJi6xBANO CEwXDIvh2KQuRPcvJ1ecE4N7SbCb9zfPd+S9fa/QZk74Po6k3pcGh97OIJ4YtinjAKhSZ9 zjQ2oWcvQxryqaUUxxZSIGlKOhRdzrGGCOIGHg3Lp59uRHPoxlvolI6d+97yewAf4k4iLE VlO1iDAHbFbREafhoZPLTaJY8aCyONum0ko8/V+frOjdsh9SL0/hNGDGjXSvzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700563835; 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=JHgHLOvl0FbUQC+OXK6vjE045CmwNLwqBS+7giIiBA4=; b=FpX1BGLmfM+ATNniF8vFdBT0zTPFmtkQsknrH6CLj9x3644jnmGyGexwiJWds6KQnYUDM3 7VsZs+FpgKBcpBoabz3/GGxqZKfVV8kmC55SVkURX3uz7o+w6IEH7jRTrUMVLIBoQyAbbI /7s2eR5NQk5a3Vl8OhxpZOpd4QAxhj26q/LdtRxynevZ7D95E5kz6vYY3UNOR533aeN7MQ JE8ZU4Z6hgyDksKKS4XX8SXyjB7ZBIbDTmFoVZBHyVT1g8PujI/nMQXz4VRtB+KDkqFCES u2yqgrTxeBNxRxBuAhSaonsrz37CtmVfaFcZlqfbox4xgBvslzRnLhw3RyqcTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700563835; a=rsa-sha256; cv=none; b=tUzeXmrd2juw8TtcZoRVZoMuqBaq5DJ1/hQ+gPPzJh8xxGEavogR59xMkltTMoPlLZtA/0 AmAuTZ1e2GkczOAi92NHlImCdahMIYUvvLxGAQB1vUW9pjbqSAyEE8lJETsBBh2tycyvB6 mNqrB3N9cxd3lVTzKW7xbvbvuRAv2eDZyOITHiD+VtU6vQfHsqrBFf/SRvClnXEvJsoH3A nuKTm86FW1mDyQfH9SZwEuxO90Ds35smPJ5ksiYN+MnxXjyvAhPBwGcCTuu38ACv9GyZG3 2DwtAF6AvRPaPLil+75z5hzX9HH8r5aHDX3NETrrCv0T0GTEfnrM2emfHzo6qA== 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 4SZLkg4hp7zXfw; Tue, 21 Nov 2023 10:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALAoZVO067679; Tue, 21 Nov 2023 10:50:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALAoZZV067676; Tue, 21 Nov 2023 10:50:35 GMT (envelope-from git) Date: Tue, 21 Nov 2023 10:50:35 GMT Message-Id: <202311211050.3ALAoZZV067676@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: f327a5765b77 - stable/14 - ipfw: fix copy&paste bug for number:array tables 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: ae X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f327a5765b77e4e465117739957bfe45869bd98b Auto-Submitted: auto-generated The branch stable/14 has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=f327a5765b77e4e465117739957bfe45869bd98b commit f327a5765b77e4e465117739957bfe45869bd98b Author: Andrey V. Elsukov AuthorDate: 2023-11-14 04:37:04 +0000 Commit: Andrey V. Elsukov CommitDate: 2023-11-21 10:49:32 +0000 ipfw: fix copy&paste bug for number:array tables Use compare_numarray() method for binary search. This fixes table lookups for keys greater than UINT16_MAX. Obtained from: Yandex LLC MFC after: 1 week Sponsored by: Yandex LLC (cherry picked from commit 194df014feebd8b169b41ecd75ae73d63a792d6b) --- sys/netpfil/ipfw/ip_fw_table_algo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/ipfw/ip_fw_table_algo.c b/sys/netpfil/ipfw/ip_fw_table_algo.c index 2fa65c78c453..89e6b69bc3ad 100644 --- a/sys/netpfil/ipfw/ip_fw_table_algo.c +++ b/sys/netpfil/ipfw/ip_fw_table_algo.c @@ -2693,7 +2693,7 @@ numarray_find(struct table_info *ti, void *key) struct numarray *ri; ri = bsearch(key, ti->state, ti->data, sizeof(struct numarray), - compare_ifidx); + compare_numarray); return (ri); } From nobody Tue Nov 21 10:51:44 2023 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 4SZLm06RHgz51N0m; Tue, 21 Nov 2023 10:51:44 +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 4SZLm05xRLz3GjZ; Tue, 21 Nov 2023 10:51:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700563904; 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=szN5a53Gx2kcWxlsff2Kyz8IC5BKizRrL6dLKge6tFE=; b=UAh7B4mawXdh2h6CfKLWr7aNgcb8A2ktXKMQlAObcl7Vc70wjYHeFqhKCcxPjOZPIXAKDL WnEvWBF7aSI0OZ4J/trwOnS+aNba8zU+2QDe4tetgYHHz8QReCkw1DtCd9pf0UW8crVbRG 15p2RFv8ngUdWxGimD41ZI4+9229x8+s3+wvsTzPmklbkRKAvEWbITlAJ99wrqV83Ldem1 4Vpb+5TzJb5rTxjllnPi6tSMzIl3a7pdLvm6VaPtL0b76gBCGu70jFNxA72rD6Dw5uU2Vy IWjm307JfcLaaR3fNWhK73BktMSExdhmOExZLYILFPU8DCX8NjRI3OS1W5qtug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700563904; 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=szN5a53Gx2kcWxlsff2Kyz8IC5BKizRrL6dLKge6tFE=; b=B8Dovscv9DXmOmlCPy17HCGrgvAYuUnwVmtLrChGJeKR8QyYjHZ31djlzdhcIIkncYuGuG nT4tiIYSVf/ybBz2AbFS1G8f4p6N2EMJmwwGOBHatx7rpj6ZkM3cyjxSipF5XLnzgCIte2 APxFDe722WX0BrIcIeeLkLUJzecy6Ya+IdPE3+fvzT8VynSRCcYvgJZJjsSpwRaiVhfNXh 758Irvj9pvj0U+x+B2/6muqwsrgHH18U9KtUMS7p4zoKczR11Xvyh3IPsZVZpJj3JzPN8q SI9uIkk+PQF9KG+EvOCJtXLa5JD3AGqtDC2pnmwL41GZ/R8bHWLsXUTqlaukMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700563904; a=rsa-sha256; cv=none; b=kFSRdzT++BNR8cVd0hlCsNP9LqZcHRspNxnCeH+/k2CsCL4pPW87ztUdHymUtv/9PTx8Xe KVptY/8RxwO3c8R7agskvwPOOjJVaMvO0vCfdaXi5iyDD7ph0qrWtw+sWBuTyrxMgukomF XJyrQDA5DVe6njce7NV3FM19VssKsdUcyRbSVG/B11Vuw35YnG6yHDsZFwQ00mR0sDfek3 cyFTyAzT2RpOe3a+dYZnHdzCB2QerW5n3OLUFtlnTPiL0HNFnmh7wR16hJlMJAhU6zAn+J Ik1j5DdOIvu56nF8whh+aAbNeNxJWbBQS5CDIM7qfl1x/wHdYS52XIfdLw0WWA== 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 4SZLm050VqzYQ5; Tue, 21 Nov 2023 10:51:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALApiHN071314; Tue, 21 Nov 2023 10:51:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALApint071311; Tue, 21 Nov 2023 10:51:44 GMT (envelope-from git) Date: Tue, 21 Nov 2023 10:51:44 GMT Message-Id: <202311211051.3ALApint071311@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: e7a86775f751 - stable/13 - ipfw: fix copy&paste bug for number:array tables 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: ae X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e7a86775f7510ad57409adfdfbd3ccaf3a31bed2 Auto-Submitted: auto-generated The branch stable/13 has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=e7a86775f7510ad57409adfdfbd3ccaf3a31bed2 commit e7a86775f7510ad57409adfdfbd3ccaf3a31bed2 Author: Andrey V. Elsukov AuthorDate: 2023-11-14 04:37:04 +0000 Commit: Andrey V. Elsukov CommitDate: 2023-11-21 10:51:15 +0000 ipfw: fix copy&paste bug for number:array tables Use compare_numarray() method for binary search. This fixes table lookups for keys greater than UINT16_MAX. Obtained from: Yandex LLC MFC after: 1 week Sponsored by: Yandex LLC (cherry picked from commit 194df014feebd8b169b41ecd75ae73d63a792d6b) --- sys/netpfil/ipfw/ip_fw_table_algo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/ipfw/ip_fw_table_algo.c b/sys/netpfil/ipfw/ip_fw_table_algo.c index 44750b8baa7b..f2ea1ddfc384 100644 --- a/sys/netpfil/ipfw/ip_fw_table_algo.c +++ b/sys/netpfil/ipfw/ip_fw_table_algo.c @@ -2696,7 +2696,7 @@ numarray_find(struct table_info *ti, void *key) struct numarray *ri; ri = bsearch(key, ti->state, ti->data, sizeof(struct numarray), - compare_ifidx); + compare_numarray); return (ri); } From nobody Tue Nov 21 11:17:19 2023 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 4SZMKW405Fz51QDf; Tue, 21 Nov 2023 11:17:19 +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 4SZMKW3PMDz3LJv; Tue, 21 Nov 2023 11:17:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700565439; 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=HiyR4NILW7cHy8kPBP3/OuzTe4ehpE8Ob3+MAgQ8o7s=; b=Tut0mOJygXKIixujNfh3RGv6ViFb0Z8TJ3PP+NXpkK54HIh9YXUPEt7iOC0xk0zBY15IET BEu+MOx+JWdiU0GQK7shB4C6TwBiNMyOseTuH8aDI3O4DTPrgrCG0DPlCyFKRRcMt5TnBD +RYhejp/IcsWvPZNRRdJ2HD+8ge7iP14eaf5Y9xE19tv2erp64BtO/sI/jXyUsR0ZQos95 DrA1SdOa9s8EMzq/JFLlLJAkkLXxQVRIFS084PYPJ5ckeHOB/J+JlcQHROdPuLfLP9h28q v4RFAWhwgMe8OuR1w1iRKJjrWz99yiaBRscKDPt2dmDc0dg/LkHMO2x9SSF+AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700565439; 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=HiyR4NILW7cHy8kPBP3/OuzTe4ehpE8Ob3+MAgQ8o7s=; b=XK/bzHKLy4qf9b4akjCUFj+DV8FfCnTjseGYviflPP2OIrNMT+8FapTue0ocUxdEjSAB2p Qo582kxui+CgbTSxkdnoRusxstcNMec90ZPs65C2qn4dEIepr/N6eaqufcoRrWI7ROCWjt K/oXD7vpiNZxWXUNIIlQrdlTO+V3d5wrPBt8GNgQIwba+Dzm8VQQmvLT7xua0jMVR0c2/A ND97+/RLtDc7p6oUjxvRtL+I6AuRGnwoC1E39K/0F4HNFprq8CymW445Yl4Hwa4XhBdaIe b0AZDhjDMzqgglV0H+06SJNLt6UeU8lP8jOQknwdZuP+howXhhlrUmkWa07Ssg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700565439; a=rsa-sha256; cv=none; b=tnifwK6CVSm4KAIhyWp6LipPOUbcePpvoAMyUO+oHS3AvVKrRi+60/zEUjhXmS27zWBebU 6HSAGW+CPBAKTqFCPuh7pdgkEsL2Vc6YZIKZ2JZPSQy+xSf85jGhJAi2bMZWkeyEImAw6t ynkufD9Qp9QDM4k1v/H0lFNnqMEIP7Hh6OiOFm16vJoZEsZTdbUu3pVHc28fzK9aUVTD+P IAITl6f2XJfGuEoqFebrwCGiDnhR4jluhWxC/sUUoGgIdaz4klGCRqd3pFiBrc49GerkkD ZyL5kc7VQij7BwJzo4IVyI3j6/39NW/hq5AS82m7MXW9Yf+oB/T+hetOzeWRxA== 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 4SZMKW2QsdzYcd; Tue, 21 Nov 2023 11:17:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALBHJxJ009671; Tue, 21 Nov 2023 11:17:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALBHJIf009668; Tue, 21 Nov 2023 11:17:19 GMT (envelope-from git) Date: Tue, 21 Nov 2023 11:17:19 GMT Message-Id: <202311211117.3ALBHJIf009668@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: f3a83b3a6257 - main - arm64: Remove an old comment 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f3a83b3a6257ea0fd5aba66ff42218350228b321 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f3a83b3a6257ea0fd5aba66ff42218350228b321 commit f3a83b3a6257ea0fd5aba66ff42218350228b321 Author: Andrew Turner AuthorDate: 2023-11-15 18:18:15 +0000 Commit: Andrew Turner CommitDate: 2023-11-21 09:30:45 +0000 arm64: Remove an old comment This was missed when removing kern_delta Sponsored by: Arm Ltd --- sys/arm64/arm64/locore.S | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index 0b177438da82..bace478901a5 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -134,8 +134,6 @@ virtdone: sub sp, sp, #BOOTPARAMS_SIZE mov x0, sp - /* Negate the delta so it is VA -> PA */ - str x1, [x0, #BP_MODULEP] adrp x25, initstack add x25, x25, :lo12:initstack From nobody Tue Nov 21 11:17:20 2023 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 4SZMKX5J9Zz51Q84; Tue, 21 Nov 2023 11:17:20 +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 4SZMKX4dlMz3LGn; Tue, 21 Nov 2023 11:17:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700565440; 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=StEhzTFBKLYJRzw943W6pCVz74iHF93yDlR4Gd5Q16Y=; b=QHNtEJ9dr0n5fwgXfUS6bMZB/r2nGthPBOEEAS4gdcI/XTPDKqrkp15F/omriU03lXtHn1 luxQMPro3a+eBeZXtc+BOjTy0Hjs/rtXM2KsSE4J6Wi1wyhQ02VQQhCHaKUWfz8W8RhNkz QDvLdtgEPQFoQ7nl/8d1xTTrE1yDKFjq42HqmGs0+87ZaGLsXKegdjhykXfUN/gER8hdJC mkGQOmwuHOvg/2cAtY9wJR19J7WUAIHZ9KGD+HAnnXHDYWRTn+KOrNCLOUAUN1mbJPeisc VVhYQtO54qX4rQ11Gq48DbRtErDL1xNCHjnPhBbWwDX1sDSuTwD51wutpknoRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700565440; 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=StEhzTFBKLYJRzw943W6pCVz74iHF93yDlR4Gd5Q16Y=; b=UGpf81rhM5kRTqzvlDPkzIwnfkoMcn6ss1PipBhvGDlb11p5arfQM4Aq9WmZY6mw+0aT+E YQFyPp2lqH3k+A4Adl+WJO8ssSyfXUhvDEohbnutYVoCSRm7DCgvNCkh8gJ6NKUFBHo6tf RMFzKSNHZQUPSR/yFOQHNTXeGLQTVmOpOIH2pNowNpKHD9+wx9IEXWvbnkElH1O4VZ3s0d ZRV5SDCzEnKurYoo4u3FBXPx+AJf4mRd8EA7Ss1pSlRDZ7R8/pvG8FfrVF9TWZanpvDJem pcTEU81AKwHj/Hz9CmluDwpjZ5ZPSNUrP8T9GIrdDtpAzSt8UD9Ed/liMnI3uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700565440; a=rsa-sha256; cv=none; b=oHWv1zfkwOOUtkvj2MBoSoBz7ef6GXdCrNkBCLWszpPmXF3jXe4qLUNiyP31zJ2qVV632h nUAnNAwCZqm3YgjtJe8gitCOL9TvtAdfWQWUxiLb94pU6+QVLNFbtea53PVi0S9v1Tj6Du M+nfAqxHTQO72X+KGmVEOAtAEnIjbX/fcuviY/ThXn7smhvrW6ll0LqnnawgE9DxKxTo/O P/pGmnDuTRTXovTpEktwZ1VxRSJ7+qje7bXZc2XM4Iwj6/9mMY2Kk/gS0wIxafE5eBOcR2 QGtH4KjwlP2TkbdeV70QfZX4dsL+2bd5u0Z0D+lvWmixKHkB1OAG669pyDpJ3Q== 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 4SZMKX3QcZzYTj; Tue, 21 Nov 2023 11:17:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALBHK3C009722; Tue, 21 Nov 2023 11:17:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALBHKjC009720; Tue, 21 Nov 2023 11:17:20 GMT (envelope-from git) Date: Tue, 21 Nov 2023 11:17:20 GMT Message-Id: <202311211117.3ALBHKjC009720@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: fd5aaf2ea017 - main - libc: Teach libc about the BTI elf note 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd5aaf2ea0178b03aa93c35245053247e5d3840c Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=fd5aaf2ea0178b03aa93c35245053247e5d3840c commit fd5aaf2ea0178b03aa93c35245053247e5d3840c Author: Andrew Turner AuthorDate: 2023-10-12 14:22:18 +0000 Commit: Andrew Turner CommitDate: 2023-11-21 10:02:51 +0000 libc: Teach libc about the BTI elf note Add the Branch Target Identification (BTI) note to libc assembly sources. As all obect files need the note for the library to have it we need to insert it in all asm files. Reviewed by: emaste, markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42228 --- lib/libc/aarch64/gen/_ctx_start.S | 4 ++++ lib/libc/aarch64/gen/_setjmp.S | 3 +++ lib/libc/aarch64/gen/fabs.S | 4 ++++ lib/libc/aarch64/gen/setjmp.S | 3 +++ lib/libc/aarch64/gen/sigsetjmp.S | 3 +++ lib/libc/aarch64/string/memmove.S | 4 ++++ lib/libc/aarch64/sys/cerror.S | 4 ++++ lib/libc/aarch64/sys/syscall.S | 3 +++ lib/libc/aarch64/sys/vfork.S | 3 +++ lib/libc/sys/Makefile.inc | 7 +++++++ 10 files changed, 38 insertions(+) diff --git a/lib/libc/aarch64/gen/_ctx_start.S b/lib/libc/aarch64/gen/_ctx_start.S index 15edcf21d463..a4049e6c241a 100644 --- a/lib/libc/aarch64/gen/_ctx_start.S +++ b/lib/libc/aarch64/gen/_ctx_start.S @@ -27,9 +27,13 @@ */ #include +#include + ENTRY(_ctx_start) blr x19 /* Call func from makecontext */ mov x0, x20 /* Load ucp saved in makecontext */ bl _C_LABEL(ctx_done) bl _C_LABEL(abort) END(_ctx_start) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/libc/aarch64/gen/_setjmp.S b/lib/libc/aarch64/gen/_setjmp.S index 4fc9ce304893..037eccf1a48a 100644 --- a/lib/libc/aarch64/gen/_setjmp.S +++ b/lib/libc/aarch64/gen/_setjmp.S @@ -30,6 +30,7 @@ #include #include +#include ENTRY(_setjmp) /* Store the magic value and stack pointer */ @@ -101,3 +102,5 @@ botch: bl _C_LABEL(abort) #endif END(_longjmp) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/libc/aarch64/gen/fabs.S b/lib/libc/aarch64/gen/fabs.S index 29e4b89d5ee1..91967a10299b 100644 --- a/lib/libc/aarch64/gen/fabs.S +++ b/lib/libc/aarch64/gen/fabs.S @@ -24,7 +24,11 @@ */ #include +#include + ENTRY(fabs) fabs d0, d0 ret END(fabs) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/libc/aarch64/gen/setjmp.S b/lib/libc/aarch64/gen/setjmp.S index ecc677de2620..97d98ae2fb52 100644 --- a/lib/libc/aarch64/gen/setjmp.S +++ b/lib/libc/aarch64/gen/setjmp.S @@ -30,6 +30,7 @@ #include #include +#include ENTRY(setjmp) sub sp, sp, #16 @@ -119,3 +120,5 @@ botch: bl _C_LABEL(longjmperror) bl _C_LABEL(abort) END(longjmp) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/libc/aarch64/gen/sigsetjmp.S b/lib/libc/aarch64/gen/sigsetjmp.S index cdff7a46c85b..daf3914b6278 100644 --- a/lib/libc/aarch64/gen/sigsetjmp.S +++ b/lib/libc/aarch64/gen/sigsetjmp.S @@ -28,6 +28,7 @@ #include #include +#include ENTRY(sigsetjmp) cmp x1, #0 @@ -52,3 +53,5 @@ ENTRY(siglongjmp) .Lmagic: .quad _JB_MAGIC__SETJMP END(siglongjmp) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/libc/aarch64/string/memmove.S b/lib/libc/aarch64/string/memmove.S index e2f99790e0da..6ca014b3a565 100644 --- a/lib/libc/aarch64/string/memmove.S +++ b/lib/libc/aarch64/string/memmove.S @@ -3,3 +3,7 @@ * as it stops MISRCS from picking up the C implementation and rtld expects * to copy the memmove object file into its object directory. */ + +#include +#include +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/libc/aarch64/sys/cerror.S b/lib/libc/aarch64/sys/cerror.S index a83514bc2511..85e75af8ec0d 100644 --- a/lib/libc/aarch64/sys/cerror.S +++ b/lib/libc/aarch64/sys/cerror.S @@ -25,6 +25,8 @@ */ #include +#include + ENTRY(cerror) .hidden cerror sub sp, sp, #16 @@ -37,3 +39,5 @@ ENTRY(cerror) add sp, sp, #16 ret END(cerror) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/libc/aarch64/sys/syscall.S b/lib/libc/aarch64/sys/syscall.S index 2c7e207f82f7..037c4b12ddae 100644 --- a/lib/libc/aarch64/sys/syscall.S +++ b/lib/libc/aarch64/sys/syscall.S @@ -27,6 +27,9 @@ */ #include +#include #include "SYS.h" RSYSCALL(syscall) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/libc/aarch64/sys/vfork.S b/lib/libc/aarch64/sys/vfork.S index f9489738a3c7..03ae5a6325ba 100644 --- a/lib/libc/aarch64/sys/vfork.S +++ b/lib/libc/aarch64/sys/vfork.S @@ -25,6 +25,7 @@ */ #include +#include #include "SYS.h" ENTRY(__sys_vfork) @@ -38,3 +39,5 @@ ENTRY(__sys_vfork) mov lr, x2 ret END(__sys_vfork) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index e9a9f8f5935c..53c7a1c20580 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -124,12 +124,18 @@ NOTE_GNU_STACK='\t.section .note.GNU-stack,"",%%progbits\n' .else NOTE_GNU_STACK='' .endif +.if ${MACHINE_CPUARCH} == "aarch64" +FEATURE_NOTE='\#include \nGNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL)' +.else +FEATURE_NOTE='' +.endif ${SASM}: printf '/* %sgenerated by libc/sys/Makefile.inc */\n' @ > ${.TARGET} printf '#include "compat.h"\n' >> ${.TARGET} printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >> ${.TARGET} printf ${NOTE_GNU_STACK} >>${.TARGET} + printf ${FEATURE_NOTE} >> ${.TARGET} ${SPSEUDO}: printf '/* %sgenerated by libc/sys/Makefile.inc */\n' @ > ${.TARGET} @@ -137,6 +143,7 @@ ${SPSEUDO}: printf '#include "SYS.h"\nPSEUDO(${.PREFIX:S/_//})\n' \ >> ${.TARGET} printf ${NOTE_GNU_STACK} >>${.TARGET} + printf ${FEATURE_NOTE} >> ${.TARGET} MAN+= abort2.2 \ accept.2 \ From nobody Tue Nov 21 11:17:21 2023 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 4SZMKY64X4z51Q86; Tue, 21 Nov 2023 11:17:21 +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 4SZMKY5VdTz3LHD; Tue, 21 Nov 2023 11:17:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700565441; 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=11T/ZNmpIpoE7/Saduu7o6yGUVLKYroitzV6joEfgIs=; b=f0S7gEZ5AOil94DEgWaufqAfqaSjIXSoJ/cBL6RyxD5Y5g8A3F5PdIUZO67IC4Ag2XbGo8 f+XVgw4r3HWwjavJBPmp6b55USiBFL8y8Jx8fznv62i63IAx3H1uu6DrWwi5ANcGLKer81 ZfZ1YyaedoVzAzYPbT5b2gIQrKrWtl8ao5606XgFPRXg+HaDND76fWMNk3/a89R7jBwl+i mMcFuC9C3uflDf1QveM9HImfIHYiQt1UXkxuaM2q/+fKwFBmkF3D6LIBPvTCVB5NmyiRLS rZPVx2DyHMpWpOj0p9byVtlxcBULVucrJJuWtrt3Sl/ZKhMNKYah/AXvhHIqCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700565441; 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=11T/ZNmpIpoE7/Saduu7o6yGUVLKYroitzV6joEfgIs=; b=xdTyZ9ZTca0kc0Sghzh9nOMSRsutEP3U3mkKHXwIrQRPy9+5aeF1Jkbf/9FdVV7DGzQ8R6 apHoMRljkx/3OAqlLpApTOyYp0BAacaqNGSxBw+fQ2/tWWnE83NyQLzu0HFQNplmdcfb0V BLnSWGEUAI3VCZPkEYCqvXk8horcPLWolDltYO7fPjpdP7fFRpfxq59eh/Q3hB+p/CuoUx nYHYQj0Qy5YEG5yBZEO8jLwUWHGT0eUT5hfZ8KBp2fAGDd5eOpKYwM0VeCvQoaIsonyVUr HSKui8fFTR20MNBT/GfQSWtBRFFwDGBA40Gr0RG8h7SM1huWBSf362QW+xukHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700565441; a=rsa-sha256; cv=none; b=ftqp55jhnehpNxETWN0bN1FvzjCVvqOp1GpNtA1/exQgHSYuNnxYGYXPxirUFJ5AJYMHzQ lMSsYL8DbJu5rFNLO6ygvH+B7eBA0xghH3Kpd0k71XvGQ0xW/zW/yxoUoOAHo2TriyX8Zc tSZI8jvgK2tA1THsOsMNYilzQIP2M7QRU5crhv8MPDULGImYHvnRn8+dYISR1TTuMuIWOd 04EUiK2nU/FHmHQqc3lMuZRLQ0R2kijUItgGtaVXmxuNYWEIp973CAJ1Dq4dacYXnDnwAs IezqlxHyrkFcZmmg3vZI0oUmtFlg3c7su0i50+HGXY5CIXmR6mY5+WtZCLXu3w== 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 4SZMKY4XspzYqs; Tue, 21 Nov 2023 11:17:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALBHLYM009776; Tue, 21 Nov 2023 11:17:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALBHL8j009773; Tue, 21 Nov 2023 11:17:21 GMT (envelope-from git) Date: Tue, 21 Nov 2023 11:17:21 GMT Message-Id: <202311211117.3ALBHL8j009773@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 1b9096cd1d2f - main - arm64: Set the Guarded Page flag in the kernel 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1b9096cd1d2fce1edb7077aebd3512cc61c54371 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1b9096cd1d2fce1edb7077aebd3512cc61c54371 commit 1b9096cd1d2fce1edb7077aebd3512cc61c54371 Author: Andrew Turner AuthorDate: 2023-10-03 14:03:51 +0000 Commit: Andrew Turner CommitDate: 2023-11-21 10:02:58 +0000 arm64: Set the Guarded Page flag in the kernel Now the kernel and modules are built with branch protection we can enablethe Guarded Page flag in the page tables. This causes indirect branches to a location without a correct landing pad instruction to raise an exception. This should help mitigate some attacks where a function pointer is changed to point somewhere other than the start of the function, however it doesn't stop an attacker pointing it to an unintended function. Reviewed by: alc, scottph (both earlier version), markj Sponsored by: Arm Ltd Sponsored by: The FreeBSD Foundation (earlier version) Differential Revision: https://reviews.freebsd.org/D42080 --- sys/arm64/arm64/locore.S | 6 ++++++ sys/arm64/arm64/pmap.c | 51 ++++++++++++++++++++++++++++++++++++++---------- sys/arm64/include/pte.h | 1 + 3 files changed, 48 insertions(+), 10 deletions(-) diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S index bace478901a5..8b0564298296 100644 --- a/sys/arm64/arm64/locore.S +++ b/sys/arm64/arm64/locore.S @@ -676,6 +676,9 @@ LENTRY(build_l2_block_pagetable) orr x12, x7, #L2_BLOCK orr x12, x12, #(ATTR_DEFAULT) orr x12, x12, #(ATTR_S1_UXN) +#ifdef __ARM_FEATURE_BTI_DEFAULT + orr x12, x12, #(ATTR_S1_GP) +#endif /* Only use the output address bits */ lsr x9, x9, #L2_SHIFT @@ -745,6 +748,9 @@ LENTRY(build_l3_page_pagetable) orr x12, x7, #L3_PAGE orr x12, x12, #(ATTR_DEFAULT) orr x12, x12, #(ATTR_S1_UXN) +#ifdef __ARM_FEATURE_BTI_DEFAULT + orr x12, x12, #(ATTR_S1_GP) +#endif /* Only use the output address bits */ lsr x9, x9, #L3_SHIFT diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index adb5e3312e50..cafeeb4362ef 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -180,7 +180,12 @@ #define pmap_l1_pindex(v) (NUL2E + ((v) >> L1_SHIFT)) #define pmap_l2_pindex(v) ((v) >> L2_SHIFT) -#define PMAP_SAN_PTE_BITS (ATTR_DEFAULT | ATTR_S1_XN | \ +#ifdef __ARM_FEATURE_BTI_DEFAULT +#define ATTR_KERN_GP ATTR_S1_GP +#else +#define ATTR_KERN_GP 0 +#endif +#define PMAP_SAN_PTE_BITS (ATTR_DEFAULT | ATTR_S1_XN | ATTR_KERN_GP | \ ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | ATTR_S1_AP(ATTR_S1_AP_RW)) struct pmap_large_md_page { @@ -474,6 +479,8 @@ static void _pmap_unwire_l3(pmap_t pmap, vm_offset_t va, vm_page_t m, static int pmap_unuse_pt(pmap_t, vm_offset_t, pd_entry_t, struct spglist *); static __inline vm_page_t pmap_remove_pt_page(pmap_t pmap, vm_offset_t va); +static pt_entry_t pmap_pte_bti(pmap_t pmap, vm_offset_t va); + /* * These load the old table data and store the new value. * They need to be atomic as the System MMU may write to the table at @@ -1080,7 +1087,7 @@ pmap_bootstrap_l2_block(struct pmap_bootstrap_state *state, int i) MPASS((state->pa & L2_OFFSET) == 0); MPASS(state->l2[l2_slot] == 0); pmap_store(&state->l2[l2_slot], PHYS_TO_PTE(state->pa) | - ATTR_DEFAULT | ATTR_S1_XN | + ATTR_DEFAULT | ATTR_S1_XN | ATTR_KERN_GP | ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | L2_BLOCK); } MPASS(state->va == (state->pa - dmap_phys_base + DMAP_MIN_ADDRESS)); @@ -1115,7 +1122,7 @@ pmap_bootstrap_l3_page(struct pmap_bootstrap_state *state, int i) MPASS((state->pa & L3_OFFSET) == 0); MPASS(state->l3[l3_slot] == 0); pmap_store(&state->l3[l3_slot], PHYS_TO_PTE(state->pa) | - ATTR_DEFAULT | ATTR_S1_XN | + ATTR_DEFAULT | ATTR_S1_XN | ATTR_KERN_GP | ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | L3_PAGE); } MPASS(state->va == (state->pa - dmap_phys_base + DMAP_MIN_ADDRESS)); @@ -1156,7 +1163,7 @@ pmap_bootstrap_dmap(vm_paddr_t min_pa) &bs_state.l1[pmap_l1_index(bs_state.va)], PHYS_TO_PTE(bs_state.pa) | ATTR_DEFAULT | ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | - ATTR_S1_XN | L1_BLOCK); + ATTR_S1_XN | ATTR_KERN_GP | L1_BLOCK); } MPASS(bs_state.pa <= physmap[i + 1]); @@ -1985,7 +1992,7 @@ pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode) ("pmap_kenter: Mapping is not page-sized")); attr = ATTR_DEFAULT | ATTR_S1_AP(ATTR_S1_AP_RW) | ATTR_S1_XN | - ATTR_S1_IDX(mode) | L3_PAGE; + ATTR_KERN_GP | ATTR_S1_IDX(mode) | L3_PAGE; old_l3e = 0; va = sva; while (size != 0) { @@ -2109,7 +2116,7 @@ pmap_qenter(vm_offset_t sva, vm_page_t *ma, int count) m = ma[i]; pa = VM_PAGE_TO_PHYS(m); attr = ATTR_DEFAULT | ATTR_S1_AP(ATTR_S1_AP_RW) | ATTR_S1_XN | - ATTR_S1_IDX(m->md.pv_memattr) | L3_PAGE; + ATTR_KERN_GP | ATTR_S1_IDX(m->md.pv_memattr) | L3_PAGE; pte = pmap_l2_to_l3(pde, va); old_l3e |= pmap_load_store(pte, PHYS_TO_PTE(pa) | attr); @@ -4008,6 +4015,10 @@ pmap_protect(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, vm_prot_t prot) mask |= ATTR_S1_XN; nbits |= ATTR_S1_XN; } + if (pmap == kernel_pmap) { + mask |= ATTR_KERN_GP; + nbits |= ATTR_KERN_GP; + } if (mask == 0) return; @@ -4436,7 +4447,6 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, new_l3 = (pt_entry_t)(PHYS_TO_PTE(pa) | ATTR_DEFAULT | L3_PAGE); new_l3 |= pmap_pte_memattr(pmap, m->md.pv_memattr); new_l3 |= pmap_pte_prot(pmap, prot); - if ((flags & PMAP_ENTER_WIRED) != 0) new_l3 |= ATTR_SW_WIRED; if (pmap->pm_stage == PM_STAGE1) { @@ -4478,6 +4488,9 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, lock = NULL; PMAP_LOCK(pmap); + /* Wait until we lock the pmap to protect the bti rangeset */ + new_l3 |= pmap_pte_bti(pmap, va); + if ((flags & PMAP_ENTER_LARGEPAGE) != 0) { KASSERT((m->oflags & VPO_UNMANAGED) != 0, ("managed largepage va %#lx flags %#x", va, flags)); @@ -4746,6 +4759,7 @@ pmap_enter_2mpage(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, new_l2 = (pd_entry_t)(PHYS_TO_PTE(VM_PAGE_TO_PHYS(m)) | ATTR_DEFAULT | ATTR_S1_IDX(m->md.pv_memattr) | ATTR_S1_AP(ATTR_S1_AP_RO) | L2_BLOCK); + new_l2 |= pmap_pte_bti(pmap, va); if ((m->oflags & VPO_UNMANAGED) == 0) { new_l2 |= ATTR_SW_MANAGED; new_l2 &= ~ATTR_AF; @@ -5117,6 +5131,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, pa = VM_PAGE_TO_PHYS(m); l3_val = PHYS_TO_PTE(pa) | ATTR_DEFAULT | ATTR_S1_IDX(m->md.pv_memattr) | ATTR_S1_AP(ATTR_S1_AP_RO) | L3_PAGE; + l3_val |= pmap_pte_bti(pmap, va); if ((prot & VM_PROT_EXECUTE) == 0 || m->md.pv_memattr == VM_MEMATTR_DEVICE) l3_val |= ATTR_S1_XN; @@ -6562,7 +6577,8 @@ pmap_mapbios(vm_paddr_t pa, vm_size_t size) l2 = pmap_l1_to_l2(pde, va); old_l2e |= pmap_load_store(l2, PHYS_TO_PTE(pa) | ATTR_DEFAULT | ATTR_S1_XN | - ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | L2_BLOCK); + ATTR_KERN_GP | ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | + L2_BLOCK); va += L2_SIZE; pa += L2_SIZE; @@ -7834,6 +7850,19 @@ pmap_is_valid_memattr(pmap_t pmap __unused, vm_memattr_t mode) return (mode >= VM_MEMATTR_DEVICE && mode <= VM_MEMATTR_WRITE_THROUGH); } +static pt_entry_t +pmap_pte_bti(pmap_t pmap, vm_offset_t va __diagused) +{ + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + MPASS(ADDR_IS_CANONICAL(va)); + + if (pmap->pm_stage != PM_STAGE1) + return (0); + if (pmap == kernel_pmap) + return (ATTR_KERN_GP); + return (0); +} + #if defined(KASAN) static vm_paddr_t pmap_san_early_kernstart; static pd_entry_t *pmap_san_early_l2; @@ -8029,12 +8058,13 @@ sysctl_kmaps_dump(struct sbuf *sb, struct pmap_kernel_map_range *range, break; } - sbuf_printf(sb, "0x%016lx-0x%016lx r%c%c%c%c %6s %d %d %d %d\n", + sbuf_printf(sb, "0x%016lx-0x%016lx r%c%c%c%c%c %6s %d %d %d %d\n", range->sva, eva, (range->attrs & ATTR_S1_AP_RW_BIT) == ATTR_S1_AP_RW ? 'w' : '-', (range->attrs & ATTR_S1_PXN) != 0 ? '-' : 'x', (range->attrs & ATTR_S1_UXN) != 0 ? '-' : 'X', (range->attrs & ATTR_S1_AP(ATTR_S1_AP_USER)) != 0 ? 'u' : 's', + (range->attrs & ATTR_S1_GP) != 0 ? 'g' : '-', mode, range->l1blocks, range->l2blocks, range->l3contig, range->l3pages); @@ -8084,7 +8114,8 @@ sysctl_kmaps_table_attrs(pd_entry_t table) static pt_entry_t sysctl_kmaps_block_attrs(pt_entry_t block) { - return (block & (ATTR_S1_AP_MASK | ATTR_S1_XN | ATTR_S1_IDX_MASK)); + return (block & (ATTR_S1_AP_MASK | ATTR_S1_XN | ATTR_S1_IDX_MASK | + ATTR_S1_GP)); } /* diff --git a/sys/arm64/include/pte.h b/sys/arm64/include/pte.h index aebe24cb82af..f067feabe365 100644 --- a/sys/arm64/include/pte.h +++ b/sys/arm64/include/pte.h @@ -80,6 +80,7 @@ typedef uint64_t pt_entry_t; /* page table entry */ #define ATTR_CONTIGUOUS (1UL << 52) #define ATTR_DBM (1UL << 51) +#define ATTR_S1_GP (1UL << 50) #define ATTR_S1_nG (1 << 11) #define ATTR_AF (1 << 10) #define ATTR_SH(x) ((x) << 8) From nobody Tue Nov 21 11:27:56 2023 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 4SZMYm3YKSz51QnD; Tue, 21 Nov 2023 11:27:56 +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 4SZMYm2y1Tz3MyF; Tue, 21 Nov 2023 11:27:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700566076; 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=2SA2XLkMkH8rpKEzI/s3SNIEZ+vfkbCDIlh1H96L7yw=; b=yIDD/AhmPCPVlyx0ZEatUYH61XK3mu3bnnbR+uyHluyWqDm7RUfJLqmidwSSydqnUTAgTo UlvviRElAkyQaRBn+Dqt+qzuui4dRPLBCDFkDPh2KS/UfO+lHOzV5Gk9xE2Ak+qFUQHuAH XLtH2zPxKIkxZaPTm5Bq7/8w+OQlblROl/17B+p+SQ2PV6G+IUhvEaswsEaPHKiD77yPtg EGGsRpW5Dh8v+Mu7co0bJkA0TAOdIH1iRkCU/VAkiO6n8gzCW+GwxVClXGs/RPeiRPt+CN NneT9b9kp4CB2ZgStneSFoehyxeMGNkSwuiJQe5DeXlpbPdH7QoKbiHROVuG9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700566076; 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=2SA2XLkMkH8rpKEzI/s3SNIEZ+vfkbCDIlh1H96L7yw=; b=Wtgbbl8IlghpA6m2HO5oEIrWqTIbqyr47Dh/Lfm/KRx2JI5OtR4ku9Goqkewj15HJfPtMT 6fCIevSffhuy246ra9j7Xqi1H7lnlWKmqC9qozIurI/vDPiyINjdNrSgO1bSXp9SocMzqw oNtkoYkwDxP5JIPm8nogoqEkitpREJ1O/jiuTaPDSi46vYE0BwGc5iG5GY9o0mjIgHN9LD oKV0nzUFEJVRUB+42LKDGuYrgo/b2lbK2KyaqWqFGbSZrFvrRuS5jkMemlqQtScYVia/3v YSB+yL1Ege2s3kA+N4XRiAwGjy4ROt8Cewg98eejIoSRrkApm70kT2zGEbqR7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700566076; a=rsa-sha256; cv=none; b=oQNQC7OrW9CJ6yPes1zM/rov/2l76Jy+qTbX3gI4824Rdt6RgVLnSjrPnM4fjlESXMiJd5 IHCEH/2z+ubCjFppnPP9Xau7OgtjK1S2Xi7xVrj+eqT8JfyjFlsPCWhPoYZJG55SdH07+i wraZcC7raXflmt7jDyazzQ7nbWpy9zSc3wIfpii+weNZBXRRyqnpDPwweotNf/y2pEcXZZ hZR8tyxKTs/jci3gy+w9oTtofYEJmV5sC8TwgVN8ssxQb6m5xTsAawMuskKlfvhYoMPub6 +2DKVlwJH+X5SELYskT4M9ihUFOlF/SS4yu0ZBFIodgVkf0pR/8ycRI9arvwEA== 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 4SZMYm1tzkzYdG; Tue, 21 Nov 2023 11:27:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALBRubw025938; Tue, 21 Nov 2023 11:27:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALBRujJ025935; Tue, 21 Nov 2023 11:27:56 GMT (envelope-from git) Date: Tue, 21 Nov 2023 11:27:56 GMT Message-Id: <202311211127.3ALBRujJ025935@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 25d0310ed881 - main - arm64: Mark the armv8 crc32c as supporting BTI 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25d0310ed881e86cec9ab5cf37dd8471e88ad554 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=25d0310ed881e86cec9ab5cf37dd8471e88ad554 commit 25d0310ed881e86cec9ab5cf37dd8471e88ad554 Author: Andrew Turner AuthorDate: 2023-11-14 15:01:58 +0000 Commit: Andrew Turner CommitDate: 2023-11-21 11:25:43 +0000 arm64: Mark the armv8 crc32c as supporting BTI This is built into a test so needs the BTI elf note for the rest of the test to be built with BTI support enabled. As the assembly uses the ENTRY macro it already supports BTI, so mark it as such. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42595 --- sys/libkern/arm64/crc32c_armv8.S | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/libkern/arm64/crc32c_armv8.S b/sys/libkern/arm64/crc32c_armv8.S index 32bf00ee477d..649afff4b711 100644 --- a/sys/libkern/arm64/crc32c_armv8.S +++ b/sys/libkern/arm64/crc32c_armv8.S @@ -26,6 +26,8 @@ */ #include +#include + .arch_extension crc /* @@ -76,3 +78,5 @@ last_byte: end: ret END(armv8_crc32c) + +GNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) From nobody Tue Nov 21 12:29:06 2023 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 4SZNwM0g25z51WNK; Tue, 21 Nov 2023 12:29:07 +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 4SZNwL6wjLz3TPD; Tue, 21 Nov 2023 12:29:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700569747; 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=h/Fnj4jKR1PSgKFFFail5+yGjKpiUF+dEYl/JTjM2IY=; b=Yk79pZyeqhrN4aizUkbTPUrcF9/abw3x18EzmgO2m8Nnzk9/cKnZFw0n8sIv3lNCl8qOnB N1E/OvY55cUwpGckTSA8KklIB/HuZU1J2MpsOlRXif9hQBLLWvMoHt3WIB1DD0Y9Me8Mlv fEup429MvRB713PddMi8vICk6QC1d1ooG0d1CrRXFA4c2D4W5IBdQXRYdQhx3bRUTz1RcW Y2n4mMB44lwkf7Q4Rd0qbj+i1Rfi3srIRPXNmiKy7lixXPzyf+c/olOiYf0ZITSPrplrMT 7VIJ5KLugZFBFmF4+ggqrvptAYnPjASYMN72Qx/oaa1BVcHLguxvBf5QqOFpow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700569747; 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=h/Fnj4jKR1PSgKFFFail5+yGjKpiUF+dEYl/JTjM2IY=; b=FshBece0DPKnFyOOCDYXmxKf9iV293kxTvQDJs0uz6PGjTqrK7jEATFNn7zZRByQgKYGHc K5TCbnDbM88D/hVKFTGXRkgq4AXAR9hJaob6LF1UzxQbUXxmZQ7s5LWznwYMZUj0rM/ZMt R4YmJ8vmfkcK4nYoQFBYAGXWjdT9o2G2gO+LK0fHREr1G4DZ94JYaxZdBW/0F7SJy8vsWZ nJj1gyMBbODdNQNuwYIbJQmFOQ2/whYEqDT2NsR1cy88VnndK18KCQvwMJuaA6ZYdO4SaF NUbKde5Wd3jmOTtM9Cslw96OdRklvCx85OGEbcWJuO/4dRy5q6L+EeowZ9Q60w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700569747; a=rsa-sha256; cv=none; b=Vs3NqSTKImo3wfPkwPRiPPZtGQV+YyWXg1DVvucSvvA7WuFBVC0PKZE2Z2dhdOImGOgIuR ezSBJSXo5jUG12YnbKBlRmLaE6gMCiXUzyBgREOtsl7ZGTmcpk2ctZKob6U8WJjpgz1Mul 9Jur6UoZ/lz+u924jDdOxX2GC3qXoH5BL3Kgyagduj71i7dwvD4QZUsJv+nNEOc5Li81oS 12hMcmuof7v6ZEHwCvD/qE4ewiWR3Z0gl1jN8PLAu87g53+Q7C/RB0SMIXjFRT7JD9BzgX 5ci34ctNrPfEvJRnQdqn5K89sOlpvS1vk0SCCEkhaI80uF6Qb+xUNWCTjU9VPQ== 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 4SZNwL60RVzb7P; Tue, 21 Nov 2023 12:29:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALCT6Gq026581; Tue, 21 Nov 2023 12:29:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALCT6ZM026578; Tue, 21 Nov 2023 12:29:06 GMT (envelope-from git) Date: Tue, 21 Nov 2023 12:29:06 GMT Message-Id: <202311211229.3ALCT6ZM026578@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 46f3a29ee144 - main - sys/sysctl.h: FEATURE_ADD() 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 46f3a29ee144a7d2e74c8b3d6c5c7b28562c29e2 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=46f3a29ee144a7d2e74c8b3d6c5c7b28562c29e2 commit 46f3a29ee144a7d2e74c8b3d6c5c7b28562c29e2 Author: Konstantin Belousov AuthorDate: 2023-11-20 22:43:07 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-21 11:55:52 +0000 sys/sysctl.h: FEATURE_ADD() A macro to dynamically register report of the kernel feature. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42641 --- sys/sys/sysctl.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index 9176d2c3efdd..bc7a2bc601a1 100644 --- a/sys/sys/sysctl.h +++ b/sys/sys/sysctl.h @@ -927,6 +927,12 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); #define FEATURE(name, desc) \ SYSCTL_INT_WITH_LABEL(_kern_features, OID_AUTO, name, \ CTLFLAG_RD | CTLFLAG_CAPRD, SYSCTL_NULL_INT_PTR, 1, desc, "feature") +/* Same for the dynamic registration. */ +#define FEATURE_ADD(name, desc) \ + sysctl_add_oid(NULL, SYSCTL_CHILDREN(&sysctl___kern_features), \ + OID_AUTO, name, \ + CTLFLAG_RD | CTLFLAG_CAPRD | CTLTYPE_INT | CTLFLAG_MPSAFE, \ + NULL, 1, sysctl_handle_int, "I", desc, "feature"); #endif /* _KERNEL */ From nobody Tue Nov 21 12:29:07 2023 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 4SZNwN1Kn2z51W8C; Tue, 21 Nov 2023 12:29:08 +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 4SZNwN0bzXz3TKB; Tue, 21 Nov 2023 12:29:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700569748; 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=PktfeDv4e2nYpZJ+OrEqmQlTZRJixgmn5f9sw2SOGJc=; b=lDPJxP5I5E+WZlbomSyAJsCO6tXu7Sq0ZMeB3tpnmlGvDmtvVT8+27G5yTVU6VfbbvLKfQ lmUit95KUk9ZMcYli0ehyBhA17NCsd82g1JwGN4oq9BvAdaFumk+702XN6VFqXCAs7sHCN CekuM/6eFdee4wLU167eXLJVjOzrVdhBdQg31Xv2/9NFNeJcan7nxH/Cts+dMcI55rWqly mnnWY8cgmSf6cCmVxvGl+r1fz8z5OzH3k7ZrV09likb9pS6BNt/jJZiWVUPp1IBSW7Jw2f aEbE0V/X0QunO5+PzPaFBJOHCUUv2sCHy5IX8RRD2na+5dwc69xb4Dowq386MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700569748; 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=PktfeDv4e2nYpZJ+OrEqmQlTZRJixgmn5f9sw2SOGJc=; b=m2YHzn4JZqGWS4l+WWUSJhewDo1dk621Zt67GV1w21StUpjPiFhl+ow2SLGimvigyKn3fr gtQ1NOVBpWkoesWFi26GDabtGRC6KcwdWBDCtSW+zF7DjbFdwU4YYQG9ZNHHThbN+zoaSy Ll3ugOf9bjHpmEnPNEay/nHFPmEwSMLFwasU4CTkkaOC2uIIAzpWlmbvpfXgbgp0qvLYo0 oHOTkgTG+zCJcFehMms6ZR+s/w6yEHgAnPSc5QtZlACmNyG0jBsio/pjAnMSuNOp9YgGXt 5aFAZkKoSzA/4qB7lk43XgvzBT5e+Bk4IQOZDkKhSce5UOAHPVERyPBgwUaWVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700569748; a=rsa-sha256; cv=none; b=R8L2n1kGIrkrnoV5IXznolmBb45tON2pqbiYOl+UNfNIi4cDuIQ7VE5lLMAq8ip8HKgZAB 0c1FuX1JUM1S1FeJBplKu/LkYMe00iDrm7tdBK568xwPHP1YOM+dNjS32cJKmG93okoTZR eojQvdRHmep61zunI1rK5pshQ1cEu9QdIagWZjpXh+eDNpkf6DVmzmu33Kx8ZaxFMS3Ysr 18tQ/PdKEmA7hrEIF0yDQou8nsOP11wIKQfkRpB/nFfRV3x+4WY1uW5t6ft6RWr1fZTGAl 4NlXpFkN2knQUFhKb8EY4obRR1O0nfEfOXHszIeaUYtjoujE2t1Ua7luROGd/A== 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 4SZNwM6n0jzbLf; Tue, 21 Nov 2023 12:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALCT7YA026638; Tue, 21 Nov 2023 12:29:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALCT7xZ026635; Tue, 21 Nov 2023 12:29:07 GMT (envelope-from git) Date: Tue, 21 Nov 2023 12:29:07 GMT Message-Id: <202311211229.3ALCT7xZ026635@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 5a2bbacea56f - main - FEATURE compat_freebsd_32bit: only report on arm64 when support is present 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a2bbacea56f40e91c5371d5d6a210afd797fd3b Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5a2bbacea56f40e91c5371d5d6a210afd797fd3b commit 5a2bbacea56f40e91c5371d5d6a210afd797fd3b Author: Konstantin Belousov AuthorDate: 2023-11-16 21:06:36 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-21 11:55:59 +0000 FEATURE compat_freebsd_32bit: only report on arm64 when support is present depending on hardware support for aarch32. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42641 --- sys/arm64/arm64/elf32_machdep.c | 2 ++ sys/compat/freebsd32/freebsd32_misc.c | 13 ++++++++++++- sys/compat/freebsd32/freebsd32_util.h | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/sys/arm64/arm64/elf32_machdep.c b/sys/arm64/arm64/elf32_machdep.c index 4acb68b09108..de0ee9607ad1 100644 --- a/sys/arm64/arm64/elf32_machdep.c +++ b/sys/arm64/arm64/elf32_machdep.c @@ -160,6 +160,8 @@ register_elf32_brand(void *arg) if (ID_AA64PFR0_EL0_VAL(READ_SPECIALREG(id_aa64pfr0_el1)) == ID_AA64PFR0_EL0_64_32) { elf32_insert_brand_entry(&freebsd32_brand_info); + } else { + compat_freebsd_32bit = 0; } } SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST, register_elf32_brand, NULL); diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index c26e7b97e717..d9266f57ac94 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -123,7 +123,18 @@ #include #include -FEATURE(compat_freebsd_32bit, "Compatible with 32-bit FreeBSD"); +int compat_freebsd_32bit = 1; + +static void +register_compat32_feature(void *arg) +{ + if (!compat_freebsd_32bit) + return; + + FEATURE_ADD("compat_freebsd_32bit", "Compatible with 32-bit FreeBSD"); +} +SYSINIT(freebsd32, SI_SUB_EXEC, SI_ORDER_ANY, register_compat32_feature, + NULL); struct ptrace_io_desc32 { int piod_op; diff --git a/sys/compat/freebsd32/freebsd32_util.h b/sys/compat/freebsd32/freebsd32_util.h index 67f0c099792a..c32c7a2ef4c1 100644 --- a/sys/compat/freebsd32/freebsd32_util.h +++ b/sys/compat/freebsd32/freebsd32_util.h @@ -122,4 +122,6 @@ struct image_args; int freebsd32_exec_copyin_args(struct image_args *args, const char *fname, enum uio_seg segflg, uint32_t *argv, uint32_t *envv); +extern int compat_freebsd_32bit; + #endif /* !_COMPAT_FREEBSD32_FREEBSD32_UTIL_H_ */ From nobody Tue Nov 21 12:29:08 2023 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 4SZNwP29JRz51Wdh; Tue, 21 Nov 2023 12:29:09 +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 4SZNwP1QHRz3TV8; Tue, 21 Nov 2023 12:29:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700569749; 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=2NEXep5DtTyX++dKLqNGPY/+WeQVD5VbMJ0seXQHbBo=; b=GG3+CrXK9Rg56PlViq8rb24NLox1J+VIUWH//xdXKJgVx6bi2qKDS3y3ywUPeweGqlj9VQ lexKMtPGOlFK9wB9criZQYxtpx0pep+MFlkti7AI2++vpxPswiEmM9xFOn78lypjeMFY+n RH8pM/SVdms2z4EVR11Yqa68jWCpx4NcCs8T5zQmSBTLQzV6BOwQZAJysbuIF+oK9oANXF TTBBppQuL8Aj+PNMka0Lz8Y9eeo4iYGa2UwscI/FurKCKov9qgBc/lluGxk38GKv4Io/Xg XYwmPFQ1ipJmZn5fIBbHEwgnFwctaiqJSYRMRYZuoWJ8kcybtIUaiJf2K2zLCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700569749; 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=2NEXep5DtTyX++dKLqNGPY/+WeQVD5VbMJ0seXQHbBo=; b=KgFnq7o4qfM4JAeJPWbbm7Ti1A9yjg6tXYj+vSKmJojMqt+llhsYM0lKO7IkRKnYkIyrDL bhjLpQRQy+WcXwN+qkJNlXTXPnK10I5v9hiGEvLS80SK62X6vws4nNJcbpXHmZbE5Cd1Df 5lQJfx3GGQdgD0aW+yGHbRiZ5vNOIjb/nd9Zqpq4QSuBGrHuM4iIrvrWezCXacdeh7Uhet mIjFLN/H4h+UOQRWG1NchbwbGACgHTj3dQ63MjBlIGsLZ9+PyL8jZb8fElWCpf5nuT1TLh s+DPY5SvIxkZPilRO/OLWM3KevNX92S7kKRl2EBWadKmG3gqwRfn0dLiLeK2vw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700569749; a=rsa-sha256; cv=none; b=LTG/S+RXi2RGKKki3BpzcNxW/kG0Lwaz21FhrkzcbqfGL2J3rbQhOblC54Lj8lY/g8CXMw 8I9wuNdtOotgE2rT5MHsFY+9RJkTFTWBSiphaFVlM726n0YVBmoEHTs3WU+0eDJRlPKbdG MG14OuSIj3yT9DFV/oslYEvgUC6NEGN88huVd3RcnPLYan2YPyYytiUnthZK4GrIl01CrZ oRF36XzJYFONvxmNsiEXX1yjDyMXhpdWVfGOhDfDs+1qDZDu6swbaeNEhU5V1eE2AdCLeO JDfpfcrq3D8UOFZ4DXDKOdrE9fZznNrkPLHDa10Y0EgdMsu0rKmZRjglVybdxw== 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 4SZNwP0VN6zbRj; Tue, 21 Nov 2023 12:29:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALCT8SN026684; Tue, 21 Nov 2023 12:29:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALCT8Eq026681; Tue, 21 Nov 2023 12:29:08 GMT (envelope-from git) Date: Tue, 21 Nov 2023 12:29:08 GMT Message-Id: <202311211229.3ALCT8Eq026681@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 26b36a64be41 - main - sysctl kern.supported_archs: return correct value 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26b36a64be410cacbec1a5cabec091bf7de2b251 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=26b36a64be410cacbec1a5cabec091bf7de2b251 commit 26b36a64be410cacbec1a5cabec091bf7de2b251 Author: Konstantin Belousov AuthorDate: 2023-11-16 21:58:45 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-21 11:56:06 +0000 sysctl kern.supported_archs: return correct value in case COMPAT_FREEBSD32 was enabled in config but hardware does not support executing 32bit binaries. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42641 --- sys/kern/kern_mib.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index b60c3c689449..c54dee21a1e1 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -316,16 +316,25 @@ SYSCTL_PROC(_hw, HW_MACHINE_ARCH, machine_arch, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_CAPRD | CTLFLAG_MPSAFE, NULL, 0, sysctl_hw_machine_arch, "A", "System architecture"); -#ifndef MACHINE_ARCHES #ifdef COMPAT_FREEBSD32 -#define MACHINE_ARCHES MACHINE_ARCH " " MACHINE_ARCH32 -#else -#define MACHINE_ARCHES MACHINE_ARCH -#endif +#include #endif -SYSCTL_STRING(_kern, OID_AUTO, supported_archs, CTLFLAG_RD | CTLFLAG_MPSAFE, - MACHINE_ARCHES, 0, "Supported architectures for binaries"); +static int +sysctl_kern_supported_archs(SYSCTL_HANDLER_ARGS) +{ + const char *supported_archs; + + supported_archs = +#ifdef COMPAT_FREEBSD32 + compat_freebsd_32bit ? MACHINE_ARCH " " MACHINE_ARCH32 : +#endif + MACHINE_ARCH; + return (SYSCTL_OUT(req, supported_archs, strlen(supported_archs) + 1)); +} +SYSCTL_PROC(_kern, OID_AUTO, supported_archs, CTLFLAG_RD | CTLFLAG_MPSAFE | + CTLFLAG_CAPRD | CTLTYPE_STRING, NULL, 0, sysctl_kern_supported_archs, "A", + "Supported architectures for binaries"); static int sysctl_hostname(SYSCTL_HANDLER_ARGS) From nobody Tue Nov 21 12:29:10 2023 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 4SZNwQ3TyFz51Wh8; Tue, 21 Nov 2023 12:29:10 +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 4SZNwQ2ksRz3Tbv; Tue, 21 Nov 2023 12:29:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700569750; 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=FWKviXEwUCcEv88m2pB/whFcFg9p86fT3/N6VwNKtl4=; b=skQnefIakBQUVCyBqEWPCzk7SLHhYEQ++JaP6fl/IjhmInSlU34Vy0cltBN6Xagh214ri+ 6DfwpMrEPCz8TX5hMmq1T49JMZF9VjWDoKkRcPOqKZ6tWfc9x9IIB1cPXvcf8xmJ4qgF04 kl1kfCLPRKrd1/sSdOiJm6ZQIgJSOR+L7Y3mm6prO44rukxRzw+ZA3UC8hFoYdgfeWrR20 L19gBqjC8ysFY46J+ndTvr7bYEowxyXxw6bAT2RvH5UlydOzeTMhChDaR+zSSbAcu698zh Qj7TJBAfgzdDrzuvXbBctGkZOZ9RSo3I31VgANgBfxhfPqWw65nxx+qe7NEskw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700569750; 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=FWKviXEwUCcEv88m2pB/whFcFg9p86fT3/N6VwNKtl4=; b=Rw0Gvezv5nqTyPVS/8Hg9jaz6AOy4lPD/4gxHi0aDMT+BDTlzIXMdm7Jor1y+23OHb2XNp Th0wmSEXswY53DQ33vO+K+deseV/xeZXq4/Te0G9i2XTFloER9ETBUGv7hx6Shnd2hfVz+ y3vKENVQ3ACL3SjKHwUPLq6mjeahAgaDbugnV89DY1N0PoXFi8oauxaP9+Z23DGVmcSIYJ BHGJiEcKnZxPu0KfVAyco9IjoLEYjxGe8oy+NDn358v3O9tgNFMKhTNOZYMvqzAMpT392q 0V8wMmlO+RMPSMOutq5UBDcqwf0s8bQeCRuS5suCtOifhSPJQJUD/KntMbOmwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700569750; a=rsa-sha256; cv=none; b=eLM1WhGPwxWHNs8B1kT9JlS50FCs3tCZ+mPyHXTQYcaN1n5raK68raKAqxTgCZOsopMTq7 i+OIQFynlmba6sbDT+0QKxf0YRa1LSDMqfH3Oei8jn3nSGm7Kex83jhA0FzOS+j49RedX7 KoASKxERUDfp4RaSqpoNBQORwXfcxNE0Ci15bPVxZnUD0OJL5v2+OQQw3+dB5p6aXaBpcY 2AVg026+loYgtPRt4z71bnuNja4sP5rehQngz6gc+L1wLs4fM9lKbxuFVEkBPIW7UpKZud 7orQQwPf8rXZeh/xDvLoKhPbMx2AFGKdF2WJQ45orfCb2gr71LkRRg7QX/MOOw== 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 4SZNwQ1SZSzbNV; Tue, 21 Nov 2023 12:29:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALCTAO4026726; Tue, 21 Nov 2023 12:29:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALCTAFf026723; Tue, 21 Nov 2023 12:29:10 GMT (envelope-from git) Date: Tue, 21 Nov 2023 12:29:10 GMT Message-Id: <202311211229.3ALCTAFf026723@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: bddc7a8a94ff - main - Tweak compat_freebsd32_bit feature name 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bddc7a8a94ff50bc0eacad5b11f954353a7e8c30 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bddc7a8a94ff50bc0eacad5b11f954353a7e8c30 commit bddc7a8a94ff50bc0eacad5b11f954353a7e8c30 Author: Konstantin Belousov AuthorDate: 2023-11-18 22:40:58 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-21 11:56:15 +0000 Tweak compat_freebsd32_bit feature name Mark the current name 'compat_freebsd_32bit' as legacy, and add the new name 'compat_freebsd32'. This seems to help with some make and shell uses. Requested by: jrtc27 Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42641 --- sys/compat/freebsd32/freebsd32_misc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index d9266f57ac94..2f5cf95b4e4a 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -131,7 +131,9 @@ register_compat32_feature(void *arg) if (!compat_freebsd_32bit) return; - FEATURE_ADD("compat_freebsd_32bit", "Compatible with 32-bit FreeBSD"); + FEATURE_ADD("compat_freebsd32", "Compatible with 32-bit FreeBSD"); + FEATURE_ADD("compat_freebsd_32bit", + "Compatible with 32-bit FreeBSD (legacy feature name)"); } SYSINIT(freebsd32, SI_SUB_EXEC, SI_ORDER_ANY, register_compat32_feature, NULL); From nobody Tue Nov 21 15:59:38 2023 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 4SZTbG58rXz51r4c; Tue, 21 Nov 2023 15:59:38 +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 4SZTbG4bCjz4Rkm; Tue, 21 Nov 2023 15:59:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700582378; 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=lJFRbyEscJRiVKyKIhaps6K1Us3vprUScvgbjj3iMCw=; b=A3WkNxIKDM8sA5GOy/cfkQQgSzgnTr6etYHbSXj7rMcwBqWHCr8GNzEbth1TBOK59srDcj dmt1b/ZOqLxtTSfwgTdFGRCAV3t6/vEDB5FFb/Tma8R53dTsms8EVhu2zktf6FTPG/0Kkv scQxhJBKVBt0l+8WHzEYu2cE1aPiLWA+FrkagN7gsCH7FDnkOIHr0QAT3krfz0vMDbzg6e llwePvIb4KrfWfPqZqpZ3ypmI9T/ETyjq+3JvHJTYWh9C7LmcqJF5BZChSZDVk/mWDs9W9 1QcMQJx9oRzop1iZaEe4Ft/jxOfq9W77fCSrmGP8HWLfwDr/zZclJ8r+H11zeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700582378; 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=lJFRbyEscJRiVKyKIhaps6K1Us3vprUScvgbjj3iMCw=; b=KxotksM4zoF1NHjMp9c053dEQ0dk5GIgccvoU7TuvP8ox5NcefwBa/EyyKUjlWr0rUAL/b y8OqCDg99ahx6hENyVF6KVnEzcooEU2ak72WWkdxFoN2YMlzSxbJhaXQCnx8entcZ8W04N ADdsPRb7Gk1SkjTtMnvGIjTtWRtRCR0kxmQ1DgPCQzkrW85RIlP9rswE1KDkh+HAteNTcs BD+0aE9BKM0Qn0gM6mU2fwseRCAaJUwS5Rfi39QvZ18f5vCtpkkt31BWbSo0BbJHJpikq9 OhPBPiZ7g7FYQ5uxkDks/vR7mOJW7RJMqyYizRawhuSrm43CRuxFoOgtI3Bsbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700582378; a=rsa-sha256; cv=none; b=osbnAHmiVHqQ9P/PzW4jHG7BROYEwHhxBduIO+TG79oAclhQH5b9F/yWG7IvLlkz9JW60a F4QjTTRjEBGRUF714sZg6WIrwQNEqL+Kd/g10tf9j+3ml9AmsTFyzAacwN1ZGabOps32zb R476tpX7BDMwehEUSjGCZrzTpmzwjNAJ/qJApov3+yOs+YaRAKRCSI0AbqtZbybjUlgdO0 EelXNbhmT0le+TvClKO0ZTjP3We/kBst0gWva31CqJGOhV/CS0OaQco20BuTjWX3vFg/QY KL8k+SlaLQZq51yy/RxC7MswEHwHbpM7iqvfpF9zFeInunvuu2gYtLuDQv4gEQ== 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 4SZTbG3c0jzhL5; Tue, 21 Nov 2023 15:59:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALFxcQ4077412; Tue, 21 Nov 2023 15:59:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALFxct5077409; Tue, 21 Nov 2023 15:59:38 GMT (envelope-from git) Date: Tue, 21 Nov 2023 15:59:38 GMT Message-Id: <202311211559.3ALFxct5077409@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 488bc7e9a777 - main - stand/efi: Request ACPI use the system inttypes 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 488bc7e9a77763dde6919d3c83e57d1fc8175ca2 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=488bc7e9a77763dde6919d3c83e57d1fc8175ca2 commit 488bc7e9a77763dde6919d3c83e57d1fc8175ca2 Author: Warner Losh AuthorDate: 2023-11-21 15:56:35 +0000 Commit: Warner Losh CommitDate: 2023-11-21 15:59:05 +0000 stand/efi: Request ACPI use the system inttypes With the system inttypes, we build on all platforms again. Suggested by: andrew Fixes: 0b01d45783c3 Sponsored by: Netflix --- stand/efi/loader/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index d6ba7ec3da44..6514fd6cd8ce 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -60,6 +60,7 @@ #include "efizfs.h" #include "framebuffer.h" +#define ACPI_USE_SYSTEM_INTTYPES #include "platform/acfreebsd.h" #include "acconfig.h" #define ACPI_SYSTEM_XFACE From nobody Tue Nov 21 16:52:32 2023 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 4SZVmJ6dNyz51wFP; Tue, 21 Nov 2023 16:52:32 +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 4SZVmJ69lKz4bQN; Tue, 21 Nov 2023 16:52:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700585552; 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=Me6MFNXdB21bhqkn8rhW1lcZ62e2gNtJSfkrehXQgD4=; b=ZbVAg/Avs3xxaEUvVRJl78+/JLFZlDSiqvUk5WR5H5bUyJMIyXL/OquSmgzf3CiXYoG3eM g5Cp94edM9sCEZ1cc6QCOIh/mSdhWMj7TX7aCsGmRKj7zm2THcX6Mdo5ODhojl442QECUC vVfRPTYKnuskaJLNpDEzHrxR32TEkdQQo3nu8KqL0qEVF+aWyhr1U3ofOabIj1unpJiuxs bBv73Lok6cx8dn8Cw0xxwWHZzH0HoU7hRb5JtJ7NoQVltwhxwutXmjttczflWwqnYmtPv/ QCUFVYfZObAqNdrJVpYq27Bv5No4fTeA4NwqkNWOnKormtORss+lo9k8Kg6YLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700585552; 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=Me6MFNXdB21bhqkn8rhW1lcZ62e2gNtJSfkrehXQgD4=; b=He3x4X3SjUydtpT9Vxd8IwF1KvYEkUW/2s3chlxvixQ5/4pIfatLlJ9Z0l7EWwVRoLeDhM QvMAPVCzfHMuropKP7l7ZKl+43fKoE4EwJKP/UAVhtVOwTRf2dkAINtna/mRchSJwPkMo0 cO0g+W6cNILyixczcPbRiUzplPh9HnBGn0E17eDSfNx6/RsG3Vzpy88gkmjUkv/qi4FaTb J2XFm8fEY8QA2Yx/70jovp8Uhixb5vRwk/RVTzcxJ0TcW1e9nXzeXmttzODu6L9uQsK76u 4bSGZeSElpAmsaz9ARh4hJDaQ5u5+Up2tLdPxY5C2gUmVO9buG6PzrY1QOw5aQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700585552; a=rsa-sha256; cv=none; b=C7cHX8axljAWu1zyymHO6igEZdV+ZeOZ3uBxRSAZRRc+/tyjYJb3Scn1EpWnCs33ZLGCO8 qq1vImq/duF9xeNFfDn1KQwF+BxO7vWhwGZo3yTQYHRsZdPLP0dU5xN2vYQE8twMx5Nvnz bjxCkpG+iLILBwUWhQqxzzxLsoNmcBm9i++Yo03ZkCSSCxpEluB7XYFsmXYh0H6wwxgf/h jjWo06Qi58osoUPYp+d89AWWFmcEcgfq3ZtiWDzSZXnBXAAH3hKid3nYc8gW365j4G599q MBLhV6Wvmv3LmAEuTqhiHnyU7CjvZz9OkJ8VkS2D9K3tzwBWv+BXEwl2LMR0CA== 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 4SZVmJ5FMDzjWl; Tue, 21 Nov 2023 16:52:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALGqWej076814; Tue, 21 Nov 2023 16:52:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALGqWVM076811; Tue, 21 Nov 2023 16:52:32 GMT (envelope-from git) Date: Tue, 21 Nov 2023 16:52:32 GMT Message-Id: <202311211652.3ALGqWVM076811@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alan Somers Subject: git: 04cfe6c12ccc - main - aio_read.2: correct the description of aio_buf 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: asomers X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04cfe6c12ccc75624dc87ab8f44c4852b16f0c4f Auto-Submitted: auto-generated The branch main has been updated by asomers: URL: https://cgit.FreeBSD.org/src/commit/?id=04cfe6c12ccc75624dc87ab8f44c4852b16f0c4f commit 04cfe6c12ccc75624dc87ab8f44c4852b16f0c4f Author: Alan Somers AuthorDate: 2023-11-15 17:31:24 +0000 Commit: Alan Somers CommitDate: 2023-11-21 16:52:02 +0000 aio_read.2: correct the description of aio_buf Looks like a copypasta from aio_write.2. [skip ci] Reported by: Paul Floyd MFC after: 1 week Sponsored by: Axcient Reviewed by: jilles (manpages) Differential Revision: https://reviews.freebsd.org/D42621 --- lib/libc/sys/aio_read.2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/libc/sys/aio_read.2 b/lib/libc/sys/aio_read.2 index 1470c70438a3..c6f062fa406d 100644 --- a/lib/libc/sys/aio_read.2 +++ b/lib/libc/sys/aio_read.2 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 2, 2021 +.Dd November 15, 2023 .Dt AIO_READ 2 .Os .Sh NAME @@ -51,7 +51,7 @@ beginning at the offset .Fn aio_read will read .Fa iocb->aio_nbytes -from the buffer pointed to by +into the buffer pointed to by .Fa iocb->aio_buf , whereas .Fn aio_readv From nobody Tue Nov 21 17:23:25 2023 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 4SZWRx5pZbz51ymd; Tue, 21 Nov 2023 17:23:25 +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 4SZWRx56xxz4fX4; Tue, 21 Nov 2023 17:23:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700587405; 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=nNaLtT0Uz9fq04ERVgnCpPMLTAidzo6F3M0duGRw2M8=; b=Dfcf2lIs7ckChW+jeiLSI+d34w4xxAe+faX/4WE+leTY36u3dg1sKSOiaJNCKKuTaMziN2 ZvPwyzcW168pHjkYzDsxnm/Zl4trq7HIen8cYGWUPH77INmSUA0JAp5GHr/672LJgHNkeZ XRoiky+3MKFjZbdDd+cWPPFBqFwv/9UXt4eWPJmo06SLuQhtIshvQjvzW6q/wfgGwV1/Jr mVy0Lq9XaPisYEBHFCSoKj1tDBN1euiCWpb0u3tC+R5VordHOu8gJe+OVD0DF5QVEK5Zlk pmnVuFIO5FG3RmSpEoG6LXPBXICLMA5AUgV//rce493anABCx6HJPm30AH48EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700587405; 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=nNaLtT0Uz9fq04ERVgnCpPMLTAidzo6F3M0duGRw2M8=; b=DQxcWNRVtzFje2PoLpPKBel9OiVaJAvSiVY9/caqzzn3APikHTa3IdFFDyAU7286mkrMxC zUBEBillZD0EFPRMSDIAU88+ZZUNuXVdxY4cBF3B/vgvZeRH6ctO/uQnjVSHECj5A6udqI E1yBlSaDzBNd7est713M1dwq6SIuX409cakMpC1ZrpGx7dyH7BnyLsSBk0iTswVAvW4g9j OsxU0lGozYGT4KiWNF6/EOeEWKv06PMWvrXYb9je4UTwCSHfeJ4XFf9K/SsaCP7t565wKx WZfQM4NonvTWhlMEqSLXtuWn/Re8hpATHYRdezc8iGWY5+/xJimxK2oyLU40xw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700587405; a=rsa-sha256; cv=none; b=UGgE/UJKyBbA0MzWH+iKMC4IxJWCcQN8AbgkCkVO8ce43GQ91ucwQsjhxS7xvwb3QtNJYQ xrf8xMxndbwUMKHC7SpESYe4YgZZ2evalgZX/Pv7JLyyal/f7uq9bDbiu3UHQfwdElSZdI o0lLNuB3IEhA33CWTp85R2QeaVJ0rFru0of7mH9K5s37aXO9/Qcpy8TUV6/QY6+KsjnGAu 6i5dkZLC7YiBvnmnpoDWT+/EIKGrxf3/Aijb4SyAKctwIe4Zxsjf9/h9LPiwpIcMBFrNCV 5/DvWDt3HYOVsS2uzSk7Ti6v8lTjsHlPWMUEGiCz7V0rpifiTtL+BLDW7KC/rg== 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 4SZWRx49PPzl1W; Tue, 21 Nov 2023 17:23:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALHNPk0027394; Tue, 21 Nov 2023 17:23:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALHNPgK027391; Tue, 21 Nov 2023 17:23:25 GMT (envelope-from git) Date: Tue, 21 Nov 2023 17:23:25 GMT Message-Id: <202311211723.3ALHNPgK027391@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 219a6ca91957 - main - tcp: uninline tcp_account_for_send() 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 219a6ca919576c4f7e783720f66a458d51476f3d Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=219a6ca919576c4f7e783720f66a458d51476f3d commit 219a6ca919576c4f7e783720f66a458d51476f3d Author: Gleb Smirnoff AuthorDate: 2023-11-21 17:21:41 +0000 Commit: Gleb Smirnoff CommitDate: 2023-11-21 17:21:41 +0000 tcp: uninline tcp_account_for_send() This allows to clear inclusion of "opt_kern_tls.h" from a system header. Reviewed by: rscheff, tuexen Differential Revision: https://reviews.freebsd.org/D42696 --- sys/netinet/tcp_subr.c | 27 +++++++++++++++++++++++++++ sys/netinet/tcp_var.h | 26 +------------------------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 27b0eae83837..083a8b1ea384 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -4678,3 +4678,30 @@ tcp_get_srtt(struct tcpcb *tp, int granularity) return (srtt); } + +void +tcp_account_for_send(struct tcpcb *tp, uint32_t len, uint8_t is_rxt, + uint8_t is_tlp, bool hw_tls) +{ + + if (is_tlp) { + tp->t_sndtlppack++; + tp->t_sndtlpbyte += len; + } + /* To get total bytes sent you must add t_snd_rxt_bytes to t_sndbytes */ + if (is_rxt) + tp->t_snd_rxt_bytes += len; + else + tp->t_sndbytes += len; + +#ifdef KERN_TLS + if (hw_tls && is_rxt && len != 0) { + uint64_t rexmit_percent; + + rexmit_percent = (1000ULL * tp->t_snd_rxt_bytes) / + (10ULL * (tp->t_snd_rxt_bytes + tp->t_sndbytes)); + if (rexmit_percent > ktls_ifnet_max_rexmit_pct) + ktls_disable_ifnet(tp); + } +#endif +} diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h index 2236a1385b44..2119c9dbe58f 100644 --- a/sys/netinet/tcp_var.h +++ b/sys/netinet/tcp_var.h @@ -38,7 +38,6 @@ #include #ifdef _KERNEL -#include "opt_kern_tls.h" #include #include #include @@ -1358,6 +1357,7 @@ VNET_DECLARE(struct hhook_head *, tcp_hhh[HHOOK_TCP_LAST + 1]); #define V_tcp_hhh VNET(tcp_hhh) #endif +void tcp_account_for_send(struct tcpcb *, uint32_t, uint8_t, uint8_t, bool); int tcp_addoptions(struct tcpopt *, u_char *); struct tcpcb * tcp_close(struct tcpcb *); @@ -1591,30 +1591,6 @@ tcp_set_flags(struct tcphdr *th, uint16_t flags) th->th_x2 = (flags >> 8) & 0x0f; th->th_flags = flags & 0xff; } - -static inline void -tcp_account_for_send(struct tcpcb *tp, uint32_t len, uint8_t is_rxt, - uint8_t is_tlp, bool hw_tls) -{ - if (is_tlp) { - tp->t_sndtlppack++; - tp->t_sndtlpbyte += len; - } - /* To get total bytes sent you must add t_snd_rxt_bytes to t_sndbytes */ - if (is_rxt) - tp->t_snd_rxt_bytes += len; - else - tp->t_sndbytes += len; - -#ifdef KERN_TLS - if (hw_tls && is_rxt && len != 0) { - uint64_t rexmit_percent = (1000ULL * tp->t_snd_rxt_bytes) / (10ULL * (tp->t_snd_rxt_bytes + tp->t_sndbytes)); - if (rexmit_percent > ktls_ifnet_max_rexmit_pct) - ktls_disable_ifnet(tp); - } -#endif - -} #endif /* _KERNEL */ #endif /* _NETINET_TCP_VAR_H_ */ From nobody Tue Nov 21 17:23:26 2023 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 4SZWRy6cy4z51yyq; Tue, 21 Nov 2023 17:23:26 +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 4SZWRy5xqkz4fmG; Tue, 21 Nov 2023 17:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700587406; 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=S9uvgZxNT98qY3OuAVZl8w/PciyQAqFUetIxBWFTHs0=; b=ulcSAu7J//qD0aHthLkAtZGKnam19kJTINMg1Yd6wdYyne+JvkuNkkfYPIwQmdxBSWppHu UPMg7SyjEmvjZAWnNcVjAw/8pk9ivmMMTsfZZt1ieFpjJusznIZXiEldMicEhS5k3GYsBA Ogwmf/YVE0dIVK4l7Ern2fm/MeCVHfknEuZnTDvcEbNpt3yrM9XWllGGyT2E3sDijDj16g z3GlzAdABVO60Ug9MKbQpiN+YTK9aoKrw5gWEHN2OvyOmCsaMI7JSxRfz6cMORHm3zVjlj xS6gRGRkncfMw2QdBylm3m+oMf00LvAJ//kgWbmTetpRxu5ssPinpSak5wxwkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700587406; 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=S9uvgZxNT98qY3OuAVZl8w/PciyQAqFUetIxBWFTHs0=; b=e2QZmtkife027nnkNbhhQYDTVXgOIXmF+2cv4yydw5ukRrw/v/BlDYaFRZre5Q4GHkT875 c9iMaZEbb4J4X8gJQkp0CwWUxJe8PPjiPRD9dQPmaV50A3jtiCqEhbiq+Vyr0T2olbd/dv eoIGHqvGd/vnYqRp0VtgjuoTUwEqLvgIWqJQKPmEpXm8tc+de50G6AagbomKMumzkbpn0S e9qWujtaW2qT/KDeQTQYBLl5Ld5VvV+7qndxPt6REiSHBEfzxZt6Wn95H4HjpCkzynm/84 YgqEVmTBqxQlWgut3Z9hX3rg7iRoidzJvXlqz4bEqd7pfbo1TLTCLXZTw5XAWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700587406; a=rsa-sha256; cv=none; b=kKNG7wDCdKW15QLTMtc1n/+2QPMdGstzwiVkNsbTrxdvMBSbpq3So+QzRnq4IC4o6JCdHx OKPueWy0rAjEC3vdK9rWvpTKNcCSC85/csB7ms8D7DFbIZadprgGEZ/svxHgm6dRHJ6TmR FcRtIY4EhyTmKtiI8UR/UXLExNb61Zj8MgrUHkCYAa538x9kxnnyWbLu2q/bHLoxO6L1B7 ptoG3Tq/9r/kflQoWWG6RdiuZuLLdIaZNozyUm3u7wbMHirnLgCCFmEwDtD6bksPGf6O7h Z/BaRlSBS6KUfu1TSEznnCkaTHu9b/nZVrFW+v3sp+k4yzNjA8jdk2sF38xIeA== 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 4SZWRy4qX8zky3; Tue, 21 Nov 2023 17:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALHNQjq027439; Tue, 21 Nov 2023 17:23:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALHNQ7n027436; Tue, 21 Nov 2023 17:23:26 GMT (envelope-from git) Date: Tue, 21 Nov 2023 17:23:26 GMT Message-Id: <202311211723.3ALHNQ7n027436@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: f90306501856 - main - hpts: install kernel module 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9030650185622d7cf8a7c81c4b3a3763539de24 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f9030650185622d7cf8a7c81c4b3a3763539de24 commit f9030650185622d7cf8a7c81c4b3a3763539de24 Author: Gleb Smirnoff AuthorDate: 2023-11-21 17:22:46 +0000 Commit: Gleb Smirnoff CommitDate: 2023-11-21 17:22:46 +0000 hpts: install kernel module It is important to instantly load tcp_rack.ko and tcp_bbr.ko Reviewed by: tuexen, imp Differential Revision: https://reviews.freebsd.org/D42697 --- sys/modules/tcp/Makefile | 6 ++---- sys/modules/tcp/hpts/Makefile | 6 ++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/modules/tcp/Makefile b/sys/modules/tcp/Makefile index 364c0326c40d..3b6df4bc18e9 100644 --- a/sys/modules/tcp/Makefile +++ b/sys/modules/tcp/Makefile @@ -1,15 +1,13 @@ -# -# - .include -SUBDIR= \ +SUBDIR= ${_hpts} \ ${_tcp_bbr} \ ${_tcp_rack} \ ${_tcpmd5} \ .if (${MK_INET_SUPPORT} != "no" || ${MK_INET6_SUPPORT} != "no") || \ defined(ALL_MODULES) +_hpts= hpts _tcp_bbr= bbr _tcp_rack= rack .if ${KERN_OPTS:MIPSEC_SUPPORT} && !${KERN_OPTS:MTCP_SIGNATURE} diff --git a/sys/modules/tcp/hpts/Makefile b/sys/modules/tcp/hpts/Makefile new file mode 100644 index 000000000000..4ca462d7f612 --- /dev/null +++ b/sys/modules/tcp/hpts/Makefile @@ -0,0 +1,6 @@ +.PATH: ${SRCTOP}/sys/netinet + +KMOD= tcphpts +SRCS= tcp_hpts.c opt_inet.h opt_inet6.h opt_rss.h device_if.h bus_if.h + +.include From nobody Tue Nov 21 17:53:57 2023 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 4SZX794S24z5227r; Tue, 21 Nov 2023 17:53:57 +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 4SZX792SxTz4kZ9; Tue, 21 Nov 2023 17:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700589237; 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=jxILAvt051F+E9SXoLuY7RytaX7ONtbPIQMydUjjHPs=; b=L1qMvvzaB8cFfP6pxoxf5gaL3VKvANtZ+SxRsdkWOh1qBvmbGNOj3Zo4vN5Bjt/r4zQo3r u+xfaZau59R0VGaO+l5pSJC1Ud8Ax0/V698nShL31g05YHKXO+XKp/ocnrqJFlz1D1Vg24 UcSL8FJHWbVu10jXxqSFQ14NIb4DqjmoJT1w1LCq40YTeTIu0THdyfQ1sBARlpJI9MJqDC ks4seZ0RpyIqBmKmBrorf5YVK8aTeX9yBSy3PIjVXkhP0n2JZZdQJ/kB0sxagl6xIM6EIi XqVVXuxJlqHYqU99pE5qwKjyeJ8zUN4DeNgN84OpaIOr9wFS0yGVNiNrWF0aUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700589237; 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=jxILAvt051F+E9SXoLuY7RytaX7ONtbPIQMydUjjHPs=; b=f6TtoYP2rrWpE07xxYsi/O6pwGRgWNbqZBWe0MyZM0OcXoJPtha9cgLPl+sFtmKkSYveYg KFq3SRj0AIqV2s4BQuW37LgP/FTWnc38qWhZndyVtPztXN3yO/CYAbM+kHRzBtvCsyFIO/ Fj939V8JrYQ6o7ecU0uwTZsOeN4eWv3BpKvGiX6Go/qmkaIaCoZ0fqj7asNkQvvGbSHCpI GliR9atQbmnqU3oG6voDRXTLD3TbOe/AchMcG/7MqOykdg/lwWR8NpkUH81QkkQ1IWVUiw V21myvxiyW+ge+Aqo3sMx6JYUFSJpN7ate2+FiFl/wyTlCOtoLmWYhjg7sckng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700589237; a=rsa-sha256; cv=none; b=g+XfPzR9KtbSZptk/E/EVvO8jV7oeiIh3u2nX9MI3kmm1bK8RwKvHtSZ5na4WRuPv1YcfQ Nja18MlqbOua0QdqFirl8/rdQyfqTq/xCi/z27R4AMgO8UphB1WslU1reVQK8SFKeRInBL ScmJBp1Xm1ci6j4mnocGc/1F5XBxPm2b2C975QbvF03z0dqM//k0W69CMawAE81uG0UMMn HbWDynGK9BHyLw/4EJKAPa6Jwwxsyhayl7NlKOSkEVtO31eeJuA9aQW5+UYbf84LTMaJvg HALTMkrUD50fFNbkZbQK80YDzwpqOT9G4kSVIwD2vQtAC7BQbKoVGmdNQyv+vg== 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 4SZX791YP5zlV4; Tue, 21 Nov 2023 17:53:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALHrvR5078523; Tue, 21 Nov 2023 17:53:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALHrvZ0078521; Tue, 21 Nov 2023 17:53:57 GMT (envelope-from git) Date: Tue, 21 Nov 2023 17:53:57 GMT Message-Id: <202311211753.3ALHrvZ0078521@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 96f193b290a1 - main - Compile RACK when options TCP_RACK, not TCP_BBR 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 96f193b290a1aa735ff1833983d654c01ed8902e Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=96f193b290a1aa735ff1833983d654c01ed8902e commit 96f193b290a1aa735ff1833983d654c01ed8902e Author: Alex Xu (Hello71) AuthorDate: 2023-11-21 00:09:56 +0000 Commit: Mitchell Horne CommitDate: 2023-11-21 17:51:10 +0000 Compile RACK when options TCP_RACK, not TCP_BBR Signed-off-by: Alex Xu (Hello71) Fixes: 3a338c5341 ("Add the BBR and RACK stacks to the LINT kernel.") Pull Request: https://github.com/freebsd/freebsd-src/pull/907 --- sys/conf/files | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/files b/sys/conf/files index 1fecda73bf4e..c5cd70415931 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4364,7 +4364,7 @@ netinet/tcp_reass.c optional inet | inet6 netinet/tcp_sack.c optional inet | inet6 netinet/tcp_stacks/bbr.c optional inet tcp_bbr | inet6 tcp_bbr \ compile-with "${NORMAL_C} -DMODNAME=tcp_bbr -DSTACKNAME=bbr" -netinet/tcp_stacks/rack.c optional inet tcp_bbr | inet6 tcp_bbr \ +netinet/tcp_stacks/rack.c optional inet tcp_rack | inet6 tcp_rack \ compile-with "${NORMAL_C} -DMODNAME=tcp_rack -DSTACKNAME=rack" netinet/tcp_stacks/rack_bbr_common.c optional inet tcp_bbr | inet tcp_rack | inet6 tcp_bbr | inet6 tcp_rack netinet/tcp_stacks/sack_filter.c optional inet tcp_bbr | inet tcp_rack | inet6 tcp_bbr | inet6 tcp_rack From nobody Tue Nov 21 18:35:48 2023 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 4SZY3S2dS9z524kK; Tue, 21 Nov 2023 18:35:48 +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 4SZY3S266zz4nwc; Tue, 21 Nov 2023 18:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700591748; 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=cmYZLKFoUZ/QlyswuDsqR0uK6NOzY3QlPWYETdKMS0A=; b=nJJKyU1FQ8qognN3T2uOmCyLgQdYRWe3Sko6LUBelNzA2HSpDMV0EmB14ap7JgCiMTuBe+ 4poz/YureEjdSlkSl+OeXw0WQUYOVjUHLP86QRhPFfeYChMZ7+9ekQVkuA/QYR0wEk2kYF gH7YbKCwZoS1BzA4eSGihEoweGyUD6H5y8y76LrlkkCeeURnSjfMbI6v5AkNn/AMHsqvoO kDoiS9PZ26fXd5nCkk7ILrUvXTkmsN2ctZHe0Q5qWhGOTpuvG/FBn7teh3puZBb0IOi/9g emrfjlx8Q5OAOQ45SRPF/Su9pRXhiYf8VtzHwFTMPpaAfVPB5iX6Sg5tWrdqWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700591748; 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=cmYZLKFoUZ/QlyswuDsqR0uK6NOzY3QlPWYETdKMS0A=; b=JPjPSwTJ6+H6shJ7UpInD8wmiuJwtiE21bOKXvcRtZyIjd7nMS/5ezxodobt0jkrGXyFNX xoYXdNSKFNGkeLSPlx3PLDPBMGGXPUcPTETRG4Mq6dnAfLjPe96pXka4+VDPG/Hl/051Az 9zi1VFMuG950/iNTXGVZuNb9nW5E+6lQROPKHXYummYQkVtg7AazXHRACuLiTPWCa1TTM9 ETe2Hey5OT0jxnybzo4YsP2zaCeUC9FPtz2O1tZqrfEHn4JJP3/SBbSbH5iBAIsduXsLg3 Vc8reIM7PhJR33iO5qc3ge4dwKZMaMhc/6GFxq7uXo9dKSr1yANeddAvFOvOXw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700591748; a=rsa-sha256; cv=none; b=JaKXkJ88UvUk1TGlT+59VdObrTwCGf/O1gX48VfGVlLZxqpI8NOes8Uu0A4PqwZ+h27kup DlE/vGz7ybO5A5T3H7JEdKffohJ9o9Ml2mZaTsxpwx2Cf0QQ6A03bfsKXeF7TEzMTXO/YB mnTTEMQhLMsGwNm3XHUQQ/DL9hCplTdayreWzOKbm7wriv8x8qq83RGf1a0RZoEQ18waoh P8qAGs8jSunvxZfdaMvxX3lj33ZDNkUabWpn6S/aswqyX05U902EH4yd8MKDG/yI53Aw2Q lXYBVmyBV95e6y9eSZ9tLrZYRr5cKcz2OE9R1z8aFGahj3O5NjbpweYv0RBTAA== 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 4SZY3S19Z4zmkK; Tue, 21 Nov 2023 18:35:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALIZmYJ045703; Tue, 21 Nov 2023 18:35:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALIZmdd045700; Tue, 21 Nov 2023 18:35:48 GMT (envelope-from git) Date: Tue, 21 Nov 2023 18:35:48 GMT Message-Id: <202311211835.3ALIZmdd045700@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 2f68ae6150aa - main - makesyscall: Simplify a bit emitting syscall declarations 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2f68ae6150aa51d724e22c7e6748adfe2bc932d7 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2f68ae6150aa51d724e22c7e6748adfe2bc932d7 commit 2f68ae6150aa51d724e22c7e6748adfe2bc932d7 Author: Olivier Certner AuthorDate: 2023-10-12 13:47:03 +0000 Commit: Mark Johnston CommitDate: 2023-11-21 18:25:34 +0000 makesyscall: Simplify a bit emitting syscall declarations Reviewed by: kevans, imp MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42168 --- sys/tools/makesyscalls.lua | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/sys/tools/makesyscalls.lua b/sys/tools/makesyscalls.lua index bf631ac2ffdd..8a56310f0068 100644 --- a/sys/tools/makesyscalls.lua +++ b/sys/tools/makesyscalls.lua @@ -865,18 +865,15 @@ local function handle_noncompat(sysnum, thr_flag, flags, sysflags, rettype, local protoflags = get_mask({"NOPROTO", "NODEF"}) if flags & protoflags == 0 then + local sys_prefix = "sys_" if funcname == "nosys" or funcname == "lkmnosys" or funcname == "sysarch" or funcname:find("^freebsd") or funcname:find("^linux") then - write_line("sysdcl", string.format( - "%s\t%s(struct thread *, struct %s *)", - rettype, funcname, argalias)) - else - write_line("sysdcl", string.format( - "%s\tsys_%s(struct thread *, struct %s *)", - rettype, funcname, argalias)) + sys_prefix = "" end - write_line("sysdcl", ";\n") + write_line("sysdcl", string.format( + "%s\t%s%s(struct thread *, struct %s *);\n", + rettype, sys_prefix, funcname, argalias)) write_line("sysaue", string.format("#define\t%sAUE_%s\t%s\n", config.syscallprefix, funcalias, auditev)) end From nobody Tue Nov 21 18:35:49 2023 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 4SZY3T52XNz524my; Tue, 21 Nov 2023 18:35:49 +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 4SZY3T2cssz4pM0; Tue, 21 Nov 2023 18:35:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700591749; 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=RPdnHBmXuKirXziWIol9kKx4nYkCslQcTjSxcOTYYmI=; b=UtO6f0NI6GJtgJ+guMAPE9YVwQgIWGhNV1l9ZzEubJerwXlplB4AnwE1tOXeb6Ha/BrNa2 HN5dT7JImA4NqUQX0EWitM0fA1AfCBVle3j+jocAzE2b3KKdWFt6A1utTxGGZ9FlVX02dx t5UuW5XDX04vEUWZNrPr9ftZgFwOa4183c8QliaDAoXM2xs2mYhV+3imcCgF81EWgSCv5E 3ZJBOvtsv3I/WDlQr4IJMTpVmaWoHOp8Sie5bSDLvDnxAwJF1l7VPoNLi2xymMJZ4Cm++m zBgTgVtGaRRrDeISuiB4LRDqz1WGyXS2rZtUB5xXxSGW5ORiAte20YkPxELPDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700591749; 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=RPdnHBmXuKirXziWIol9kKx4nYkCslQcTjSxcOTYYmI=; b=jc65WnH3YritMQULTui839qPKRUqQ29fWNGFCWtod/ad0GT3h4fnLRuPpdQZquq+OvI3Jj D7mKz6caH4STqL6zTR3cfnZ1qEsaH4vimg/7By51pBQFZr8ts/lRz15oig7SAFCneXfJCK 6Se0dz5iQLecClwBb4ZJXwf+i0WEHJnVYuLh1xIWUsSI8omUoZsWaHJaVNlibJhkgRRS5S dHoN0B17aFXxfkdX1lQZIYkThCa21EdnbpcxuWX2frwrDFnLOTRDHvqnQMByshyxqy4SGQ zEG/aDECB2UsSGHO339fmtV99x9XH73Bfj/knJuLoQLyd6G+fTdUpdDQ48KyjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700591749; a=rsa-sha256; cv=none; b=ZeKduLdasqyRdXAU5iwDekWK7Xw7kkOKxwUS3kJDCD1earPPwmq0q6aw8k5wdXsn3knwMC HaTBpWKMw82H95shMxZ+ZvboSh4PUamNhjXPy669EzWsRwI90P+VAfMAmfYN2s9xVwL2n5 2vvmYDypKFDTlVMMbOQktrh3iCqdLTN/A9glVSJvZw7UmZdh492P9F/E/ltzIOn1VLsdeT cjxDU/e9gAuMVdkV69/nft3zpP8X4dAr6bpKrnCcg/jn6FvJxMXFfx7FvGiuOzDJiCRJ17 Py+F7ZufqdpSRKK62cxOZ/KzgiF5b1AO64aouu/Sj9eYKzmpGSUYysayBg7eUA== 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 4SZY3T1ggJzmkL; Tue, 21 Nov 2023 18:35:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALIZnOE045743; Tue, 21 Nov 2023 18:35:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALIZnNi045740; Tue, 21 Nov 2023 18:35:49 GMT (envelope-from git) Date: Tue, 21 Nov 2023 18:35:49 GMT Message-Id: <202311211835.3ALIZnNi045740@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 9d882de2da20 - main - Remove sysctl 'kern.smp.forward_signal_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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9d882de2da2099f534776ba4a6278e8c0bc87660 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9d882de2da2099f534776ba4a6278e8c0bc87660 commit 9d882de2da2099f534776ba4a6278e8c0bc87660 Author: Olivier Certner AuthorDate: 2023-10-20 13:43:29 +0000 Commit: Mark Johnston CommitDate: 2023-11-21 18:25:34 +0000 Remove sysctl 'kern.smp.forward_signal_enabled' It seems this was an "emergency" knob to revert a newly introduced behavior. Overall, we want better system-wide signal receive latency, and it doesn't seem that some contrary policy was ever needed (and if that comes up, it should rather be implemented, e.g., per-process). Suggested by: kib Reviewed by: kib, jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42315 --- sys/kern/subr_smp.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index 7cbf83928786..399665b47751 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -113,12 +113,6 @@ SYSCTL_INT(_kern_smp, OID_AUTO, topology, CTLFLAG_RDTUN, &smp_topology, 0, "Topology override setting; 0 is default provided by hardware."); #ifdef SMP -/* Enable forwarding of a signal to a process running on a different CPU */ -static int forward_signal_enabled = 1; -SYSCTL_INT(_kern_smp, OID_AUTO, forward_signal_enabled, CTLFLAG_RW, - &forward_signal_enabled, 0, - "Forwarding of a signal to a process on a different CPU"); - /* Variables needed for SMP rendezvous. */ static volatile int smp_rv_ncpus; static void (*volatile smp_rv_setup_func)(void *arg); @@ -205,8 +199,6 @@ forward_signal(struct thread *td) if (!smp_started || cold || KERNEL_PANICKED()) return; - if (!forward_signal_enabled) - return; /* No need to IPI ourself. */ if (td == curthread) From nobody Tue Nov 21 18:38:52 2023 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 4SZY7110jwz524wJ; Tue, 21 Nov 2023 18:38:53 +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 4SZY710T3Wz4q03; Tue, 21 Nov 2023 18:38:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700591933; 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=tXML+MrgYfrbEaJRRt31iBcSNTtZnUCEefLPofuJ3nE=; b=ZgnOOAKQSWt4Ti7wWDKgSMkuSc7SdcQV3x6TWqvbDhoO1SgYHzoHW0PHp3QIP5h9ngMaW1 bFb7M74XC1LunE7d9PSxU9f/j+3AK2vqMQfpnYAdFee6u019oSZF/Jw2cpWm+SSACeDHf7 UKmLrNfsbgtHoLDe+z3fcjpgUZ+hXUiJ/S3Z2DOW3xfUm+xJOh17Z8fpwKrNVK60gdgGrz RwDu98hO7UJV+snUjT14YP4r3RIIHKJGI5h1tL/TqO0lK2QlxPIM9kvwFiacfMCmSlHgJ0 3Srv32SFLddWaZ2XdPizKm8nwnPl3J0ijiwkGdHno1/Cx+8yInmd9Am0P0AvKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700591933; 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=tXML+MrgYfrbEaJRRt31iBcSNTtZnUCEefLPofuJ3nE=; b=EclAO5BaYUIguuYMGqZ6jMqL/5lKyvOvZo6NpzFeh29VniAXVDmDBkR9rC/CL2QOofgmbi 0T2/SXO+eVbYvnlm6W5oiiQeONWsfWb/pHMYgO30OiWUGEmVw6hCGUKSYVTSVp/C/8w3ti fiRnsNQT6sP1/tbtVEuqDRXRxlRg2gDqwohlJgEIZUOfnVQN5oxsDAOYErOeQ8Begi92oJ HIlRa9goWeYsDpG7QdDHIYbTgN9fw/yz2O2a6ITEcozSlvd38ORM16j45S1Uwz30Ts09ct W2qd/aNmioW4eZsbPhnv3zSdhx/K4tS24aA8T7soxKWpPrS0zdZ/idCdsxQ+xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700591933; a=rsa-sha256; cv=none; b=x/p0DkRC/05YZaBhitLxWrSUYOEq+TTiw2cDrvsjyl2PRo4mi10JvefseAfH0zuwiJpAak jsZIG82a7jN0NUHqiQzzBO5NN+R5AYhsE4fLGfqdpzTdyAevoAQVoczVQ4A9ACok9KZ68f xP+txDHv2igJPm/jC2kCc6s1nwz9ZtNu5cpjFSu3AwQG3bbzKyNn2EERM05IONzY1dJ2AT 7lrsF4hXgy/P+BqQ7KemEYMciJtzbP/35G4HTOiVnZmDTYnwlAVaasS7AlLSBpZhrxgH2M 3qiJNaZRA0gt+PLl7iOJUD92oQNNyXw95WBrgrrjlSc57h15iIeoCK02tY2zgw== 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 4SZY706dYtzmLl; Tue, 21 Nov 2023 18:38:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALIcqng046307; Tue, 21 Nov 2023 18:38:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALIcqS0046304; Tue, 21 Nov 2023 18:38:52 GMT (envelope-from git) Date: Tue, 21 Nov 2023 18:38:52 GMT Message-Id: <202311211838.3ALIcqS0046304@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: e4789047ffd1 - main - stand/efi: Define ACPI_USE_SYSTEM_INTTYPES to be 1 instead of blank 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e4789047ffd1319be337711ae4b6c594378f31b2 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e4789047ffd1319be337711ae4b6c594378f31b2 commit e4789047ffd1319be337711ae4b6c594378f31b2 Author: Warner Losh AuthorDate: 2023-11-21 18:36:18 +0000 Commit: Warner Losh CommitDate: 2023-11-21 18:38:46 +0000 stand/efi: Define ACPI_USE_SYSTEM_INTTYPES to be 1 instead of blank To avoid a redefinition warning... This needs to be redone correctly, but this gets amd64 building again... My amd64 environment is polluted with something that caues earlier failures which I ignored... Fixes: 488bc7e9a777 Sponsored by: Netflix --- stand/efi/loader/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 6514fd6cd8ce..a650abb3b68c 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -60,7 +60,7 @@ #include "efizfs.h" #include "framebuffer.h" -#define ACPI_USE_SYSTEM_INTTYPES +#define ACPI_USE_SYSTEM_INTTYPES 1 #include "platform/acfreebsd.h" #include "acconfig.h" #define ACPI_SYSTEM_XFACE From nobody Tue Nov 21 22:48:26 2023 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 4SZffz1F9Jz51DV1; Tue, 21 Nov 2023 22:48:27 +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 4SZffz0Qkjz4M9W; Tue, 21 Nov 2023 22:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700606907; 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=jU7wmwJvaJp/c4iCpWwOO0/T3OC/f1Mc1RrRUVNzblY=; b=nWsCHOKXsKoKXjc0nxmBGphy/oh4+pTwgSx5OqoBC9cpjkwAPaafe9Bb8qH7OceV1h2Sjy GQyr1uUukclxNqil2VNDmEwACamXj12+1jaXYf6unjCUChGzFndd21y0tVGgEFhZj1bMlR Djxytmw+m5axrd8/n5fWiPniR/F5pfLlPHffQd5nVqlhBz0CQzyRbvAvgr71EJpyk3U1QI 22yPQwZf1jxqsLjFGMxPmIHu3rNOA1JeSJaChpSosNGtyGhp3I/gnP0QiDApsPtCycbQiF SW9I/eIX5vArm5gnjvpT10ndFhL6GGIDwsBL6/gKlHpFHBLmqIqt2LNTMRyj7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700606907; 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=jU7wmwJvaJp/c4iCpWwOO0/T3OC/f1Mc1RrRUVNzblY=; b=C6v46TCDD1HeH0yj9R5TsY7INMG08TzlkFiq6VvF2z3PLD1uq7rVZDCCTAdvtTfUbwvQ5R ARlYko0uqeQtpyV58EtHzb0U/e5w2VZ8DPifJlxhr0n1+4ufHT5kMCe2eV30AthbiP9UjU tApuAw0cHHWPUglNqgKsRPv1/lY0puUqcagkGV5xrKkOMQzka4FnmxggVksnAxGscvpwhS vEkaC68ghcJmxrpxapVHlDe4F/mxWfoUJ/cd5ftEQRBzwfM21OoyW0OfLH9gmSble6H1F9 3xUmu8MAqThqOPzc47MEFivhedmsvkbBfP0vYSGoW3bJCNs6jcuTkm+nVxbC8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700606907; a=rsa-sha256; cv=none; b=YzoTWAV0+7huyvPyr89ixYulLYxZW0PMflyQ6Lvwu+OUjBqk4ldi/lTNHpQtI7XyDQKNtv iQ/pnpYvL9tKfSj8DxDXfQVgPanazh8tD7tBpbUNTDo5E+X+Uq0GtVFt0HDq6HMi/9CAM8 RrEdzFYp1ODMGA6KodUf0CiH43HTyjf/o4DANIPml4jma0MNuKeOFtFCUCAvqOweB1Oke/ VvRbhKrU95BLhczxLCj8fEKv6+C8in3nleg2zdn0xT04KpgkN7KUbZKJ8hjxCLLu5kO9ZA VR+W+LZ9L0IxQI/2mp8q2J0y8sl9k9dpvRy4gN0a6T+z8IVwku3hfP/J4o4cNg== 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 4SZffy6bkSzsqs; Tue, 21 Nov 2023 22:48:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALMmQnl064419; Tue, 21 Nov 2023 22:48:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALMmQZJ064416; Tue, 21 Nov 2023 22:48:26 GMT (envelope-from git) Date: Tue, 21 Nov 2023 22:48:26 GMT Message-Id: <202311212248.3ALMmQZJ064416@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 1818f3fda9c1 - main - ps: s/kern.max_pid/kern.pid_max/ in a comment 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: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1818f3fda9c1a9a97f23b6dc6d0a63eb6f8d8b20 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=1818f3fda9c1a9a97f23b6dc6d0a63eb6f8d8b20 commit 1818f3fda9c1a9a97f23b6dc6d0a63eb6f8d8b20 Author: Brooks Davis AuthorDate: 2023-11-21 22:43:14 +0000 Commit: Brooks Davis CommitDate: 2023-11-21 22:46:01 +0000 ps: s/kern.max_pid/kern.pid_max/ in a comment Sponsored by: DARPA --- bin/ps/ps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/ps/ps.c b/bin/ps/ps.c index 3a7a0f54cca0..16d8a0a58d3c 100644 --- a/bin/ps/ps.c +++ b/bin/ps/ps.c @@ -112,7 +112,7 @@ static int needcomm; /* -o "command" */ static int needenv; /* -e */ static int needuser; /* -o "user" */ static int optfatal; /* Fatal error parsing some list-option. */ -static int pid_max; /* kern.max_pid */ +static int pid_max; /* kern.pid_max */ static enum sort { DEFAULT, SORTMEM, SORTCPU } sortby = DEFAULT; From nobody Tue Nov 21 22:48:27 2023 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 4SZfg01bVMz51DPB; Tue, 21 Nov 2023 22:48: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 4SZfg00w5zz4MDZ; Tue, 21 Nov 2023 22:48:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700606908; 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=R4WsqSeGhaiELo8CV+R5kORQal7wJvTuC4ketqaYn6M=; b=czSeQzgrq6OgPmvJxTB1XMTmyqaP11IW7CcuHl0ZOeuyXTnf3elLZCbu0E7vLJWFACbpi3 ukUZbE3eRLwC3ikP5+Vz93wR3XIVnCzpoL8KFJ6Fyq0Z49tC5xd7p/FEa4px3iOXFlHwpf KC8N9GE6Ab21LxgGL63TTPyOlHeNs8sxIWvzOMujDY6llgpxKgXQMe8LQ4zHDAu17y4s4s 74kLoXuGUhSU281Ew20l9a5EJQ9nJQQqzaehbNofDmyq1ypsHmncQmD9jLdxftyo7+01ZY /SaQxdIFyLRuGv1q51cysuqqHqGC9KVWdWDf2eq6ckvXHpBWlm5pGF9ea8SQ4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700606908; 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=R4WsqSeGhaiELo8CV+R5kORQal7wJvTuC4ketqaYn6M=; b=kpaHJVv0InZGn+MDcfs+pnNnLK3WI8SVd5d9aER8bBQn57bgKNCm/AFRiz2IPHnamoAwqN JpDjmIsgj4jVjzPw/o1x/exwH9NZAn76uFYjVP3kWD24DnPKHCFrrmWHdcpxwzVKhotZ+t V03QIkPi2MPNyptr9duf+HGZxfW0KGWdPyeetL+Z4Klmr0kmXMWxh2gJlpqfrGuiVCLgGC By3rYWqwgHp0Gd79t4/J0doPFxBTKsrRAQynbpmB6MakB3vzK+3y0PfjnIt6D973z7gxSh v5Sy7kCWrAxt2wvLEWTmXjOlyqAJVMJi6ndfYfMVggP8yR8IJYSMiI81epV/uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700606908; a=rsa-sha256; cv=none; b=tsWoSqYlhYp56MAz3of5Zq3eYL8lsy9r3TDj8YWpZYaaxTeLJTjtudzNnQ3U41Isfut3FL ppUBOj/DMUmkPWgwTfn1Qfed3YE8+h6dpzL/LOlpD084uYLGvhqlXzKNWyeJFIyWI07Hsf dn9r3UNAajv44/UmAN0uMQ9KTJ9L78gPL+NZmy3GjJtKpt7NdPmg5GM1aF1eaIDx1oNdJN gGmncnOKYjQD6hj11WplMSs4YTVsV7G97ul8kkBTDXVXJ+8VdSgEPqvrQxoenh0wppnK0z 7HwDPh0v/YigtabLEFNJ/Rm7PezTMsNiiORmjAWsFToU2o+fWp8SvlfRPCqf1Q== 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 4SZffz74xbztt1; Tue, 21 Nov 2023 22:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALMmREE064471; Tue, 21 Nov 2023 22:48:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALMmRmq064468; Tue, 21 Nov 2023 22:48:27 GMT (envelope-from git) Date: Tue, 21 Nov 2023 22:48:27 GMT Message-Id: <202311212248.3ALMmRmq064468@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 9fc0ff9d85b1 - main - libc: remove some obsolete VCS data 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: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9fc0ff9d85b1497b45a4c6d74e0bc7eea9dcf37b Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=9fc0ff9d85b1497b45a4c6d74e0bc7eea9dcf37b commit 9fc0ff9d85b1497b45a4c6d74e0bc7eea9dcf37b Author: Brooks Davis AuthorDate: 2023-11-21 22:46:43 +0000 Commit: Brooks Davis CommitDate: 2023-11-21 22:46:43 +0000 libc: remove some obsolete VCS data These wide char support files were copied from the previous versions with expanded $FreeBSD$ strings in #if 0 blocks. Remove them and the scssid definitions in the same #if 0 blocks. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42688 --- lib/libc/locale/wcstoimax.c | 6 ------ lib/libc/locale/wcstoll.c | 6 ------ lib/libc/locale/wcstoull.c | 6 ------ lib/libc/locale/wcstoumax.c | 6 ------ lib/libc/stdio/vswprintf.c | 3 --- lib/libc/stdio/vswscanf.c | 6 ------ 6 files changed, 33 deletions(-) diff --git a/lib/libc/locale/wcstoimax.c b/lib/libc/locale/wcstoimax.c index 2c0997e7ea91..29e12f809812 100644 --- a/lib/libc/locale/wcstoimax.c +++ b/lib/libc/locale/wcstoimax.c @@ -34,12 +34,6 @@ * SUCH DAMAGE. */ -#if 0 -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "from @(#)strtol.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ -__FBSDID("FreeBSD: src/lib/libc/stdlib/strtoimax.c,v 1.8 2002/09/06 11:23:59 tjr Exp "); -#endif #include #include #include diff --git a/lib/libc/locale/wcstoll.c b/lib/libc/locale/wcstoll.c index 1712c6be3f56..01ee701af016 100644 --- a/lib/libc/locale/wcstoll.c +++ b/lib/libc/locale/wcstoll.c @@ -34,12 +34,6 @@ * SUCH DAMAGE. */ -#if 0 -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)strtoq.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ -__FBSDID("FreeBSD: src/lib/libc/stdlib/strtoll.c,v 1.19 2002/09/06 11:23:59 tjr Exp "); -#endif #include #include #include diff --git a/lib/libc/locale/wcstoull.c b/lib/libc/locale/wcstoull.c index b2edd3d9cea1..db77acd2a55d 100644 --- a/lib/libc/locale/wcstoull.c +++ b/lib/libc/locale/wcstoull.c @@ -34,12 +34,6 @@ * SUCH DAMAGE. */ -#if 0 -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)strtouq.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ -__FBSDID("FreeBSD: src/lib/libc/stdlib/strtoull.c,v 1.18 2002/09/06 11:23:59 tjr Exp "); -#endif #include #include #include diff --git a/lib/libc/locale/wcstoumax.c b/lib/libc/locale/wcstoumax.c index bf517965ba3e..6a3861618e3e 100644 --- a/lib/libc/locale/wcstoumax.c +++ b/lib/libc/locale/wcstoumax.c @@ -34,12 +34,6 @@ * SUCH DAMAGE. */ -#if 0 -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "from @(#)strtoul.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ -__FBSDID("FreeBSD: src/lib/libc/stdlib/strtoumax.c,v 1.8 2002/09/06 11:23:59 tjr Exp "); -#endif #include #include #include diff --git a/lib/libc/stdio/vswprintf.c b/lib/libc/stdio/vswprintf.c index d8c1d6720ebe..e90a05c4cc14 100644 --- a/lib/libc/stdio/vswprintf.c +++ b/lib/libc/stdio/vswprintf.c @@ -34,9 +34,6 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#if 0 -__FBSDID("FreeBSD: src/lib/libc/stdio/vasprintf.c,v 1.16 2002/08/21 16:19:57 mike Exp "); -#endif #include #include #include diff --git a/lib/libc/stdio/vswscanf.c b/lib/libc/stdio/vswscanf.c index 8fecb81f96bb..be21f4a53f7b 100644 --- a/lib/libc/stdio/vswscanf.c +++ b/lib/libc/stdio/vswscanf.c @@ -37,12 +37,6 @@ * SUCH DAMAGE. */ -#if 0 -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)vsscanf.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ -__FBSDID("FreeBSD: src/lib/libc/stdio/vsscanf.c,v 1.11 2002/08/21 16:19:57 mike Exp "); -#endif #include #include #include From nobody Tue Nov 21 23:57:16 2023 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 4SZhBN613Tz51LBV; Tue, 21 Nov 2023 23:57:16 +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 4SZhBN5Pg3z4XH2; Tue, 21 Nov 2023 23:57:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700611036; 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=OfKfJw/tavCu3wMjZziSAFAt8Mu6sz7OtDYIKqy1Eww=; b=C9+nIjA57Oi0SgYcjrOC0l1dp2pVTcd5dQY0Ssal1YTIB3KZcuFPW4zhm28aUp2A/SVAWE Ak/nufBgonkGipREFxxfabAm6kWlTebTG2xskhOHXwNTP5RFvoj0BJiIgLSzVoJh23upaH S6nY66wevJoqqyPiUt1VtRBlZezOCAHvDv51Cj+cQaKWOECQtJ537tGNinLsc4hr7BcZFw rQwJUjwjk0J2P/C17pyxjt3eKiEwS/frN5hrim/eWkqLvd1w6xvGxc2Ot2x/cBl9osNHmD yNtkVV5woTZ4m3lLWMhPnfV2uPHw17ErmKSCF0z/PUFb+nvyxvTTO/tqiFdEdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700611036; 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=OfKfJw/tavCu3wMjZziSAFAt8Mu6sz7OtDYIKqy1Eww=; b=DvHPi9FDqjTHzvmzLji6j7k6qmrr6bnXh0+G1Dv7z5GnWnVVitw0t7kphzX1f23xgW+4E4 rNDxPCNuOrMyynxzaqNBOFGDazihxQWPEMMcIifOXSOKrgZPAiM6gmuQTv5ZtIDCW5pC3g 88ZhiDhDQWLi5HYY+Tyuff2ktSZEVOphAi1CyimWchSgJL+YDb9s7RoPB8HJjVIbt9O2Bj HKoIz9nwWbOpAtTe86CdvbG86ckxQ0JkKBQpAStA5B4JSbxf/6UdIGWH4fgsjh6zjiJYBb jYGzVTkIEMEeznITBF/SI4zgq/kZg2860ju/YMK66QJw/qH02EbnAfoHPPqaPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700611036; a=rsa-sha256; cv=none; b=Ybsnh59dc0SsX/FbiQpukB8aQwdx9M2xpRmbssYYQFP2rM9GF4w5GGpthkM1HHZUo+w10n edHgBg7/YHlhgRbiUheLsZiJ+sijc5m2pL67beBA/jUMzvamYXMokd6T7hkjhuj/2A+59q l8HRbroMy7OoF+4I0e+tv8dxB0Wzi7ba/JWG3ug1+T1lxc2hMGBUlQlSZ7mUX5nFbuo7jt BBepA4rEkFoHOgTKitMXb0L9MRHp4OJKABJW36HM0NXM5iS7cXsMHK7tQqttwAGFDBiTtF jgTLbVHzcAE2XaCnqbe0wp+jW92H8jU+tVVII+TqzD+rTLD11bv5wQ4qHTNzxw== 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 4SZhBN48F8zwYK; Tue, 21 Nov 2023 23:57:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALNvGX8080767; Tue, 21 Nov 2023 23:57:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALNvGlO080764; Tue, 21 Nov 2023 23:57:16 GMT (envelope-from git) Date: Tue, 21 Nov 2023 23:57:16 GMT Message-Id: <202311212357.3ALNvGlO080764@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 4e583d78b77c - stable/14 - nfscl: Use Claim_Null_FH and Claim_Deleg_Cur_FH 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: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4e583d78b77ce6a3c05b79d82e4ccf2a3a390d8d Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=4e583d78b77ce6a3c05b79d82e4ccf2a3a390d8d commit 4e583d78b77ce6a3c05b79d82e4ccf2a3a390d8d Author: Rick Macklem AuthorDate: 2023-10-20 23:10:25 +0000 Commit: Rick Macklem CommitDate: 2023-11-21 23:55:19 +0000 nfscl: Use Claim_Null_FH and Claim_Deleg_Cur_FH For NFSv4.1/4.2, there are two new options for the Open operation. These two options use the file handle for the file instead of the file handle for the directory plus a file name. By doing so, the client code is simplified (it no longer needs the "nfsv4node" structure attached to the NFS vnode). It also avoids problems caused by another NFS client (or process running locally in the NFS server) doing a rename or remove of the file name between the Lookup and Open. Unfortunately, there was a bug (fixed recently by commit X) in the NFS server which mis-parsed the Claim_Deleg_Cur_FH arguments. To allow this patch to work with the broken FreeBSD NFSv4.1/4.2 server, NFSMNTP_BUGGYFBSDSRV is defined and is set when a correctly formatted Claim_Deleg_Cur_FH fails with NFSERR_EXPIRED. (This is what the old, broken NFS server does, since it erroneously uses the Getattr arguments as a stateID.) Once this flag is set, the client fills in a stateID, to make the broken NFS server happy. Tested at a recent IETF NFSv4 Bakeathon. (cherry picked from commit 196787f79e67374527a1d528a42efa8b31acd9af) --- sys/fs/nfsclient/nfs_clport.c | 4 +- sys/fs/nfsclient/nfs_clrpcops.c | 92 +++++++++++++++++++++++++++++++---------- sys/fs/nfsclient/nfs_clstate.c | 47 +++++++++++++++++---- sys/fs/nfsclient/nfs_clvnops.c | 16 ------- sys/fs/nfsclient/nfsmount.h | 1 + 5 files changed, 114 insertions(+), 46 deletions(-) diff --git a/sys/fs/nfsclient/nfs_clport.c b/sys/fs/nfsclient/nfs_clport.c index 8ea50d80ae19..c0318b692d86 100644 --- a/sys/fs/nfsclient/nfs_clport.c +++ b/sys/fs/nfsclient/nfs_clport.c @@ -264,10 +264,10 @@ nfscl_nget(struct mount *mntp, struct vnode *dvp, struct nfsfh *nfhp, np->n_fhp = nfhp; /* - * For NFSv4, we have to attach the directory file handle and + * For NFSv4.0, we have to attach the directory file handle and * file name, so that Open Ops can be done later. */ - if (nmp->nm_flag & NFSMNT_NFSV4) { + if (NFSHASNFSV4(nmp) && !NFSHASNFSV4N(nmp)) { np->n_v4 = malloc(sizeof (struct nfsv4node) + dnp->n_fhp->nfh_len + cnp->cn_namelen - 1, M_NFSV4NODE, M_WAITOK); diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 8fe9158384a0..5a16a28bd83e 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -392,16 +392,6 @@ nfsrpc_open(vnode_t vp, int amode, struct ucred *cred, NFSPROC_T *p) nfhp = np->n_fhp; retrycnt = 0; -#ifdef notdef -{ char name[100]; int namel; -namel = (np->n_v4->n4_namelen < 100) ? np->n_v4->n4_namelen : 99; -bcopy(NFS4NODENAME(np->n_v4), name, namel); -name[namel] = '\0'; -printf("rpcopen p=0x%x name=%s",p->p_pid,name); -if (nfhp->nfh_len > 0) printf(" fh=0x%x\n",nfhp->nfh_fh[12]); -else printf(" fhl=0\n"); -} -#endif do { dp = NULL; error = nfscl_open(vp, nfhp->nfh_fh, nfhp->nfh_len, mode, 1, @@ -452,6 +442,39 @@ else printf(" fhl=0\n"); op->nfso_own->nfsow_clp, nfhp->nfh_fh, nfhp->nfh_len, cred, p, &dp); } + } else if (NFSHASNFSV4N(nmp)) { + /* + * For the first attempt, try and get a layout, if + * pNFS is enabled for the mount. + */ + if (!NFSHASPNFS(nmp) || nfscl_enablecallb == 0 || + nfs_numnfscbd == 0 || + (np->n_flag & NNOLAYOUT) != 0 || retrycnt > 0) + error = nfsrpc_openrpc(nmp, vp, nfhp->nfh_fh, + nfhp->nfh_len, nfhp->nfh_fh, nfhp->nfh_len, + mode, op, NULL, 0, &dp, 0, 0x0, cred, p, 0, + 0); + else + error = nfsrpc_getopenlayout(nmp, vp, + nfhp->nfh_fh, nfhp->nfh_len, nfhp->nfh_fh, + nfhp->nfh_len, mode, op, NULL, 0, &dp, + cred, p); + if (dp != NULL) { + NFSLOCKNODE(np); + np->n_flag &= ~NDELEGMOD; + /* + * Invalidate the attribute cache, so that + * attributes that pre-date the issue of a + * delegation are not cached, since the + * cached attributes will remain valid while + * the delegation is held. + */ + NFSINVALATTRCACHE(np); + NFSUNLOCKNODE(np); + (void) nfscl_deleg(nmp->nm_mountp, + op->nfso_own->nfsow_clp, + nfhp->nfh_fh, nfhp->nfh_len, cred, p, &dp); + } } else { error = EIO; } @@ -538,19 +561,40 @@ nfsrpc_openrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, int fhlen, *tl = txdr_unsigned(delegtype); } else { if (dp != NULL) { - *tl = txdr_unsigned(NFSV4OPEN_CLAIMDELEGATECUR); - NFSM_BUILD(tl, u_int32_t *, NFSX_STATEID); - if (NFSHASNFSV4N(nmp)) - *tl++ = 0; - else + if (NFSHASNFSV4N(nmp)) { + *tl = txdr_unsigned( + NFSV4OPEN_CLAIMDELEGATECURFH); + NFSLOCKMNT(nmp); + if ((nmp->nm_privflag & NFSMNTP_BUGGYFBSDSRV) != + 0) { + NFSUNLOCKMNT(nmp); + /* + * Add a stateID argument to make old + * broken FreeBSD NFSv4.1/4.2 servers + * happy. + */ + NFSM_BUILD(tl, uint32_t *,NFSX_STATEID); + *tl++ = 0; + *tl++ = dp->nfsdl_stateid.other[0]; + *tl++ = dp->nfsdl_stateid.other[1]; + *tl = dp->nfsdl_stateid.other[2]; + } else + NFSUNLOCKMNT(nmp); + } else { + *tl = txdr_unsigned(NFSV4OPEN_CLAIMDELEGATECUR); + NFSM_BUILD(tl, u_int32_t *, NFSX_STATEID); *tl++ = dp->nfsdl_stateid.seqid; - *tl++ = dp->nfsdl_stateid.other[0]; - *tl++ = dp->nfsdl_stateid.other[1]; - *tl = dp->nfsdl_stateid.other[2]; + *tl++ = dp->nfsdl_stateid.other[0]; + *tl++ = dp->nfsdl_stateid.other[1]; + *tl = dp->nfsdl_stateid.other[2]; + (void)nfsm_strtom(nd, name, namelen); + } + } else if (NFSHASNFSV4N(nmp)) { + *tl = txdr_unsigned(NFSV4OPEN_CLAIMFH); } else { *tl = txdr_unsigned(NFSV4OPEN_CLAIMNULL); + (void)nfsm_strtom(nd, name, namelen); } - (void) nfsm_strtom(nd, name, namelen); } NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(NFSV4OP_GETATTR); @@ -2713,6 +2757,8 @@ nfsrpc_createv4(vnode_t dvp, char *name, int namelen, struct vattr *vap, if ((rflags & NFSV4OPEN_RESULTCONFIRM) && (owp->nfsow_clp->nfsc_flags & NFSCLFLAGS_GOTDELEG) && !error && dp == NULL) { + KASSERT(!NFSHASNFSV4N(nmp), + ("nfsrpc_createv4: result confirm")); do { ret = nfsrpc_openrpc(VFSTONFS(dvp->v_mount), dvp, np->n_fhp->nfh_fh, np->n_fhp->nfh_len, @@ -8009,8 +8055,12 @@ nfsrpc_openlayoutrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, nfsm_strtom(nd, op->nfso_own->nfsow_owner, NFSV4CL_LOCKNAMELEN); NFSM_BUILD(tl, uint32_t *, 2 * NFSX_UNSIGNED); *tl++ = txdr_unsigned(NFSV4OPEN_NOCREATE); - *tl = txdr_unsigned(NFSV4OPEN_CLAIMNULL); - nfsm_strtom(nd, name, namelen); + if (NFSHASNFSV4N(nmp)) { + *tl = txdr_unsigned(NFSV4OPEN_CLAIMFH); + } else { + *tl = txdr_unsigned(NFSV4OPEN_CLAIMNULL); + nfsm_strtom(nd, name, namelen); + } NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(NFSV4OP_GETATTR); NFSZERO_ATTRBIT(&attrbits); diff --git a/sys/fs/nfsclient/nfs_clstate.c b/sys/fs/nfsclient/nfs_clstate.c index 74d6a14fc4c4..579210941802 100644 --- a/sys/fs/nfsclient/nfs_clstate.c +++ b/sys/fs/nfsclient/nfs_clstate.c @@ -4383,9 +4383,15 @@ nfscl_moveopen(vnode_t vp, struct nfsclclient *clp, struct nfsmount *nmp, nfscl_newopen(clp, NULL, &owp, NULL, &op, &nop, owp->nfsow_owner, lop->nfso_fh, lop->nfso_fhlen, cred, &newone); ndp = dp; - error = nfscl_tryopen(nmp, vp, np->n_v4->n4_data, np->n_v4->n4_fhlen, - lop->nfso_fh, lop->nfso_fhlen, lop->nfso_mode, op, - NFS4NODENAME(np->n_v4), np->n_v4->n4_namelen, &ndp, 0, 0, cred, p); + if (NFSHASNFSV4N(nmp)) + error = nfscl_tryopen(nmp, vp, lop->nfso_fh, lop->nfso_fhlen, + lop->nfso_fh, lop->nfso_fhlen, lop->nfso_mode, op, + NULL, 0, &ndp, 0, 0, cred, p); + else + error = nfscl_tryopen(nmp, vp, np->n_v4->n4_data, + np->n_v4->n4_fhlen, lop->nfso_fh, lop->nfso_fhlen, + lop->nfso_mode, op, NFS4NODENAME(np->n_v4), + np->n_v4->n4_namelen, &ndp, 0, 0, cred, p); if (error) { if (newone) nfscl_freeopen(op, 0, true); @@ -4476,14 +4482,16 @@ nfsrpc_reopen(struct nfsmount *nmp, u_int8_t *fhp, int fhlen, if (error) return (error); vp = NFSTOV(np); - if (np->n_v4 != NULL) { + if (NFSHASNFSV4N(nmp)) + error = nfscl_tryopen(nmp, vp, fhp, fhlen, fhp, fhlen, mode, op, + NULL, 0, dpp, 0, 0, cred, p); + else if (np->n_v4 != NULL) error = nfscl_tryopen(nmp, vp, np->n_v4->n4_data, np->n_v4->n4_fhlen, fhp, fhlen, mode, op, NFS4NODENAME(np->n_v4), np->n_v4->n4_namelen, dpp, 0, 0, cred, p); - } else { + else error = EINVAL; - } vrele(vp); return (error); } @@ -4500,18 +4508,43 @@ nfscl_tryopen(struct nfsmount *nmp, vnode_t vp, u_int8_t *fhp, int fhlen, int reclaim, u_int32_t delegtype, struct ucred *cred, NFSPROC_T *p) { int error; + struct nfscldeleg *dp; + bool try_busted_xdr; + dp = *ndpp; do { + *ndpp = dp; /* *ndpp needs to be set for retries. */ error = nfsrpc_openrpc(nmp, vp, fhp, fhlen, newfhp, newfhlen, mode, op, name, namelen, ndpp, reclaim, delegtype, cred, p, 0, 0); + try_busted_xdr = false; if (error == NFSERR_DELAY) (void) nfs_catnap(PZERO, error, "nfstryop"); - } while (error == NFSERR_DELAY); + else if (error == NFSERR_EXPIRED && NFSHASNFSV4N(nmp) && + reclaim == 0 && dp != NULL) { + /* This case is a Claim_Deleg_Cur_FH Open. */ + NFSLOCKMNT(nmp); + if ((nmp->nm_privflag & NFSMNTP_BUGGYFBSDSRV) == 0) { + /* + * Old FreeBSD NFSv4.1/4.2 servers erroneously + * expect a stateID argument for Open + * Claim_Deleg_Cur_FH and interpret the + * Getattr reply as a stateID. This results + * in an NFSERR_EXPIRED failure. + * Setting NFSMNTP_BUGGYFBSDSRV makes the Open + * send a stateID, in violation of RFC8881. + */ + try_busted_xdr = true; + nmp->nm_privflag |= NFSMNTP_BUGGYFBSDSRV; + } + NFSUNLOCKMNT(nmp); + } + } while (error == NFSERR_DELAY || try_busted_xdr); if (error == EAUTH || error == EACCES) { /* Try again using system credentials */ newnfs_setroot(cred); do { + *ndpp = dp; /* *ndpp needs to be set for retries. */ error = nfsrpc_openrpc(nmp, vp, fhp, fhlen, newfhp, newfhlen, mode, op, name, namelen, ndpp, reclaim, delegtype, cred, p, 1, 0); diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 383d45ba260b..63cb9eaec7b7 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -2052,14 +2052,6 @@ nfs_rename(struct vop_rename_args *ap) tdnp->n_fhp->nfh_len != fnp->n_v4->n4_fhlen || NFSBCMP(tdnp->n_fhp->nfh_fh, fnp->n_v4->n4_data, tdnp->n_fhp->nfh_len))) { -#ifdef notdef -{ char nnn[100]; int nnnl; -nnnl = (tcnp->cn_namelen < 100) ? tcnp->cn_namelen : 99; -bcopy(tcnp->cn_nameptr, nnn, nnnl); -nnn[nnnl] = '\0'; -printf("ren replace=%s\n",nnn); -} -#endif free(fnp->n_v4, M_NFSV4NODE); fnp->n_v4 = newv4; newv4 = NULL; @@ -2713,14 +2705,6 @@ nfs_lookitup(struct vnode *dvp, char *name, int len, struct ucred *cred, dnp->n_fhp->nfh_len != np->n_v4->n4_fhlen || NFSBCMP(dnp->n_fhp->nfh_fh, np->n_v4->n4_data, dnp->n_fhp->nfh_len))) { -#ifdef notdef -{ char nnn[100]; int nnnl; -nnnl = (len < 100) ? len : 99; -bcopy(name, nnn, nnnl); -nnn[nnnl] = '\0'; -printf("replace=%s\n",nnn); -} -#endif free(np->n_v4, M_NFSV4NODE); np->n_v4 = malloc( sizeof (struct nfsv4node) + diff --git a/sys/fs/nfsclient/nfsmount.h b/sys/fs/nfsclient/nfsmount.h index 37b84a015dab..7571add27b9c 100644 --- a/sys/fs/nfsclient/nfsmount.h +++ b/sys/fs/nfsclient/nfsmount.h @@ -124,6 +124,7 @@ struct nfsmount { #define NFSMNTP_DELEGISSUED 0x00000400 #define NFSMNTP_NODEALLOCATE 0x00000800 #define NFSMNTP_FAKEROOTFH 0x00001000 +#define NFSMNTP_BUGGYFBSDSRV 0x00002000 /* New mount flags only used by the kernel via nmount(2). */ #define NFSMNT_TLS 0x00000001 From nobody Tue Nov 21 23:59:47 2023 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 4SZhFJ1Wcgz51Lj8; Tue, 21 Nov 2023 23:59:48 +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 4SZhFJ127wz4XT2; Tue, 21 Nov 2023 23:59:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700611188; 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=jPBorzLVip8mfrL719V9um0KUh6nmeZ57AjW3ks03HI=; b=ZA96T/exFraknM0QZY01W+vodchkAUYkU3is3UKTrRYw5aI53BtzOBYgVTmXCAe6qc93w/ Xxqwah/ccccmEzSJEsqXnBQ+1BlDUrhdYDsDMAdxlSpOaVTTx15Ya7ZTM2Zh12OqA1pc43 E0Wk1iDsFRVj08Q2uN0zHgDjxx4LcTalGRaxMe5KjrqP1cqP9n/CeiM00/9CEbkMCZwXs+ P5cIb++ag6Tpf0h471FEt6nvZNs2/PgKCPl0nCOt32JSK9zdOQfWZ9vitnsKOaqJxmDzbj ZTvle0JU9ghuhEiuZfssqBkyYVVR1256Fs3xjbXQCSZfOR+Nk2/9/V6d1cXhfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700611188; 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=jPBorzLVip8mfrL719V9um0KUh6nmeZ57AjW3ks03HI=; b=Vyoh2h/zB1UFRkLfI5GYFPfddyaS5OpcPFxTbSiO+xny4z8yFdvHorwAe7AbQnvhZiFOci xyQemjoO20D3dxw7Mg1Uxi98lnKSXgHVqYX6mCQH/00euJ9CtnrinmvbbgHu/kNN8nvVt1 keDWYhTLwLyaz2hYYFcNAt8qqoDBTTlcmqdM+C6L2Miqxl3WZVaQlrx9mcWUkLOBd55yz4 8igVoPK87QSG8iRgNPaXg5F8QsIFSY5RnLNd6TBl5n9dXEGRsfJcwgvw45D9dKJv7HPc0r oT1OuJBFrTK4t7T5fXLV29hkF17cR33ZwyjlpuPSseTJP3tK7kVEfku/CSl0pA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700611188; a=rsa-sha256; cv=none; b=tdfXcqiFZhcHGYXgJQddamvOYFOFgaZv4zCuUu8jTvX0rShZNBGrNwbjmjmsjOOtyB6yQn 6yjjDK4E3z51ijc+E5xQgqLbk4IlcGMnkVVVbL1UOnoTscXX3g+kP7ETTg0IDfC32jWZGn Sr5C23UG+SdFpaSi1YZh0Aem+35N+UWBffJxK2aZ6JNvtyndd0Afs3yGDF0ELk/rgM8GvZ DEhY9HJZvD9ETun/VU+3mJhxy8aByEy1aluIE3Kr1h1icXCfizjXMn3IztcdsF6CZp3WuO GgBKC/QYiTpHSm8Im2/RcLd06sxMBeh0m30EW9XjeQS/ISFGI1WfvE/V3tIkLg== 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 4SZhFJ044BzwWC; Tue, 21 Nov 2023 23:59:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ALNxlGw081235; Tue, 21 Nov 2023 23:59:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ALNxlQ8081232; Tue, 21 Nov 2023 23:59:47 GMT (envelope-from git) Date: Tue, 21 Nov 2023 23:59:47 GMT Message-Id: <202311212359.3ALNxlQ8081232@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 55671098064f - stable/14 - nfscl: Handle a Getattr failure with NFSERR_DELAY following Open 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: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 55671098064f715ae106225513a7241bd6aa46b0 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=55671098064f715ae106225513a7241bd6aa46b0 commit 55671098064f715ae106225513a7241bd6aa46b0 Author: Rick Macklem AuthorDate: 2023-10-22 01:33:33 +0000 Commit: Rick Macklem CommitDate: 2023-11-21 23:57:43 +0000 nfscl: Handle a Getattr failure with NFSERR_DELAY following Open During testing at a recent IETF NFSv4 Bakeathon, a non-FreeBSD server was rebooted. After the reboot, the FreeBSD client sent an Open/Claim_previous with a Getattr after the Open in the same compound. The Open/Claim_previous was done to recover the Open and a Delegation for for a file. The Open succeeded, but the Getattr after the Open failed with NFSERR_DELAY. This resulted in the FreeBSD client retrying the entire RPC over and over again, until the server's recovery grace period ended. Since the Open succeeded, there was no need to retry the entire RPC. This patch modifies the NFSv4 client side recovery Open/Claim_previous RPC reply handling to deal with this case. With this patch, the Getattr reply of NFSERR_DELAY is ignored and the successful Open reply is processed. This bug will not normally affect users, since this non-FreeBSD server is not widely used (it may not even have shipped to any customers). (cherry picked from commit 14bbf4fe5abb20f1126168e66b03127ae920f78e) --- sys/fs/nfsclient/nfs_clrpcops.c | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index 5a16a28bd83e..207a51c4aece 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -609,7 +609,8 @@ nfsrpc_openrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, int fhlen, if (error) return (error); NFSCL_INCRSEQID(op->nfso_own->nfsow_seqid, nd); - if (!nd->nd_repstat) { + if (nd->nd_repstat == 0 || (nd->nd_repstat == NFSERR_DELAY && + reclaim != 0 && (nd->nd_flag & ND_NOMOREDATA) == 0)) { NFSM_DISSECT(tl, u_int32_t *, NFSX_STATEID + 6 * NFSX_UNSIGNED); op->nfso_stateid.seqid = *tl++; @@ -681,16 +682,29 @@ nfsrpc_openrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, int fhlen, goto nfsmout; } NFSM_DISSECT(tl, u_int32_t *, 2 * NFSX_UNSIGNED); - error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, - NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, - NULL, NULL, NULL, p, cred); - if (error) - goto nfsmout; + /* If the 2nd element == NFS_OK, the Getattr succeeded. */ + if (*++tl == 0) { + KASSERT(nd->nd_repstat == 0, + ("nfsrpc_openrpc: Getattr repstat")); + error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, + NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, + NULL, NULL, NULL, p, cred); + if (error) + goto nfsmout; + } if (ndp != NULL) { - ndp->nfsdl_change = nfsva.na_filerev; - ndp->nfsdl_modtime = nfsva.na_mtime; - ndp->nfsdl_flags |= NFSCLDL_MODTIMESET; + if (reclaim != 0 && dp != NULL) { + ndp->nfsdl_change = dp->nfsdl_change; + ndp->nfsdl_modtime = dp->nfsdl_modtime; + ndp->nfsdl_flags |= NFSCLDL_MODTIMESET; + } else if (nd->nd_repstat == 0) { + ndp->nfsdl_change = nfsva.na_filerev; + ndp->nfsdl_modtime = nfsva.na_mtime; + ndp->nfsdl_flags |= NFSCLDL_MODTIMESET; + } else + ndp->nfsdl_flags |= NFSCLDL_RECALL; } + nd->nd_repstat = 0; if (!reclaim && (rflags & NFSV4OPEN_RESULTCONFIRM)) { do { ret = nfsrpc_openconfirm(vp, newfhp, newfhlen, op, From nobody Wed Nov 22 00:04:32 2023 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 4SZhLm4mWBz51M15; Wed, 22 Nov 2023 00:04:32 +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 4SZhLm4D14z4Y6n; Wed, 22 Nov 2023 00:04:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700611472; 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=2RP++nWCGgw95fvvNigYMTScWbmXSQ5qpvjnfSG9rWQ=; b=KVAAC3fnJKYOYuS7tbBmBGkTh988LhYjPt09Pj6ZLhytJYFkUioo+/+OUJo2xJbRmNgGv4 ZM2xVr1K2m+Hxj/5XrKNIfT04lZGayPdNJdekrX3jFP9xZFszu8O9yv+4/y//LYC5OrkIi bbg4Iw6AUsk+wgJnw3DQN+vzIU2wj52pfTSEyv37kIAg4ykL/Z3uaiHbwSLIjVKRW0RUXG qtc0SjMqZ6QYqqoRG4nJ2gQS82/QScI0w1VVpHJTvzGsZw+0NnWo78EnPfs/64SWxN6F8b LvsUZUSNYFinojndM3masbVXjOxugkkSJCMwiRil6gANmYYliXynW4DzgLAx4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700611472; 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=2RP++nWCGgw95fvvNigYMTScWbmXSQ5qpvjnfSG9rWQ=; b=TUchdfxjM3+1lATNJMcQXzivrKPBAr0m/8sBRjYM529R/+pJ/r4qe4DYA0C/yndVofMB0N GUqCe5sliBwylODfX2I0fBGd96KXqCRGhRZpADjcTo9kk360WM666WlWDZok5F2TxgjeBS n5fQt95/ROd6rxX03I7egb3GU5RE98yG4Lbt+XlVF5CTbLNQ/iCewuYaL9jE2UEsknG3bC AJ/c0aHpt29Nh/T8Ng1eYCispYrqxCZZotuyK5Ws54URxFYY4btCwlj6PPaHUZBxW1LZMV k70RDep5AVb7AP+kX4Bk2xR/oqBCAgwOgz6MPeU7ip501Eva4+Zrdf4AC4PVZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700611472; a=rsa-sha256; cv=none; b=Y5FPQYeGJqkyK94pGSv30uFUT8ieeLFeyZVSQrQtpZJ8LxHBLVQAkplZ8yuWI1g8oPmXkR QUQgnGouRStBVg1nTpPJ49LXtbQEzFX7AM0mWaj+xq54tVvfij3SSSW6d0FHvCRfJztBdT c8dlCJR9RjqzP27DblUVnloz6xY9xSZIWuSm7areMlDq6WzdLIgrLW1kAvxn9IBMFT6WEg Air71itJ5OWFz+OKS4LKY8IdIKYx7PXVwEYd9ODs7m02tXFgRrqTfMoCC1A6aU5MOn1vNJ RmpW1+kwK/ARPeZEB3YIRqA+cN9Wy4So1SZitrD1TIwYy0KAhNZoahMeXbYJDA== 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 4SZhLm3H5wzwrS; Wed, 22 Nov 2023 00:04:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM04WYT098053; Wed, 22 Nov 2023 00:04:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM04Wm4098050; Wed, 22 Nov 2023 00:04:32 GMT (envelope-from git) Date: Wed, 22 Nov 2023 00:04:32 GMT Message-Id: <202311220004.3AM04Wm4098050@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 3ab7f15d9116 - stable/13 - nfscl: Handle a Getattr failure with NFSERR_DELAY following Open 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: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3ab7f15d91160b4ac3369f6c3bc696ba9bf88afc Auto-Submitted: auto-generated The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=3ab7f15d91160b4ac3369f6c3bc696ba9bf88afc commit 3ab7f15d91160b4ac3369f6c3bc696ba9bf88afc Author: Rick Macklem AuthorDate: 2023-10-22 01:33:33 +0000 Commit: Rick Macklem CommitDate: 2023-11-22 00:03:11 +0000 nfscl: Handle a Getattr failure with NFSERR_DELAY following Open During testing at a recent IETF NFSv4 Bakeathon, a non-FreeBSD server was rebooted. After the reboot, the FreeBSD client sent an Open/Claim_previous with a Getattr after the Open in the same compound. The Open/Claim_previous was done to recover the Open and a Delegation for for a file. The Open succeeded, but the Getattr after the Open failed with NFSERR_DELAY. This resulted in the FreeBSD client retrying the entire RPC over and over again, until the server's recovery grace period ended. Since the Open succeeded, there was no need to retry the entire RPC. This patch modifies the NFSv4 client side recovery Open/Claim_previous RPC reply handling to deal with this case. With this patch, the Getattr reply of NFSERR_DELAY is ignored and the successful Open reply is processed. This bug will not normally affect users, since this non-FreeBSD server is not widely used (it may not even have shipped to any customers). (cherry picked from commit 14bbf4fe5abb20f1126168e66b03127ae920f78e) --- sys/fs/nfsclient/nfs_clrpcops.c | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c index be702e703c91..569132aee43c 100644 --- a/sys/fs/nfsclient/nfs_clrpcops.c +++ b/sys/fs/nfsclient/nfs_clrpcops.c @@ -569,7 +569,8 @@ nfsrpc_openrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, int fhlen, if (error) return (error); NFSCL_INCRSEQID(op->nfso_own->nfsow_seqid, nd); - if (!nd->nd_repstat) { + if (nd->nd_repstat == 0 || (nd->nd_repstat == NFSERR_DELAY && + reclaim != 0 && (nd->nd_flag & ND_NOMOREDATA) == 0)) { NFSM_DISSECT(tl, u_int32_t *, NFSX_STATEID + 6 * NFSX_UNSIGNED); op->nfso_stateid.seqid = *tl++; @@ -641,16 +642,29 @@ nfsrpc_openrpc(struct nfsmount *nmp, vnode_t vp, u_int8_t *nfhp, int fhlen, goto nfsmout; } NFSM_DISSECT(tl, u_int32_t *, 2 * NFSX_UNSIGNED); - error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, - NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, - NULL, NULL, NULL, p, cred); - if (error) - goto nfsmout; + /* If the 2nd element == NFS_OK, the Getattr succeeded. */ + if (*++tl == 0) { + KASSERT(nd->nd_repstat == 0, + ("nfsrpc_openrpc: Getattr repstat")); + error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, + NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, + NULL, NULL, NULL, p, cred); + if (error) + goto nfsmout; + } if (ndp != NULL) { - ndp->nfsdl_change = nfsva.na_filerev; - ndp->nfsdl_modtime = nfsva.na_mtime; - ndp->nfsdl_flags |= NFSCLDL_MODTIMESET; + if (reclaim != 0 && dp != NULL) { + ndp->nfsdl_change = dp->nfsdl_change; + ndp->nfsdl_modtime = dp->nfsdl_modtime; + ndp->nfsdl_flags |= NFSCLDL_MODTIMESET; + } else if (nd->nd_repstat == 0) { + ndp->nfsdl_change = nfsva.na_filerev; + ndp->nfsdl_modtime = nfsva.na_mtime; + ndp->nfsdl_flags |= NFSCLDL_MODTIMESET; + } else + ndp->nfsdl_flags |= NFSCLDL_RECALL; } + nd->nd_repstat = 0; if (!reclaim && (rflags & NFSV4OPEN_RESULTCONFIRM)) { do { ret = nfsrpc_openconfirm(vp, newfhp, newfhlen, op, From nobody Wed Nov 22 00:10:39 2023 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 4SZhTq5yXrz51MNn; Wed, 22 Nov 2023 00:10:39 +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 4SZhTq5Y81z4YlF; Wed, 22 Nov 2023 00:10:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700611839; 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=A4J2a4cAyIFWjbY3z4GXMWikaLkw6vStZJ0YBdWYA1A=; b=qyGoT3gPczVr8hiYUJrGws10Ohkd0j3jbtnO3pHy7ESE6UVrUfKZ4dU3pGBuV1Qucykp7t epNNBm1VuGJOBL6M8wFgztOsJjc9wvoLNcNJlGBT0Bibolue9nayDabLkLxD+pFOcfQ9ig 9DaGiak0nT+zIrBgDYOj57HPtpi9KhytQ7tYVQ6ywVvWcQoG9Ggdovhs8XZrd/MGe+mnW/ /NloVYRUgVJeFzeXN+dIzB92jz2IDKZz01DsbzsZT04GoALjS05W2KzMtFLfscdcjFN/o9 XB1WT0VTi/ScI7kCsPTOFH+ZbliAzMnElD5HdgKFJkfZj0iqrRgBlXEE7c5w2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700611839; 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=A4J2a4cAyIFWjbY3z4GXMWikaLkw6vStZJ0YBdWYA1A=; b=GKil6x351Wb3gWkbPnUiMJIK2vaT4yG8URomiAV/DUeqcm1Je29UiDxA3840C5XmEfciSh nIC4bjiYsd7y7XiM4NGVYG+GyQZ2ZtOOqMThUWp+u56bMl3YCQ4Z2FBHpEaC6ijiV3WOHs Y7o12OZqGpDG0tNqpg3C9ce43tbxk3vRcI7lZ+f3ZIkF1I0vdeV5IXTBQgouY+CtIPT0Ju 2UX6dg0d8arn5eLf1E8zTj/c0LD+d1pJlWm/4rmjCvkoJwZxVodb9XK1dkNyOguOhN/1i6 aAyIkXrkcMBYAL/TCCQ233+sjOsG4vbAmq4wUcYJcxvj5RWMt8tpUi16HNyysA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700611839; a=rsa-sha256; cv=none; b=sRkaCM/SyZkKXkRMy9gW31P4p8RGz16bAMOCWpe/3zDnfbF7RiqPBD14Y3Eh4/sCdNdYEs kPSijmV5WCCxlt5+JaBJIkPHB38H3kj6X6WOcb5IAhDjyoDENhoGVYP98mDKmrmKfmsFxI rqOxb5shDZFT3VJYhX3XAhhnMuSvYJ8mvIgkxTRcjv//6HatxSr9Ag8x8hrC4wS22pRNcq AD321+Veg+qJXnz8rqdR1+txziysrZIoKiSGQEaiqNRXIT6Yt7koI/9B9/nQX5hoTAPVyv 9a48ziVR0QU5g2MNg9zgVkALu6gUKSeBywO6n/0U62sJYFF3AFOVJLoAXJKLPA== 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 4SZhTq4d5qzwWb; Wed, 22 Nov 2023 00:10:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM0Ads0007553; Wed, 22 Nov 2023 00:10:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM0Ad9J007549; Wed, 22 Nov 2023 00:10:39 GMT (envelope-from git) Date: Wed, 22 Nov 2023 00:10:39 GMT Message-Id: <202311220010.3AM0Ad9J007549@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 64d119ab5a36 - stable/14 - nfscl: newnfs_copycred() cannot be called when a mutex is held 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: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 64d119ab5a3600c45daf68a0eade19a5432e7563 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=64d119ab5a3600c45daf68a0eade19a5432e7563 commit 64d119ab5a3600c45daf68a0eade19a5432e7563 Author: Rick Macklem AuthorDate: 2023-11-06 22:25:30 +0000 Commit: Rick Macklem CommitDate: 2023-11-22 00:09:13 +0000 nfscl: newnfs_copycred() cannot be called when a mutex is held Since newnfs_copycred() calls crsetgroups() which in turn calls crextend() which might do a malloc(M_WAITOK), newnfs_copycred() cannot be called with a mutex held. Fortunately, the malloc() call is rarely done, since XU_GROUPS is 16 and the NFS client uses a maximum of 17 (only 17 groups will cause the malloc() to be called). Further, it is only a problem if the malloc() tries to sleep(). As such, this bug does not seem to have caused problems in practice. This patch fixes the one place in the NFS client where newnfs_copycred() is called while a mutex is held by moving the call to after where the mutex is released. Found by inspection while working on an experimental patch. (cherry picked from commit 501bdf3001190686bf55d9d333cb533858c2cf2f) --- sys/fs/nfsclient/nfs_clstate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfsclient/nfs_clstate.c b/sys/fs/nfsclient/nfs_clstate.c index 579210941802..ebc11efea637 100644 --- a/sys/fs/nfsclient/nfs_clstate.c +++ b/sys/fs/nfsclient/nfs_clstate.c @@ -526,6 +526,7 @@ nfscl_getstateid(vnode_t vp, u_int8_t *nfhp, int fhlen, u_int32_t mode, struct nfscldeleg *dp; struct nfsnode *np; struct nfsmount *nmp; + struct nfscred ncr; u_int8_t own[NFSV4CL_LOCKNAMELEN], lockown[NFSV4CL_LOCKNAMELEN]; int error; bool done; @@ -683,7 +684,7 @@ nfscl_getstateid(vnode_t vp, u_int8_t *nfhp, int fhlen, u_int32_t mode, * A read ahead or write behind is indicated by p == NULL. */ if (p == NULL) - newnfs_copycred(&op->nfso_cred, cred); + memcpy(&ncr, &op->nfso_cred, sizeof(ncr)); } /* @@ -697,6 +698,8 @@ nfscl_getstateid(vnode_t vp, u_int8_t *nfhp, int fhlen, u_int32_t mode, stateidp->other[1] = op->nfso_stateid.other[1]; stateidp->other[2] = op->nfso_stateid.other[2]; NFSUNLOCKCLSTATE(); + if (p == NULL) + newnfs_copycred(&ncr, cred); return (0); } From nobody Wed Nov 22 00:14:08 2023 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 4SZhYr6wR4z51MwC; Wed, 22 Nov 2023 00:14:08 +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 4SZhYr67JVz4Z8r; Wed, 22 Nov 2023 00:14:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700612048; 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=1iQZgh13K5UH7CTBGoLunDY0tbp/cjKJ7ORhgWbaYfI=; b=PNASlu840WI2s0t3pqN2UVKYL5cQIYie7AM7vg1Cr4Ey52uswwXrSVshT8DBgBhj+VGY3t n2cwYtHzphto7ph64B5W8/JpvqXMgXum2WyRSXDpxfBGuWOg/P6tccpUh4+e9P99KQM7kq xbgm1vqglpD5iEUXddh2bTEioIlayxBJASuDwl/JFM3SAKGculImyW7YC+YleqW7ep8j7O OixhPK9G6d6l4VN5km39HZpvUKiMU5Q0x/NH0nkm3iPIq3zbk9sxABHRlP6VIHF9QaiNvu 3XERh9BNO+dOmt6mYMWnRgTK6gnR6fx/q5HeXKIoDaplaQ2+7RUklzRRx1XNWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700612048; 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=1iQZgh13K5UH7CTBGoLunDY0tbp/cjKJ7ORhgWbaYfI=; b=jkptW69mfbaKZDAGq/KL7O2+/pIzvf/yQDapUtQbWxXT3tnsI2MzUJ/aCEy23jIB9fqtBm CO+Yfs3LbGz7ViccUYAzhtvVY1+irv5UajcLZH0zQt1KtPiPtvhd8UtTRK8y6yRfa8Qyi4 ZHlm606KtoL9jnY/sdN7V8XEfjrux/JBc0QyKTLE7qp46VUqWATTIO2tWYRlxAzKONYTNC IDH/RL6zzVCy/I/RE0N6puRvGdcjBaGWxE+Hz48U+269PXo4rAJEJVfKocqbgvPwXRrvMC KgtaG27k1Vp/yedgQLFrRdCR5R6wwyn9fgRpVso1Jtq6GFrIaGeqcGxcAZ41ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700612048; a=rsa-sha256; cv=none; b=U0WqH0gvQNGqk18J/1brSvwqGrphyxr2vRiHrtvv81tVQtZDVH7sPOdzbHE72Gfbuk3kud yiY3sK87Fve0UxgbrCEMYqh+7Q1NGk4R9qhpBFXpusPUqoDDykxs80EvtxmUxfFlNHnwQ8 8kS9B14aCLsVMLteHVMlrQR6r1zZ9m3V0O2/dLKnu/mtXg3ss9MXjEWZ5gHot+sIvIs7s/ 2TKIos4uNirtT1gUZI9yfp9AVUNrMIbCrjnM7ctvTRPEg96DkVrUu7sRnu1qrDjel7RJcn w365CdlWLZ7ViuU0WCe1WcRRU9fG/RQ3eFaDnmvBpt50z9S7V2WADmjW+79fww== 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 4SZhYr5Cv6zx1W; Wed, 22 Nov 2023 00:14:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM0E8Vv014347; Wed, 22 Nov 2023 00:14:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM0E89L014344; Wed, 22 Nov 2023 00:14:08 GMT (envelope-from git) Date: Wed, 22 Nov 2023 00:14:08 GMT Message-Id: <202311220014.3AM0E89L014344@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 2d8d914450da - stable/13 - nfscl: newnfs_copycred() cannot be called when a mutex is held 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: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2d8d914450da1f9b79a7b51c0970445fcd9f648f Auto-Submitted: auto-generated The branch stable/13 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=2d8d914450da1f9b79a7b51c0970445fcd9f648f commit 2d8d914450da1f9b79a7b51c0970445fcd9f648f Author: Rick Macklem AuthorDate: 2023-11-06 22:25:30 +0000 Commit: Rick Macklem CommitDate: 2023-11-22 00:13:25 +0000 nfscl: newnfs_copycred() cannot be called when a mutex is held Since newnfs_copycred() calls crsetgroups() which in turn calls crextend() which might do a malloc(M_WAITOK), newnfs_copycred() cannot be called with a mutex held. Fortunately, the malloc() call is rarely done, since XU_GROUPS is 16 and the NFS client uses a maximum of 17 (only 17 groups will cause the malloc() to be called). Further, it is only a problem if the malloc() tries to sleep(). As such, this bug does not seem to have caused problems in practice. This patch fixes the one place in the NFS client where newnfs_copycred() is called while a mutex is held by moving the call to after where the mutex is released. Found by inspection while working on an experimental patch. (cherry picked from commit 501bdf3001190686bf55d9d333cb533858c2cf2f) --- sys/fs/nfsclient/nfs_clstate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/fs/nfsclient/nfs_clstate.c b/sys/fs/nfsclient/nfs_clstate.c index 3d516a33934f..9ab0a29e9c5d 100644 --- a/sys/fs/nfsclient/nfs_clstate.c +++ b/sys/fs/nfsclient/nfs_clstate.c @@ -528,6 +528,7 @@ nfscl_getstateid(vnode_t vp, u_int8_t *nfhp, int fhlen, u_int32_t mode, struct nfscldeleg *dp; struct nfsnode *np; struct nfsmount *nmp; + struct nfscred ncr; u_int8_t own[NFSV4CL_LOCKNAMELEN], lockown[NFSV4CL_LOCKNAMELEN]; int error; bool done; @@ -685,7 +686,7 @@ nfscl_getstateid(vnode_t vp, u_int8_t *nfhp, int fhlen, u_int32_t mode, * A read ahead or write behind is indicated by p == NULL. */ if (p == NULL) - newnfs_copycred(&op->nfso_cred, cred); + memcpy(&ncr, &op->nfso_cred, sizeof(ncr)); } /* @@ -699,6 +700,8 @@ nfscl_getstateid(vnode_t vp, u_int8_t *nfhp, int fhlen, u_int32_t mode, stateidp->other[1] = op->nfso_stateid.other[1]; stateidp->other[2] = op->nfso_stateid.other[2]; NFSUNLOCKCLSTATE(); + if (p == NULL) + newnfs_copycred(&ncr, cred); return (0); } From nobody Wed Nov 22 01:51:49 2023 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 4SZkkZ0MR0z51W4C; Wed, 22 Nov 2023 01:51:50 +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 4SZkkY71jtz3HBq; Wed, 22 Nov 2023 01:51:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617910; 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=kyO7mPocSKUPuoi7vQQjjDfaV6ohwD6LsGoUH3SNJac=; b=JX7Nx7OCySzws9ENzMKkFO9+bAncOIQw6scTfxoHKvkEd4+WlLaklm8yBNb7XOIFvxFAXu UFmvHqVWbSmqYEpKu1uvmQ2bVBuA6bWns4VKIWKJPNRLIBEWtcdfkwktpzkYXe71fIA9gu uvJoYDnWb5171e4bjTNgZsrxjHwWZbohgu+T85q1MqoJpyk+hlmgYr1PFY3jvHKky+POd3 MTcNwVhcnW5XnJp98fhrLGvhMhY0g6ODYI8dA0WMu0NpIlckiGoMlWlNH84rCOPUpe8KoH tESy9VpohszEaan0uPtKpS4fJnEhqU4vQfx9SXiC+230TnUncDiQhRbK8q68AA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617910; 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=kyO7mPocSKUPuoi7vQQjjDfaV6ohwD6LsGoUH3SNJac=; b=nmnu/CXCtx8OSUh7SaRDay7wRXBwqRG8aV23HWUip8AKYK4TwMm+iggElwNNuoDMJklN7T bBgPOfer3XLw4Ek2ehU1kn2oNGLPxg3w/iAecn2ydFgd7+Wgd61/9NeOedcAqFQvmsXKjz P2BV78aXJOo6WKZMaMciqeNOUkfoMkcVbO5Tq8M1NCiC2wdyF6KO/i7X9kfnwWjH8p6QZK MHTCuyl96OQAFKQ8444+KoxmGjuPBsuuPVymD7VH87Z6Xoy5Vc79/Z5zSS9NcBQh7FpMKp JEE3pLFYAWaF0GpxDRgzdHzpjOZd4fFaGMTVD9/zzrw+ULDjSmHA+gMX0ITTDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617910; a=rsa-sha256; cv=none; b=iHm1dOKJPTQWmu9bVsWssNoIWdEhOFehG5VdoHQ3tuDDkZGhflwHej7hwRosqAFUQADg62 XI5vVIA0k51WoyWeu+1Y9M6Py7Q06vHrkswg3c4qDFLn+dyj6OtCF14snrRJpmj9mw3gDP SgM63iBjp2Zmh5Qk9YZ5WRkTFwUtxvcOApWQSvGAKZvfBXPbO6HWLad404WK80JfYPvCy0 /D15gH1BDHC02w2IF651RzSskyPM/IJjFoW6z0J11b0cWTN+sTyJebidB5pK6Mig6MIeUo jG79NjEmLHLayLuNXsKkKxupe+jmcJM7htaLNUioof/s6gInOV7KYbTiIn90Qg== 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 4SZkkY65KGz10KM; Wed, 22 Nov 2023 01:51:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1pnPJ076127; Wed, 22 Nov 2023 01:51:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1pnEZ076124; Wed, 22 Nov 2023 01:51:49 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:49 GMT Message-Id: <202311220151.3AM1pnEZ076124@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2b729c222d48 - stable/14 - mlx5: Add modify header support 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2b729c222d4821069c817c853f56826d065f7ac7 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2b729c222d4821069c817c853f56826d065f7ac7 commit 2b729c222d4821069c817c853f56826d065f7ac7 Author: Mark Bloch AuthorDate: 2023-02-19 08:41:24 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:27 +0000 mlx5: Add modify header support (cherry picked from commit e4f84168b3c8bf99297dda712b147906d463b20e) --- sys/dev/mlx5/fs.h | 6 ++ sys/dev/mlx5/mlx5_core/fs_core.h | 15 ++++ sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c | 73 ++++++++++++++++ sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 32 +++++++ sys/dev/mlx5/mlx5_ifc.h | 160 +++++++++++++++++++++++++++++++++- 5 files changed, 283 insertions(+), 3 deletions(-) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index b630ab22d465..db5ba1964845 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -228,4 +228,10 @@ bool fs_match_exact_mask( void *mask2); /**********end API for sniffer**********/ +struct mlx5_modify_hdr *mlx5_modify_header_alloc(struct mlx5_core_dev *dev, + enum mlx5_flow_namespace_type ns_type, + u8 num_actions, + void *modify_actions); +void mlx5_modify_header_dealloc(struct mlx5_core_dev *dev, + struct mlx5_modify_hdr *modify_hdr); #endif diff --git a/sys/dev/mlx5/mlx5_core/fs_core.h b/sys/dev/mlx5/mlx5_core/fs_core.h index c1033e24a20e..11b042863454 100644 --- a/sys/dev/mlx5/mlx5_core/fs_core.h +++ b/sys/dev/mlx5/mlx5_core/fs_core.h @@ -168,6 +168,11 @@ struct fs_client_priv_data { void *client_dst_data; }; +struct mlx5_modify_hdr { + enum mlx5_flow_namespace_type ns_type; + u32 id; +}; + void _fs_remove_node(struct kref *kref); #define fs_get_obj(v, _base) {v = container_of((_base), typeof(*v), base); } #define fs_get_parent(v, child) {v = (child)->base.parent ? \ @@ -295,4 +300,14 @@ int mlx5_cmd_update_root_ft(struct mlx5_core_dev *dev, int mlx5_init_fs(struct mlx5_core_dev *dev); void mlx5_cleanup_fs(struct mlx5_core_dev *dev); +void mlx5_fc_update_sampling_interval(struct mlx5_core_dev *dev, + unsigned long interval); + +int mlx5_cmd_modify_header_alloc(struct mlx5_core_dev *dev, + enum mlx5_flow_namespace_type namespace, + u8 num_actions, + void *modify_actions, + struct mlx5_modify_hdr *modify_hdr); +void mlx5_cmd_modify_header_dealloc(struct mlx5_core_dev *dev, + struct mlx5_modify_hdr *modify_hdr); #endif diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c index 75e48909aae6..214b4141a973 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c @@ -283,3 +283,76 @@ int mlx5_cmd_fs_delete_fte(struct mlx5_core_dev *dev, return err; } + +int mlx5_cmd_modify_header_alloc(struct mlx5_core_dev *dev, + enum mlx5_flow_namespace_type namespace, + u8 num_actions, + void *modify_actions, + struct mlx5_modify_hdr *modify_hdr) +{ + u32 out[MLX5_ST_SZ_DW(alloc_modify_header_context_out)] = {}; + int max_actions, actions_size, inlen, err; + void *actions_in; + u8 table_type; + u32 *in; + + switch (namespace) { + case MLX5_FLOW_NAMESPACE_FDB: + max_actions = MLX5_CAP_ESW_FLOWTABLE_FDB(dev, max_modify_header_actions); + table_type = FS_FT_FDB; + break; + case MLX5_FLOW_NAMESPACE_KERNEL: + case MLX5_FLOW_NAMESPACE_BYPASS: + max_actions = MLX5_CAP_FLOWTABLE_NIC_RX(dev, max_modify_header_actions); + table_type = FS_FT_NIC_RX; + break; + case MLX5_FLOW_NAMESPACE_ESW_INGRESS: + max_actions = MLX5_CAP_ESW_INGRESS_ACL(dev, max_modify_header_actions); + table_type = FS_FT_ESW_INGRESS_ACL; + break; + default: + return -EOPNOTSUPP; + } + + if (num_actions > max_actions) { + mlx5_core_warn(dev, "too many modify header actions %d, max supported %d\n", + num_actions, max_actions); + return -EOPNOTSUPP; + } + + actions_size = MLX5_UN_SZ_BYTES(set_add_copy_action_in_auto) * num_actions; + inlen = MLX5_ST_SZ_BYTES(alloc_modify_header_context_in) + actions_size; + + in = kzalloc(inlen, GFP_KERNEL); + if (!in) + return -ENOMEM; + + MLX5_SET(alloc_modify_header_context_in, in, opcode, + MLX5_CMD_OP_ALLOC_MODIFY_HEADER_CONTEXT); + MLX5_SET(alloc_modify_header_context_in, in, table_type, table_type); + MLX5_SET(alloc_modify_header_context_in, in, num_of_actions, num_actions); + + actions_in = MLX5_ADDR_OF(alloc_modify_header_context_in, in, actions); + memcpy(actions_in, modify_actions, actions_size); + + err = mlx5_cmd_exec(dev, in, inlen, out, sizeof(out)); + + modify_hdr->id = MLX5_GET(alloc_modify_header_context_out, out, modify_header_id); + kfree(in); + + return err; +} + +void mlx5_cmd_modify_header_dealloc(struct mlx5_core_dev *dev, + struct mlx5_modify_hdr *modify_hdr) +{ + u32 out[MLX5_ST_SZ_DW(dealloc_modify_header_context_out)] = {}; + u32 in[MLX5_ST_SZ_DW(dealloc_modify_header_context_in)] = {}; + + MLX5_SET(dealloc_modify_header_context_in, in, opcode, + MLX5_CMD_OP_DEALLOC_MODIFY_HEADER_CONTEXT); + MLX5_SET(dealloc_modify_header_context_in, in, modify_header_id, + modify_hdr->id); + + mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); +} diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index 734992be9de1..9e9febfe902e 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -2739,3 +2739,35 @@ free_list: mlx5_del_flow_rules_list(rules_list); return NULL; } + +struct mlx5_modify_hdr *mlx5_modify_header_alloc(struct mlx5_core_dev *dev, + enum mlx5_flow_namespace_type ns_type, + u8 num_actions, + void *modify_actions) +{ + struct mlx5_modify_hdr *modify_hdr; + int err; + + modify_hdr = kzalloc(sizeof(*modify_hdr), GFP_KERNEL); + if (!modify_hdr) + return ERR_PTR(-ENOMEM); + + modify_hdr->ns_type = ns_type; + err = mlx5_cmd_modify_header_alloc(dev, ns_type, num_actions, + modify_actions, modify_hdr); + if (err) { + kfree(modify_hdr); + return ERR_PTR(err); + } + + return modify_hdr; +} +EXPORT_SYMBOL(mlx5_modify_header_alloc); + +void mlx5_modify_header_dealloc(struct mlx5_core_dev *dev, + struct mlx5_modify_hdr *modify_hdr) +{ + mlx5_cmd_modify_header_dealloc(dev, modify_hdr); + kfree(modify_hdr); +} +EXPORT_SYMBOL(mlx5_modify_header_dealloc); diff --git a/sys/dev/mlx5/mlx5_ifc.h b/sys/dev/mlx5/mlx5_ifc.h index 5293a83f56d9..fcea7342532b 100644 --- a/sys/dev/mlx5/mlx5_ifc.h +++ b/sys/dev/mlx5/mlx5_ifc.h @@ -473,7 +473,8 @@ struct mlx5_ifc_flow_table_prop_layout_bits { u8 reserved_at_20[0x2]; u8 log_max_ft_size[0x6]; - u8 reserved_at_28[0x10]; + u8 log_max_modify_header_context[0x8]; + u8 max_modify_header_actions[0x8]; u8 max_ft_level[0x8]; u8 reserved_at_40[0x20]; @@ -2251,11 +2252,15 @@ struct mlx5_ifc_flow_context_bits { u8 reserved_4[0x8]; u8 flow_counter_list_size[0x18]; - u8 reserved_5[0x140]; + u8 reserved_5[0x20]; + + u8 modify_header_id[0x20]; + + u8 reserved_6[0x100]; struct mlx5_ifc_fte_match_param_bits match_value; - u8 reserved_6[0x600]; + u8 reserved_7[0x600]; union mlx5_ifc_dest_format_struct_flow_counter_list_auto_bits destination[0]; }; @@ -5199,6 +5204,155 @@ struct mlx5_ifc_query_eq_in_bits { u8 reserved_3[0x20]; }; +struct mlx5_ifc_set_action_in_bits { + u8 action_type[0x4]; + u8 field[0xc]; + u8 reserved_at_10[0x3]; + u8 offset[0x5]; + u8 reserved_at_18[0x3]; + u8 length[0x5]; + + u8 data[0x20]; +}; + +struct mlx5_ifc_add_action_in_bits { + u8 action_type[0x4]; + u8 field[0xc]; + u8 reserved_at_10[0x10]; + + u8 data[0x20]; +}; + +struct mlx5_ifc_copy_action_in_bits { + u8 action_type[0x4]; + u8 src_field[0xc]; + u8 reserved_at_10[0x3]; + u8 src_offset[0x5]; + u8 reserved_at_18[0x3]; + u8 length[0x5]; + + u8 reserved_at_20[0x4]; + u8 dst_field[0xc]; + u8 reserved_at_30[0x3]; + u8 dst_offset[0x5]; + u8 reserved_at_38[0x8]; +}; + +union mlx5_ifc_set_add_copy_action_in_auto_bits { + struct mlx5_ifc_set_action_in_bits set_action_in; + struct mlx5_ifc_add_action_in_bits add_action_in; + struct mlx5_ifc_copy_action_in_bits copy_action_in; + u8 reserved_at_0[0x40]; +}; + +enum { + MLX5_ACTION_TYPE_SET = 0x1, + MLX5_ACTION_TYPE_ADD = 0x2, + MLX5_ACTION_TYPE_COPY = 0x3, +}; + +enum { + MLX5_ACTION_IN_FIELD_OUT_SMAC_47_16 = 0x1, + MLX5_ACTION_IN_FIELD_OUT_SMAC_15_0 = 0x2, + MLX5_ACTION_IN_FIELD_OUT_ETHERTYPE = 0x3, + MLX5_ACTION_IN_FIELD_OUT_DMAC_47_16 = 0x4, + MLX5_ACTION_IN_FIELD_OUT_DMAC_15_0 = 0x5, + MLX5_ACTION_IN_FIELD_OUT_IP_DSCP = 0x6, + MLX5_ACTION_IN_FIELD_OUT_TCP_FLAGS = 0x7, + MLX5_ACTION_IN_FIELD_OUT_TCP_SPORT = 0x8, + MLX5_ACTION_IN_FIELD_OUT_TCP_DPORT = 0x9, + MLX5_ACTION_IN_FIELD_OUT_IP_TTL = 0xa, + MLX5_ACTION_IN_FIELD_OUT_UDP_SPORT = 0xb, + MLX5_ACTION_IN_FIELD_OUT_UDP_DPORT = 0xc, + MLX5_ACTION_IN_FIELD_OUT_SIPV6_127_96 = 0xd, + MLX5_ACTION_IN_FIELD_OUT_SIPV6_95_64 = 0xe, + MLX5_ACTION_IN_FIELD_OUT_SIPV6_63_32 = 0xf, + MLX5_ACTION_IN_FIELD_OUT_SIPV6_31_0 = 0x10, + MLX5_ACTION_IN_FIELD_OUT_DIPV6_127_96 = 0x11, + MLX5_ACTION_IN_FIELD_OUT_DIPV6_95_64 = 0x12, + MLX5_ACTION_IN_FIELD_OUT_DIPV6_63_32 = 0x13, + MLX5_ACTION_IN_FIELD_OUT_DIPV6_31_0 = 0x14, + MLX5_ACTION_IN_FIELD_OUT_SIPV4 = 0x15, + MLX5_ACTION_IN_FIELD_OUT_DIPV4 = 0x16, + MLX5_ACTION_IN_FIELD_OUT_FIRST_VID = 0x17, + MLX5_ACTION_IN_FIELD_OUT_IPV6_HOPLIMIT = 0x47, + MLX5_ACTION_IN_FIELD_METADATA_REG_A = 0x49, + MLX5_ACTION_IN_FIELD_METADATA_REG_B = 0x50, + MLX5_ACTION_IN_FIELD_METADATA_REG_C_0 = 0x51, + MLX5_ACTION_IN_FIELD_METADATA_REG_C_1 = 0x52, + MLX5_ACTION_IN_FIELD_METADATA_REG_C_2 = 0x53, + MLX5_ACTION_IN_FIELD_METADATA_REG_C_3 = 0x54, + MLX5_ACTION_IN_FIELD_METADATA_REG_C_4 = 0x55, + MLX5_ACTION_IN_FIELD_METADATA_REG_C_5 = 0x56, + MLX5_ACTION_IN_FIELD_METADATA_REG_C_6 = 0x57, + MLX5_ACTION_IN_FIELD_METADATA_REG_C_7 = 0x58, + MLX5_ACTION_IN_FIELD_OUT_TCP_SEQ_NUM = 0x59, + MLX5_ACTION_IN_FIELD_OUT_TCP_ACK_NUM = 0x5B, + MLX5_ACTION_IN_FIELD_IPSEC_SYNDROME = 0x5D, + MLX5_ACTION_IN_FIELD_OUT_EMD_47_32 = 0x6F, + MLX5_ACTION_IN_FIELD_OUT_EMD_31_0 = 0x70, +}; + +struct mlx5_ifc_alloc_modify_header_context_out_bits { + u8 status[0x8]; + u8 reserved_at_8[0x18]; + + u8 syndrome[0x20]; + + u8 modify_header_id[0x20]; + + u8 reserved_at_60[0x20]; +}; + +struct mlx5_ifc_alloc_modify_header_context_in_bits { + u8 opcode[0x10]; + u8 reserved_at_10[0x10]; + + u8 reserved_at_20[0x10]; + u8 op_mod[0x10]; + + u8 reserved_at_40[0x20]; + + u8 table_type[0x8]; + u8 reserved_at_68[0x10]; + u8 num_of_actions[0x8]; + + union mlx5_ifc_set_add_copy_action_in_auto_bits actions[]; +}; + +struct mlx5_ifc_dealloc_modify_header_context_out_bits { + u8 status[0x8]; + u8 reserved_at_8[0x18]; + + u8 syndrome[0x20]; + + u8 reserved_at_40[0x40]; +}; + +struct mlx5_ifc_dealloc_modify_header_context_in_bits { + u8 opcode[0x10]; + u8 reserved_at_10[0x10]; + + u8 reserved_at_20[0x10]; + u8 op_mod[0x10]; + + u8 modify_header_id[0x20]; + + u8 reserved_at_60[0x20]; +}; + +struct mlx5_ifc_query_modify_header_context_in_bits { + u8 opcode[0x10]; + u8 uid[0x10]; + + u8 reserved_at_20[0x10]; + u8 op_mod[0x10]; + + u8 modify_header_id[0x20]; + + u8 reserved_at_60[0xa0]; +}; + struct mlx5_ifc_query_dct_out_bits { u8 status[0x8]; u8 reserved_0[0x18]; From nobody Wed Nov 22 01:51:50 2023 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 4SZkkb2M6Zz51W3B; Wed, 22 Nov 2023 01:51:51 +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 4SZkkb1Gpvz3H6t; Wed, 22 Nov 2023 01:51:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617911; 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=JL56/fmzzNfaTU34YHjKwo1IvhISpi80Eyt2HLNylMM=; b=pbBjea37V7bbqZ+VCwRU3DjZsM7y87QlKSiwE1liEiWtP7IzOpatiYMpArrTzwpxpGQawM p1ObyvNOdXuF//8EvdZL+rdGyyEpiuEhAmWK5dpvEpmub2q165z8kAHUbjEdbWB+8Kzmz6 DX7DREX4C8yzhK2MLBo3zocTRRMUA1E4AX9So751MDnWZq1pGJbdwD7NJEFf/z2m3/HFvz 5sw6VogVJDruw1vmyWkOmUs/8ra68gM5Bqee+5AOSprW6v5AfJ/SJktdwNIwfxseo670wF lT+wwBjXc5O0pq617W3g5gXHVsh8ej0Et34u0nGdV2yI9xZsAjpZuLhNdx7rAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617911; 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=JL56/fmzzNfaTU34YHjKwo1IvhISpi80Eyt2HLNylMM=; b=IsFK1jRVlF9a1/vU963BxBLvEd936jZLwZ1+DGhdt93tqlkXCUtxl6RIh71OMUmV8zaGHE +/RaebOV8BNmIVhY5wiNi+A0+JZLjrIZkOwOsAK5UvwvIDDnqUBOknc3/Gkkzw0UNPmhR5 91lt90nGrb2RvNq3oeRdTh6s0HNCPmoDG1NGEjci8T64ymk7/Ba9KWbMz3yEiSkqeKd7Fb 7ZP69se/1yBIhjfpJRyymbud+9RL2mSY4rKLYHG1rOMdy4qha2MGhdW+u93WoE3EEmOBtW IhEUKwbz59RZuF+ppe/vgA/2A4r/UP0eGQNifn0AJrbUVsisBPX1B/1VVu3MuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617911; a=rsa-sha256; cv=none; b=ffc+ZHah7RHdUeXhWr82G+lQ8CaD0b4QkF9VQ6URBd8FtLaTRhbPh7+anSZF60CFkKAjBp KBpJXmjpGRbAPZxuztA1RWRRpyQn06UE1rTOqlje340gVj5n2p98aeC/9VlTz8PDrYty16 TlLocG1t1qWl+RZDTi12ujKiysif3gcGYB5cG8rnXet1M0LyB3Sn8YEhSp+NldTMKPfrsf +pNciiOh8F/mqEwserc9hbCnrCWATYzCy8Udt+cYv21Ja7erm+5Brd6nlvpEnnbdmgM2ML dN1zjtpAaW3gzm9jh9rLPHZ1x0JxQITI8UgGUtXBG9z/W2PrHWrE9aG7TJhpJw== 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 4SZkkb00xLz10KN; Wed, 22 Nov 2023 01:51:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1poDH076174; Wed, 22 Nov 2023 01:51:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1poqQ076171; Wed, 22 Nov 2023 01:51:50 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:50 GMT Message-Id: <202311220151.3AM1poqQ076171@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 87d86f3733a4 - stable/14 - mlx5: Add packet reformat allocation support 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 87d86f3733a4cdfb5777bc2b28bd11db93c7ab97 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=87d86f3733a4cdfb5777bc2b28bd11db93c7ab97 commit 87d86f3733a4cdfb5777bc2b28bd11db93c7ab97 Author: Mark Bloch AuthorDate: 2023-02-19 09:36:07 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:27 +0000 mlx5: Add packet reformat allocation support (cherry picked from commit bb4645b95b0b3976decb4e68934b2e5cc002c53d) --- sys/dev/mlx5/fs.h | 14 +++++++ sys/dev/mlx5/mlx5_core/fs_core.h | 12 ++++++ sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c | 72 +++++++++++++++++++++++++++++++ sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 33 +++++++++++++++ sys/dev/mlx5/mlx5_ifc.h | 79 +++++++++++++++++++++++++---------- 5 files changed, 187 insertions(+), 23 deletions(-) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index db5ba1964845..81384b43131d 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -234,4 +234,18 @@ struct mlx5_modify_hdr *mlx5_modify_header_alloc(struct mlx5_core_dev *dev, void *modify_actions); void mlx5_modify_header_dealloc(struct mlx5_core_dev *dev, struct mlx5_modify_hdr *modify_hdr); + +struct mlx5_pkt_reformat_params { + int type; + u8 param_0; + u8 param_1; + size_t size; + void *data; +}; + +struct mlx5_pkt_reformat *mlx5_packet_reformat_alloc(struct mlx5_core_dev *dev, + struct mlx5_pkt_reformat_params *params, + enum mlx5_flow_namespace_type ns_type); +void mlx5_packet_reformat_dealloc(struct mlx5_core_dev *dev, + struct mlx5_pkt_reformat *pkt_reformat); #endif diff --git a/sys/dev/mlx5/mlx5_core/fs_core.h b/sys/dev/mlx5/mlx5_core/fs_core.h index 11b042863454..bd7aade07876 100644 --- a/sys/dev/mlx5/mlx5_core/fs_core.h +++ b/sys/dev/mlx5/mlx5_core/fs_core.h @@ -173,6 +173,12 @@ struct mlx5_modify_hdr { u32 id; }; +struct mlx5_pkt_reformat { + enum mlx5_flow_namespace_type ns_type; + int reformat_type; /* from mlx5_ifc */ + u32 id; +}; + void _fs_remove_node(struct kref *kref); #define fs_get_obj(v, _base) {v = container_of((_base), typeof(*v), base); } #define fs_get_parent(v, child) {v = (child)->base.parent ? \ @@ -310,4 +316,10 @@ int mlx5_cmd_modify_header_alloc(struct mlx5_core_dev *dev, struct mlx5_modify_hdr *modify_hdr); void mlx5_cmd_modify_header_dealloc(struct mlx5_core_dev *dev, struct mlx5_modify_hdr *modify_hdr); +int mlx5_cmd_packet_reformat_alloc(struct mlx5_core_dev *dev, + struct mlx5_pkt_reformat_params *params, + enum mlx5_flow_namespace_type namespace, + struct mlx5_pkt_reformat *pkt_reformat); +void mlx5_cmd_packet_reformat_dealloc(struct mlx5_core_dev *dev, + struct mlx5_pkt_reformat *pkt_reformat); #endif diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c index 214b4141a973..7dcd32ed0c44 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c @@ -356,3 +356,75 @@ void mlx5_cmd_modify_header_dealloc(struct mlx5_core_dev *dev, mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); } + +int mlx5_cmd_packet_reformat_alloc(struct mlx5_core_dev *dev, + struct mlx5_pkt_reformat_params *params, + enum mlx5_flow_namespace_type namespace, + struct mlx5_pkt_reformat *pkt_reformat) +{ + u32 out[MLX5_ST_SZ_DW(alloc_packet_reformat_context_out)] = {}; + void *packet_reformat_context_in; + int max_encap_size; + void *reformat; + int inlen; + int err; + u32 *in; + + if (namespace == MLX5_FLOW_NAMESPACE_FDB) + max_encap_size = MLX5_CAP_ESW(dev, max_encap_header_size); + else + max_encap_size = MLX5_CAP_FLOWTABLE(dev, max_encap_header_size); + + if (params->size > max_encap_size) { + mlx5_core_warn(dev, "encap size %zd too big, max supported is %d\n", + params->size, max_encap_size); + return -EINVAL; + } + + in = kzalloc(MLX5_ST_SZ_BYTES(alloc_packet_reformat_context_in) + + params->size, GFP_KERNEL); + if (!in) + return -ENOMEM; + + packet_reformat_context_in = MLX5_ADDR_OF(alloc_packet_reformat_context_in, + in, packet_reformat_context); + reformat = MLX5_ADDR_OF(packet_reformat_context_in, + packet_reformat_context_in, + reformat_data); + inlen = reformat - (void *)in + params->size; + + MLX5_SET(alloc_packet_reformat_context_in, in, opcode, + MLX5_CMD_OP_ALLOC_PACKET_REFORMAT_CONTEXT); + MLX5_SET(packet_reformat_context_in, packet_reformat_context_in, + reformat_data_size, params->size); + MLX5_SET(packet_reformat_context_in, packet_reformat_context_in, + reformat_type, params->type); + MLX5_SET(packet_reformat_context_in, packet_reformat_context_in, + reformat_param_0, params->param_0); + MLX5_SET(packet_reformat_context_in, packet_reformat_context_in, + reformat_param_1, params->param_1); + if (params->data && params->size) + memcpy(reformat, params->data, params->size); + + err = mlx5_cmd_exec(dev, in, inlen, out, sizeof(out)); + + pkt_reformat->id = MLX5_GET(alloc_packet_reformat_context_out, + out, packet_reformat_id); + kfree(in); + + return err; +} + +void mlx5_cmd_packet_reformat_dealloc(struct mlx5_core_dev *dev, + struct mlx5_pkt_reformat *pkt_reformat) +{ + u32 out[MLX5_ST_SZ_DW(dealloc_packet_reformat_context_out)] = {}; + u32 in[MLX5_ST_SZ_DW(dealloc_packet_reformat_context_in)] = {}; + + MLX5_SET(dealloc_packet_reformat_context_in, in, opcode, + MLX5_CMD_OP_DEALLOC_PACKET_REFORMAT_CONTEXT); + MLX5_SET(dealloc_packet_reformat_context_in, in, packet_reformat_id, + pkt_reformat->id); + + mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); +} diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index 9e9febfe902e..358eb671de5a 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -2771,3 +2771,36 @@ void mlx5_modify_header_dealloc(struct mlx5_core_dev *dev, kfree(modify_hdr); } EXPORT_SYMBOL(mlx5_modify_header_dealloc); + +struct mlx5_pkt_reformat *mlx5_packet_reformat_alloc(struct mlx5_core_dev *dev, + struct mlx5_pkt_reformat_params *params, + enum mlx5_flow_namespace_type ns_type) +{ + struct mlx5_pkt_reformat *pkt_reformat; + int err; + + pkt_reformat = kzalloc(sizeof(*pkt_reformat), GFP_KERNEL); + if (!pkt_reformat) + return ERR_PTR(-ENOMEM); + + pkt_reformat->ns_type = ns_type; + pkt_reformat->reformat_type = params->type; + err = mlx5_cmd_packet_reformat_alloc(dev, params, ns_type, + pkt_reformat); + if (err) { + kfree(pkt_reformat); + return ERR_PTR(err); + } + + return pkt_reformat; +} +EXPORT_SYMBOL(mlx5_packet_reformat_alloc); + +void mlx5_packet_reformat_dealloc(struct mlx5_core_dev *dev, + struct mlx5_pkt_reformat *pkt_reformat) +{ + mlx5_cmd_packet_reformat_dealloc(dev, pkt_reformat); + kfree(pkt_reformat); +} +EXPORT_SYMBOL(mlx5_packet_reformat_dealloc); + diff --git a/sys/dev/mlx5/mlx5_ifc.h b/sys/dev/mlx5/mlx5_ifc.h index fcea7342532b..340e3b2e2d03 100644 --- a/sys/dev/mlx5/mlx5_ifc.h +++ b/sys/dev/mlx5/mlx5_ifc.h @@ -778,18 +778,40 @@ struct mlx5_ifc_snapshot_cap_bits { }; struct mlx5_ifc_e_switch_cap_bits { - u8 vport_svlan_strip[0x1]; - u8 vport_cvlan_strip[0x1]; - u8 vport_svlan_insert[0x1]; - u8 vport_cvlan_insert_if_not_exist[0x1]; - u8 vport_cvlan_insert_overwrite[0x1]; - - u8 reserved_0[0x19]; - - u8 nic_vport_node_guid_modify[0x1]; - u8 nic_vport_port_guid_modify[0x1]; + u8 vport_svlan_strip[0x1]; + u8 vport_cvlan_strip[0x1]; + u8 vport_svlan_insert[0x1]; + u8 vport_cvlan_insert_if_not_exist[0x1]; + u8 vport_cvlan_insert_overwrite[0x1]; + u8 reserved_at_5[0x1]; + u8 vport_cvlan_insert_always[0x1]; + u8 esw_shared_ingress_acl[0x1]; + u8 esw_uplink_ingress_acl[0x1]; + u8 root_ft_on_other_esw[0x1]; + u8 reserved_at_a[0xf]; + u8 esw_functions_changed[0x1]; + u8 reserved_at_1a[0x1]; + u8 ecpf_vport_exists[0x1]; + u8 counter_eswitch_affinity[0x1]; + u8 merged_eswitch[0x1]; + u8 nic_vport_node_guid_modify[0x1]; + u8 nic_vport_port_guid_modify[0x1]; + + u8 vxlan_encap_decap[0x1]; + u8 nvgre_encap_decap[0x1]; + u8 reserved_at_22[0x1]; + u8 log_max_fdb_encap_uplink[0x5]; + u8 reserved_at_21[0x3]; + u8 log_max_packet_reformat_context[0x5]; + u8 reserved_2b[0x6]; + u8 max_encap_header_size[0xa]; + + u8 reserved_at_40[0xb]; + u8 log_max_esw_sf[0x5]; + u8 esw_sf_base_id[0x10]; + + u8 reserved_at_60[0x7a0]; - u8 reserved_1[0x7e0]; }; struct mlx5_ifc_flow_table_eswitch_cap_bits { @@ -806,9 +828,18 @@ struct mlx5_ifc_flow_table_eswitch_cap_bits { struct mlx5_ifc_flow_table_nic_cap_bits { u8 nic_rx_multi_path_tirs[0x1]; - u8 nic_rx_multi_path_tirs_fts[0x1]; - u8 allow_sniffer_and_nic_rx_shared_tir[0x1]; - u8 reserved_at_3[0x1fd]; + u8 nic_rx_multi_path_tirs_fts[0x1]; + u8 allow_sniffer_and_nic_rx_shared_tir[0x1]; + u8 reserved_at_3[0x4]; + u8 sw_owner_reformat_supported[0x1]; + u8 reserved_at_8[0x18]; + + u8 encap_general_header[0x1]; + u8 reserved_at_21[0xa]; + u8 log_max_packet_reformat_context[0x5]; + u8 reserved_at_30[0x6]; + u8 max_encap_header_size[0xa]; + u8 reserved_at_40[0x1c0]; struct mlx5_ifc_flow_table_prop_layout_bits flow_table_properties_nic_receive; @@ -2252,7 +2283,7 @@ struct mlx5_ifc_flow_context_bits { u8 reserved_4[0x8]; u8 flow_counter_list_size[0x18]; - u8 reserved_5[0x20]; + u8 packet_reformat_id[0x20]; u8 modify_header_id[0x20]; @@ -2923,7 +2954,7 @@ enum { }; struct mlx5_ifc_flow_table_context_bits { - u8 encap_en[0x1]; + u8 reformat_en[0x1]; u8 decap_en[0x1]; u8 reserved_at_2[0x2]; u8 table_miss_action[0x4]; @@ -5404,15 +5435,17 @@ struct mlx5_ifc_query_dc_cnak_trace_in_bits { }; struct mlx5_ifc_packet_reformat_context_in_bits { - u8 reserved_at_0[0x5]; - u8 reformat_type[0x3]; - u8 reserved_at_8[0xe]; - u8 reformat_data_size[0xa]; + u8 reformat_type[0x8]; + u8 reserved_at_8[0x4]; + u8 reformat_param_0[0x4]; + u8 reserved_at_10[0x6]; + u8 reformat_data_size[0xa]; - u8 reserved_at_20[0x10]; - u8 reformat_data[2][0x8]; + u8 reformat_param_1[0x8]; + u8 reserved_at_28[0x8]; + u8 reformat_data[2][0x8]; - u8 more_reformat_data[0][0x8]; + u8 more_reformat_data[][0x8]; }; struct mlx5_ifc_query_packet_reformat_context_out_bits { From nobody Wed Nov 22 01:51:52 2023 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 4SZkkc4W0Wz51W4P; Wed, 22 Nov 2023 01:51:52 +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 4SZkkc2LsLz3HFw; Wed, 22 Nov 2023 01:51:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617912; 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=jQ388N0RgFt61K7ZhVXAWaEcrCtZPQOiIwQFkyHNyKc=; b=sLq6Foed+tlU03b+8mykN7Vd55TkAvokRbpnlzSz20dHkaoVdsnvN2VZtYV72Q6XUBTqx2 w3+CFko40KHL8p2gD09sJNaH7aEpfsdEKJj7EBXf/ZcM1EK264bSNoe2VEIOdtY05G9I6H JMzIKLP9aMB5S04RzoH/3ur1VrD7BhM4mwtJOFivf54k1fH3XC2NNrGh+JqtcmX9OqJlNf tlH4vkJJZgfBsIwufZnRBYf+LqLRTCXTbwAYlijDhEVux/LiWljmlB9TaxH0OJLWA+KFpy Oq3g8fuVbvTgQd/tTb/PS7bKR0ucMI4SCDt+4fUJDeo98idbXIEHlQffro0+ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617912; 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=jQ388N0RgFt61K7ZhVXAWaEcrCtZPQOiIwQFkyHNyKc=; b=elSjb8IlneL4QhQ7Sz42KW0EeFesfoBDf3RWnjbqWp+R1zJPo71VSLLlwTWzD8enk3pRH2 u92iJatOgt4F9vIbLWnAmxNCD3HBmtJZtp8ABbPA/zGK7S4O/t5THyx0oVVGwlt56w6Adq SFTBNYLIKIF7KboKk14WjwrJTM8/F/+WBS8Noj3Y+CfnJcukE1K17qD2Cogcx85l6M4UMB FzhWiZdjWMfQGiOp3GpY8jeMZps8QXL5KckTYYfsAOhHaZ8e5Tl/jco7MH3uOLKnHJ034t y8CME6/lriRCRdowVolA9k84fuR6NED5N3AtFI/LllurADg4N8zIbQziCS96lQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617912; a=rsa-sha256; cv=none; b=viFXzztUrxrAbeVCQBKp3p6VnEFT+WnrZyLRrcZcLkKo5a2SvIvgCR2iDI3O3J2HZOyTCu SubTuzL+CumWFaYSTlNJoip9I/U3q/QTLTo0YoYU9+xIScnpEVspdirNUbf4ubtPnAc3rM KBGAyd0ydH2DlzSMaNfwRqk10foA6YLXgiCwuOwGZ3AeHvvNviVkixwRYzoe50cRAqax34 VVGwbkaGXrKCfLW/SS3QAHA0RH+RMS/CY+QSu7a+9TsXB1ZSArqHNNmPttRh96s5AFfEoa Osrhj3X4ChZDbJyJYRpvO5vo4nz87O6brYr9OWNcyRbjZ5Pp5mu4esyxipefBQ== 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 4SZkkc0nXyz10MJ; Wed, 22 Nov 2023 01:51:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1pq3S076225; Wed, 22 Nov 2023 01:51:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1pqit076222; Wed, 22 Nov 2023 01:51:52 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:52 GMT Message-Id: <202311220151.3AM1pqit076222@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 08e7b322db02 - stable/14 - mlx5: Refactor flow actions into a struct 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 08e7b322db02329516e5d8adcec9df3c7b20774c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=08e7b322db02329516e5d8adcec9df3c7b20774c commit 08e7b322db02329516e5d8adcec9df3c7b20774c Author: Mark Bloch AuthorDate: 2023-02-19 10:47:50 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:27 +0000 mlx5: Refactor flow actions into a struct (cherry picked from commit cb054a493a95cbd5a4b00c693c3924622914c51a) --- sys/dev/mlx5/fs.h | 11 ++++- sys/dev/mlx5/mlx5_core/fs_core.h | 4 +- sys/dev/mlx5/mlx5_core/mlx5_eswitch.c | 11 +++-- sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c | 5 ++- sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c | 12 +++++- sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 58 +++++++++++++++++-------- sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c | 70 ++++++++++++++++++++----------- sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c | 6 ++- 8 files changed, 123 insertions(+), 54 deletions(-) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index 81384b43131d..7ed7a5380cf1 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -82,6 +82,15 @@ struct mlx5_flow_destination { }; }; +enum mlx5_flow_act_actions { + MLX5_FLOW_ACT_ACTIONS_FLOW_TAG = 1 << 0, +}; + +struct mlx5_flow_act { + u32 actions; /* See enum mlx5_flow_act_actions */ + u32 flow_tag; +}; + #define FT_NAME_STR_SZ 20 #define LEFTOVERS_RULE_NUM 2 static inline void build_leftovers_ft_param(char *name, @@ -154,7 +163,7 @@ mlx5_add_flow_rule(struct mlx5_flow_table *ft, u32 *match_criteria, u32 *match_value, u32 action, - u32 flow_tag, + struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest); void mlx5_del_flow_rule(struct mlx5_flow_rule **); diff --git a/sys/dev/mlx5/mlx5_core/fs_core.h b/sys/dev/mlx5/mlx5_core/fs_core.h index bd7aade07876..40c6cadf3223 100644 --- a/sys/dev/mlx5/mlx5_core/fs_core.h +++ b/sys/dev/mlx5/mlx5_core/fs_core.h @@ -78,9 +78,9 @@ struct fs_fte { struct fs_base base; u32 val[MLX5_ST_SZ_DW(fte_match_param)]; uint32_t dests_size; - uint32_t flow_tag; struct list_head dests; uint32_t index; /* index in ft */ + struct mlx5_flow_act flow_act; u8 action; /* MLX5_FLOW_CONTEXT_ACTION */ enum fs_fte_status status; }; @@ -290,7 +290,7 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, u32 *match_val, enum fs_ft_type type, unsigned int table_id, unsigned int index, unsigned int group_id, - unsigned int flow_tag, + struct mlx5_flow_act *flow_act, unsigned short action, int dest_size, struct list_head *dests); /* mlx5_flow_desination */ diff --git a/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c b/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c index 16e25df2b7ab..9f9350e0260b 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c @@ -221,6 +221,7 @@ esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u8 mac[ETH_ALEN], u32 vport) int match_header = MLX5_MATCH_OUTER_HEADERS; struct mlx5_flow_destination dest; struct mlx5_flow_rule *flow_rule = NULL; + struct mlx5_flow_act flow_act = {}; u32 *match_v; u32 *match_c; u8 *dmac_v; @@ -253,7 +254,7 @@ esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u8 mac[ETH_ALEN], u32 vport) match_c, match_v, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - 0, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(flow_rule)) { printf("mlx5_core: WARN: ""FDB: Failed to add flow rule: dmac_v(%pM) dmac_c(%pM) -> vport(%d), err(%ld)\n", dmac_v, dmac_c, vport, PTR_ERR(flow_rule)); flow_rule = NULL; @@ -783,6 +784,7 @@ static void esw_vport_disable_ingress_acl(struct mlx5_eswitch *esw, static int esw_vport_ingress_config(struct mlx5_eswitch *esw, struct mlx5_vport *vport) { + struct mlx5_flow_act flow_act = {}; struct mlx5_flow_destination dest; u32 *match_v; u32 *match_c; @@ -824,7 +826,7 @@ static int esw_vport_ingress_config(struct mlx5_eswitch *esw, match_c, match_v, MLX5_FLOW_CONTEXT_ACTION_DROP, - 0, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(vport->ingress.drop_rule)) { err = PTR_ERR(vport->ingress.drop_rule); printf("mlx5_core: WARN: ""vport[%d] configure ingress rules, err(%d)\n", vport->vport, err); @@ -839,6 +841,7 @@ out: static int esw_vport_egress_config(struct mlx5_eswitch *esw, struct mlx5_vport *vport) { + struct mlx5_flow_act flow_act = {}; struct mlx5_flow_destination dest; u32 *match_v; u32 *match_c; @@ -883,7 +886,7 @@ static int esw_vport_egress_config(struct mlx5_eswitch *esw, match_c, match_v, MLX5_FLOW_CONTEXT_ACTION_ALLOW, - 0, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(vport->egress.allowed_vlan)) { err = PTR_ERR(vport->egress.allowed_vlan); printf("mlx5_core: WARN: ""vport[%d] configure egress allowed vlan rule failed, err(%d)\n", vport->vport, err); @@ -900,7 +903,7 @@ static int esw_vport_egress_config(struct mlx5_eswitch *esw, match_c, match_v, MLX5_FLOW_CONTEXT_ACTION_DROP, - 0, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(vport->egress.drop_rule)) { err = PTR_ERR(vport->egress.drop_rule); printf("mlx5_core: WARN: ""vport[%d] configure egress drop rule failed, err(%d)\n", vport->vport, err); diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c index 7dcd32ed0c44..5ac0c95c7bca 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c @@ -164,7 +164,7 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, u32 *match_val, enum fs_ft_type type, unsigned int table_id, unsigned int index, unsigned int group_id, - unsigned int flow_tag, + struct mlx5_flow_act *flow_act, unsigned short action, int dest_size, struct list_head *dests) /* mlx5_flow_desination */ { @@ -219,7 +219,8 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, in_flow_context = MLX5_ADDR_OF(set_fte_in, in, flow_context); MLX5_SET(flow_context, in_flow_context, group_id, group_id); - MLX5_SET(flow_context, in_flow_context, flow_tag, flow_tag); + if (flow_act->actions & MLX5_FLOW_ACT_ACTIONS_FLOW_TAG) + MLX5_SET(flow_context, in_flow_context, flow_tag, flow_act->flow_tag); MLX5_SET(flow_context, in_flow_context, action, action); MLX5_SET(flow_context, in_flow_context, destination_list_size, dest_size); diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c index 2bdf01081650..69df9ecba210 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c @@ -98,6 +98,10 @@ mlx5e_accel_fs_add_inpcb(struct mlx5e_priv *priv, #endif struct mlx5_flow_rule *flow; struct mlx5_flow_spec *spec; + struct mlx5_flow_act flow_act = { + .actions = MLX5_FLOW_ACT_ACTIONS_FLOW_TAG, + .flow_tag = flow_tag, + }; spec = kvzalloc(sizeof(*spec), GFP_KERNEL); if (!spec) @@ -161,7 +165,7 @@ mlx5e_accel_fs_add_inpcb(struct mlx5e_priv *priv, spec->match_criteria, spec->match_value, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - flow_tag, + &flow_act, &dest); out: kvfree(spec); @@ -176,6 +180,10 @@ accel_fs_tcp_add_default_rule(struct mlx5e_priv *priv, int type) struct mlx5_flow_destination dest = {}; struct mlx5e_accel_fs_tcp *fs_tcp; struct mlx5_flow_rule *rule; + struct mlx5_flow_act flow_act = { + .actions = MLX5_FLOW_ACT_ACTIONS_FLOW_TAG, + .flow_tag = MLX5_FS_DEFAULT_FLOW_TAG, + }; fs_tcp = &priv->fts.accel_tcp; @@ -192,7 +200,7 @@ accel_fs_tcp_add_default_rule(struct mlx5e_priv *priv, int type) priv->fts.vlan.t : fs_tcp->tables[type + 1].t; rule = mlx5_add_flow_rule(fs_tcp->tables[type].t, 0, match_criteria, match_value, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_DEFAULT_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR(rule)) return (PTR_ERR(rule)); diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index 358eb671de5a..8e203a9662bb 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -303,7 +303,7 @@ static void fs_remove_node_parent_locked(struct fs_base *node) } static struct fs_fte *fs_alloc_fte(u8 action, - u32 flow_tag, + struct mlx5_flow_act *flow_act, u32 *match_value, unsigned int index) { @@ -317,9 +317,9 @@ static struct fs_fte *fs_alloc_fte(u8 action, memcpy(fte->val, match_value, sizeof(fte->val)); fte->base.type = FS_TYPE_FLOW_ENTRY; fte->dests_size = 0; - fte->flow_tag = flow_tag; fte->index = index; INIT_LIST_HEAD(&fte->dests); + fte->flow_act = *flow_act; fte->action = action; return fte; @@ -333,12 +333,16 @@ static struct fs_fte *alloc_star_ft_entry(struct mlx5_flow_table *ft, int err; struct fs_fte *fte; struct mlx5_flow_rule *dst; + struct mlx5_flow_act flow_act = { + .actions = MLX5_FLOW_ACT_ACTIONS_FLOW_TAG, + .flow_tag = MLX5_FS_DEFAULT_FLOW_TAG, + }; if (fg->num_ftes == fg->max_ftes) return ERR_PTR(-ENOSPC); fte = fs_alloc_fte(MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_DEFAULT_FLOW_TAG, match_value, index); + &flow_act, match_value, index); if (IS_ERR(fte)) return fte; @@ -442,7 +446,7 @@ static int fs_set_star_rule(struct mlx5_core_dev *dev, match_value, src_ft->type, src_ft->id, src_fte->index, src_ft->star_rule.fg->id, - src_fte->flow_tag, + &src_fte->flow_act, src_fte->action, src_fte->dests_size, &src_fte->dests); @@ -1583,7 +1587,7 @@ static struct mlx5_flow_rule *_fs_add_dst_fte(struct fs_fte *fte, ft->vport, &fte->status, fte->val, ft->type, - ft->id, fte->index, fg->id, fte->flow_tag, + ft->id, fte->index, fg->id, &fte->flow_act, fte->action, fte->dests_size, &fte->dests); if (err) goto free_dst; @@ -1647,14 +1651,14 @@ static unsigned int fs_get_free_fg_index(struct mlx5_flow_group *fg, static struct fs_fte *fs_create_fte(struct mlx5_flow_group *fg, u32 *match_value, u8 action, - u32 flow_tag, + struct mlx5_flow_act *flow_act, struct list_head **prev) { struct fs_fte *fte; int index = 0; index = fs_get_free_fg_index(fg, prev); - fte = fs_alloc_fte(action, flow_tag, match_value, index); + fte = fs_alloc_fte(action, flow_act, match_value, index); if (IS_ERR(fte)) return fte; @@ -1704,7 +1708,7 @@ static void fs_del_dst(struct mlx5_flow_rule *dst) err = mlx5_cmd_fs_set_fte(dev, ft->vport, &fte->status, match_value, ft->type, ft->id, fte->index, fg->id, - fte->flow_tag, fte->action, + &fte->flow_act, fte->action, fte->dests_size, &fte->dests); if (err) { mlx5_core_warn(dev, "%s can't delete dst %s\n", @@ -1740,12 +1744,31 @@ static void fs_del_fte(struct fs_fte *fte) fg->num_ftes--; } +static bool check_conflicting_actions(const struct mlx5_flow_act *act1, + const struct mlx5_flow_act *act2) +{ + u32 action1 = act1->actions; + u32 action2 = act2->actions; + u32 xored_actions; + + xored_actions = action1 ^ action2; + + if (xored_actions & (MLX5_FLOW_ACT_ACTIONS_FLOW_TAG)) + return true; + + if (action1 & MLX5_FLOW_ACT_ACTIONS_FLOW_TAG && + act1->flow_tag != act2->flow_tag) + return true; + + return false; +} + /* assuming parent fg is locked */ /* Add dst algorithm */ static struct mlx5_flow_rule *fs_add_dst_fg(struct mlx5_flow_group *fg, u32 *match_value, u8 action, - u32 flow_tag, + struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest) { struct fs_fte *fte; @@ -1759,7 +1782,8 @@ static struct mlx5_flow_rule *fs_add_dst_fg(struct mlx5_flow_group *fg, /* TODO: Check of size against PRM max size */ mutex_lock(&fte->base.lock); if (fs_match_exact_val(&fg->mask, match_value, &fte->val) && - action == fte->action && flow_tag == fte->flow_tag) { + action == fte->action && + !check_conflicting_actions(flow_act, &fte->flow_act)) { dst = _fs_add_dst_fte(fte, fg, dest); mutex_unlock(&fte->base.lock); if (IS_ERR(dst)) @@ -1775,7 +1799,7 @@ static struct mlx5_flow_rule *fs_add_dst_fg(struct mlx5_flow_group *fg, goto unlock_fg; } - fte = fs_create_fte(fg, match_value, action, flow_tag, &prev); + fte = fs_create_fte(fg, match_value, action, flow_act, &prev); if (IS_ERR(fte)) { dst = (void *)fte; goto unlock_fg; @@ -1803,7 +1827,8 @@ static struct mlx5_flow_rule *fs_add_dst_ft(struct mlx5_flow_table *ft, u8 match_criteria_enable, u32 *match_criteria, u32 *match_value, - u8 action, u32 flow_tag, + u8 action, + struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest) { /*? where dst_entry is allocated*/ @@ -1819,8 +1844,7 @@ static struct mlx5_flow_rule *fs_add_dst_ft(struct mlx5_flow_table *ft, match_criteria)) { mutex_unlock(&ft->base.lock); - dst = fs_add_dst_fg(g, match_value, - action, flow_tag, dest); + dst = fs_add_dst_fg(g, match_value, action, flow_act, dest); if (PTR_ERR(dst) && PTR_ERR(dst) != -ENOSPC) goto unlock; } @@ -1833,7 +1857,7 @@ static struct mlx5_flow_rule *fs_add_dst_ft(struct mlx5_flow_table *ft, } dst = fs_add_dst_fg(g, match_value, - action, flow_tag, dest); + action, flow_act, dest); if (IS_ERR(dst)) { /* Remove assumes refcount > 0 and autogroup creates a group * with a refcount = 0. @@ -1854,7 +1878,7 @@ mlx5_add_flow_rule(struct mlx5_flow_table *ft, u32 *match_criteria, u32 *match_value, u32 action, - u32 flow_tag, + struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest) { struct mlx5_flow_rule *dst; @@ -1864,7 +1888,7 @@ mlx5_add_flow_rule(struct mlx5_flow_table *ft, if (ns) down_read(&ns->dests_rw_sem); dst = fs_add_dst_ft(ft, match_criteria_enable, match_criteria, - match_value, action, flow_tag, dest); + match_value, action, flow_act, dest); if (ns) up_read(&ns->dests_rw_sem); diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c b/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c index 8167c3062100..cb23b80deae4 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c @@ -261,6 +261,10 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, u32 *tirn = priv->tirn; u32 tt_vec; int err = 0; + struct mlx5_flow_act flow_act = { + .actions = MLX5_FLOW_ACT_ACTIONS_FLOW_TAG, + .flow_tag = MLX5_FS_ETH_FLOW_TAG, + }; dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR; @@ -290,7 +294,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, dest.tir_num = tirn[MLX5E_TT_ANY]; *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -305,7 +309,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -317,7 +321,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -332,7 +336,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -344,7 +348,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -358,7 +362,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -370,7 +374,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -384,7 +388,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -396,7 +400,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -410,7 +414,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -422,7 +426,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, &dest); + &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; } @@ -486,6 +490,10 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) struct mlx5_flow_rule **rule_p; struct mlx5_flow_table *ft = priv->fts.main_vxlan.t; u32 *tirn = priv->tirn_inner_vxlan; + struct mlx5_flow_act flow_act = { + .actions = MLX5_FLOW_ACT_ACTIONS_FLOW_TAG, + .flow_tag = MLX5_FS_ETH_FLOW_TAG, + }; int err = 0; dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR; @@ -497,7 +505,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -505,7 +513,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV6]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -516,7 +524,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4_UDP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -524,7 +532,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV6_UDP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -534,7 +542,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4_TCP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -542,7 +550,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV6_TCP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -552,7 +560,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4_IPSEC_AH]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -560,7 +568,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV6_IPSEC_AH]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -570,7 +578,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4_IPSEC_ESP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -579,7 +587,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -589,7 +597,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) rule_p = &priv->fts.main_vxlan_rule[MLX5E_TT_ANY]; dest.tir_num = tirn[MLX5E_TT_ANY]; *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -686,6 +694,10 @@ mlx5e_add_vlan_rule_sub(struct mlx5e_priv *priv, u8 mc_enable = 0; struct mlx5_flow_rule **rule_p; int err = 0; + struct mlx5_flow_act flow_act = { + .actions = MLX5_FLOW_ACT_ACTIONS_FLOW_TAG, + .flow_tag = MLX5_FS_ETH_FLOW_TAG, + }; dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; dest.ft = priv->fts.vxlan.t; @@ -719,7 +731,7 @@ mlx5e_add_vlan_rule_sub(struct mlx5e_priv *priv, *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, - MLX5_FS_ETH_FLOW_TAG, + &flow_act, &dest); if (IS_ERR(*rule_p)) { @@ -1679,6 +1691,10 @@ mlx5e_add_vxlan_rule_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv, u8 mc_enable; struct mlx5_flow_rule **rule_p; int err = 0; + struct mlx5_flow_act flow_act = { + .actions = MLX5_FLOW_ACT_ACTIONS_FLOW_TAG, + .flow_tag = MLX5_FS_ETH_FLOW_TAG, + }; dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; dest.ft = priv->fts.main_vxlan.t; @@ -1693,7 +1709,7 @@ mlx5e_add_vxlan_rule_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv, MLX5_SET(fte_match_param, mv, outer_headers.udp_dport, el->port); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR(*rule_p)) { err = PTR_ERR(*rule_p); @@ -1809,13 +1825,17 @@ mlx5e_add_vxlan_catchall_rule_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) u8 mc_enable = 0; struct mlx5_flow_rule **rule_p; int err = 0; + struct mlx5_flow_act flow_act = { + .actions = MLX5_FLOW_ACT_ACTIONS_FLOW_TAG, + .flow_tag = MLX5_FS_ETH_FLOW_TAG, + }; dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; dest.ft = priv->fts.main.t; rule_p = &priv->fts.vxlan_catchall_ft_rule; *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, MLX5_FS_ETH_FLOW_TAG, &dest); + MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); if (IS_ERR(*rule_p)) { err = PTR_ERR(*rule_p); diff --git a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c index 1b02c8741a56..dc5396d348c5 100644 --- a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c +++ b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c @@ -2180,6 +2180,10 @@ static struct mlx5_ib_flow_handler *create_flow_rule(struct mlx5_ib_dev *dev, struct mlx5_flow_spec *spec; const void *ib_flow = (const void *)flow_attr + sizeof(*flow_attr); unsigned int spec_index; + struct mlx5_flow_act flow_act = { + .actions = MLX5_FLOW_ACT_ACTIONS_FLOW_TAG, + .flow_tag = MLX5_FS_DEFAULT_FLOW_TAG, + }; u32 action; int err = 0; @@ -2211,7 +2215,7 @@ static struct mlx5_ib_flow_handler *create_flow_rule(struct mlx5_ib_dev *dev, spec->match_criteria, spec->match_value, action, - MLX5_FS_DEFAULT_FLOW_TAG, + &flow_act, dst); if (IS_ERR(handler->rule)) { From nobody Wed Nov 22 01:51:53 2023 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 4SZkkd3srpz51WK9; Wed, 22 Nov 2023 01:51:53 +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 4SZkkd206qz3HCx; Wed, 22 Nov 2023 01:51:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617913; 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=pBf6UAnQ6nnY9njT+ReoBrN+tnd0Zx6PX4VG8dDIKfg=; b=M2BZibz/3+PjsxO24QsxXWY6uUP25z98It5n0kJbiHgJ2IgxW1xVrWB9ugAvCz3t+ZltS0 cg/L8IpCtsCGZAjZGLnwbWRymuhpUCvznfMttmPfXvZJM74itLTTEfsUvXojFGnJF/JtWV Ob2ymp3A2vEgr/xZAJyXIfs6gJtN5Ae40tZjNzARuRH2C4IN693hmbsJHUpL0JQaSmDXQL 5hZYSX2Jb38tce7ThQOpf/dMPJV6McVDw7Py+jMhWyREUIMN16wE+RuKdDHLysefMlxWhS qXKtoTOYwb8QK99Tg4/jCXQ4sddsaawDcq2HaO0FwlI8IViRYw8NC0yFb562UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617913; 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=pBf6UAnQ6nnY9njT+ReoBrN+tnd0Zx6PX4VG8dDIKfg=; b=APhySFJ8wutrCS9CkuObyy1lOTD/QCgAx7p0uh8KE8Z+g+mIZOP+gtbz80qorrq7zyxY09 H48TaC+QmiTGcYNIxmfcbsptkaz605uKF76vfXcgn1Frg9fZmEiZIAvuJXFEBWkeLbYasO Rw8GD+JavaYy+zE8UzQXH7W3q7EJ8iVJKahzc9PgynSwR7MIYm1VVc5ZLHhqx0MG8wYhPG Up9yojw09PkIEUqbmtdld9tjG9Lkwk609AG6WsvzDOiopkDludsPb+onLT/G9wGxnDyfzG u+V5ZR6LwESiaKO8JRzfJUZjGcZtCNQusyDYsce+lZspDowTDpD41G2urKeSvA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617913; a=rsa-sha256; cv=none; b=OeFFbDmj5DIc+y3Agne2CTvHHfMIMS+gTz00twptRvC2iwn28b/bg74f0DQPqrNcU/F1m1 fJ5Kl+2+XCkVeW1Va/xHQ8O8mGudwqJ6HJBNBAgjMg8YGU8TVxQqFZDcG+UxxsXW6WAkDj 9xP5Rs40a0IGQ677NSFu7JZ+XGKZg4BM6ev60nD4YCogC4Sprz8catcA+nv96sRzp1ZtqE Uo3dktt4uYrzQN5PLV+9eyKZYxtZYQ0nrLowRgo0mIWjO/jVAeI0+ijDNeOOI3zA7fXzv1 aXjkqDa0tMrkm0SH6ge1t19y4ZhTVgwwtFhnEF4O2DDjNvi1LofaKxsGbBN+vw== 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 4SZkkd166Tz102x; Wed, 22 Nov 2023 01:51:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1prgH076746; Wed, 22 Nov 2023 01:51:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1pr1L076718; Wed, 22 Nov 2023 01:51:53 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:53 GMT Message-Id: <202311220151.3AM1pr1L076718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 8895a0509698 - stable/14 - mlx5: Add modify header support to flow rules 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8895a0509698f29bb234a186590e3f08970a34d9 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8895a0509698f29bb234a186590e3f08970a34d9 commit 8895a0509698f29bb234a186590e3f08970a34d9 Author: Mark Bloch AuthorDate: 2023-02-19 11:15:00 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:27 +0000 mlx5: Add modify header support to flow rules (cherry picked from commit 847542c60c2b3d922d636cc36ce51714032f9825) --- sys/dev/mlx5/fs.h | 2 ++ sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c | 9 ++++++++- sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 4 ++++ sys/dev/mlx5/mlx5_ifc.h | 1 + 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index 7ed7a5380cf1..bb087718d12f 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -84,11 +84,13 @@ struct mlx5_flow_destination { enum mlx5_flow_act_actions { MLX5_FLOW_ACT_ACTIONS_FLOW_TAG = 1 << 0, + MLX5_FLOW_ACT_ACTIONS_MODIFY_HDR = 1 << 1, }; struct mlx5_flow_act { u32 actions; /* See enum mlx5_flow_act_actions */ u32 flow_tag; + struct mlx5_modify_hdr *modify_hdr; }; #define FT_NAME_STR_SZ 20 diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c index 5ac0c95c7bca..22bc945a4b62 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c @@ -179,10 +179,12 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, int opmod = 0; int modify_mask = 0; int atomic_mod_cap; + u32 prm_action = 0; if (action != MLX5_FLOW_CONTEXT_ACTION_FWD_DEST) dest_size = 0; + prm_action = action; inlen = MLX5_ST_SZ_BYTES(set_fte_in) + dest_size * MLX5_ST_SZ_BYTES(dest_format_struct); @@ -221,7 +223,11 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, MLX5_SET(flow_context, in_flow_context, group_id, group_id); if (flow_act->actions & MLX5_FLOW_ACT_ACTIONS_FLOW_TAG) MLX5_SET(flow_context, in_flow_context, flow_tag, flow_act->flow_tag); - MLX5_SET(flow_context, in_flow_context, action, action); + if (flow_act->actions & MLX5_FLOW_ACT_ACTIONS_MODIFY_HDR) { + MLX5_SET(flow_context, in_flow_context, modify_header_id, + flow_act->modify_hdr->id); + prm_action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; + } MLX5_SET(flow_context, in_flow_context, destination_list_size, dest_size); in_match_value = MLX5_ADDR_OF(flow_context, in_flow_context, @@ -244,6 +250,7 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, } } + MLX5_SET(flow_context, in_flow_context, action, prm_action); err = mlx5_cmd_exec(dev, in, inlen, out, sizeof(out)); if (!err) *fte_status |= FS_FTE_STATUS_EXISTING; diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index 8e203a9662bb..7c3eb1e86d6d 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -1760,6 +1760,10 @@ static bool check_conflicting_actions(const struct mlx5_flow_act *act1, act1->flow_tag != act2->flow_tag) return true; + /* Can even have complex actions in merged rules */ + if (action1 & MLX5_FLOW_ACT_ACTIONS_MODIFY_HDR) + return true; + return false; } diff --git a/sys/dev/mlx5/mlx5_ifc.h b/sys/dev/mlx5/mlx5_ifc.h index 340e3b2e2d03..9534ac3d1c94 100644 --- a/sys/dev/mlx5/mlx5_ifc.h +++ b/sys/dev/mlx5/mlx5_ifc.h @@ -2264,6 +2264,7 @@ enum { MLX5_FLOW_CONTEXT_ACTION_DROP = 0x2, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST = 0x4, MLX5_FLOW_CONTEXT_ACTION_COUNT = 0x8, + MLX5_FLOW_CONTEXT_ACTION_MOD_HDR = 0x40, }; struct mlx5_ifc_flow_context_bits { From nobody Wed Nov 22 01:51:54 2023 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 4SZkkf4NRWz51WKD; Wed, 22 Nov 2023 01:51:54 +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 4SZkkf3NBpz3HRX; Wed, 22 Nov 2023 01:51:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617914; 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=BYBsCbv7ckmny9WQaEPpnBhmlfsY9WQI/ELH526sQZY=; b=oKvFQxSO9QT8CV2hI0PXNa9ZnO7nf8g/wD8saFmoUBw7NEBBoiBdiLRGqQqnN/OfIdjaou g37SHKakLYDzXEsDp7jhZE//TcH2+gDPvrrVNvJ3xe/2Ywy84rpdVtlx0MgetBHiSP8cUa 364eIQne9uk+QMnBpxrBLO64DrscqUb8onYVqfYScJ761uz5O1g/Was8ghuGu3Lh/WIg25 UkciATNcwvvz4Ov7k42CTJ3zWS4zHfDzFzXe3+5eX4A8I6PmgBScZA8biUoXpmFv7MG2Ic UyjT/g2JZVnCj6M8oKx/dlQQfoKGiZf4cLaNECAly/4SvAF2Ca2nRuUFfEKNXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617914; 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=BYBsCbv7ckmny9WQaEPpnBhmlfsY9WQI/ELH526sQZY=; b=N6x2+7e8cbrqxykdw6Zov2N7vA3/pwnYhswKV050TUfcAMUoMFUq6eKe52xItjsiH4B8Ot KrjQPQ1Nmz8vvGSpR4aDgfQ/fnp1CV0PhQ1ZjZeybZWIpXUek7TzyGRpC75gtlqJJyps8S 5bB8jFqSebXUTiIKNC/pOou+rKHdKNi6+I1afkgyfgvvzNdfgpiHsCPynTk9zemzptp9Az 5/rRLyAe/FTwjw+ZvDIeO7EY6mxNxfxNPyDtxoG5v3cHDte31LezqfDkyoDJ9jSWe312pB qnydG8c/8nYukoBZePgkYpQz89H2EIdW3LK77JlLr2l1egEv7VBCSKOinizCXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617914; a=rsa-sha256; cv=none; b=bfcANXM6S7gRcOKmmZVfNK3Jwmo4q/WM96JlGeOEdp8Zq+pAdiB95u5PjVelrCi3NnIqa2 bCyk3PxcBaU6uWhOuKQG7qsYA3QsiIkJj/oJSoSqSbaSPWRuVqvQkJdhACeAftOad7JCqe /tPrzhuilbT/fOURBWaxUeCpRBAY938xrG9syo2InxaAHJtVolHiniC8qx1Is8gPgK00jU pibEHrFvOLL7SgOiXnNpz5XDVF6rsCdUsYCxuX0vkpwX/x2WKVHMF+t+iSn6gXzCaodhQc 3y5Zop/orjpGITMSHlbb1t/ao939ftTSWYtOpVPnPN90TzWygckE7c7aEFQq/A== 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 4SZkkf2Pj0z1030; Wed, 22 Nov 2023 01:51:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1psaE077228; Wed, 22 Nov 2023 01:51:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1psGN077225; Wed, 22 Nov 2023 01:51:54 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:54 GMT Message-Id: <202311220151.3AM1psGN077225@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 6fb2eebf6471 - stable/14 - mlx5: Add packet reformat support to flow rules 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6fb2eebf6471ee08949dd027a6beffdbf78d8bb1 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6fb2eebf6471ee08949dd027a6beffdbf78d8bb1 commit 6fb2eebf6471ee08949dd027a6beffdbf78d8bb1 Author: Mark Bloch AuthorDate: 2023-02-19 11:27:30 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:27 +0000 mlx5: Add packet reformat support to flow rules (cherry picked from commit 45e2e55df665c9b5749c9f2269d1b804147917eb) --- sys/dev/mlx5/fs.h | 4 ++++ sys/dev/mlx5/mlx5_core/fs_core.h | 5 ++--- sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c | 13 ++++++++++--- sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 19 ++++++++++++------- sys/dev/mlx5/mlx5_ifc.h | 1 + 5 files changed, 29 insertions(+), 13 deletions(-) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index bb087718d12f..58bdf19ccdab 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -50,6 +50,8 @@ enum { #define FS_MAX_TYPES 10 #define FS_MAX_ENTRIES 32000U +#define FS_REFORMAT_KEYWORD "_reformat" + enum mlx5_flow_namespace_type { MLX5_FLOW_NAMESPACE_BYPASS, MLX5_FLOW_NAMESPACE_OFFLOADS, @@ -85,12 +87,14 @@ struct mlx5_flow_destination { enum mlx5_flow_act_actions { MLX5_FLOW_ACT_ACTIONS_FLOW_TAG = 1 << 0, MLX5_FLOW_ACT_ACTIONS_MODIFY_HDR = 1 << 1, + MLX5_FLOW_ACT_ACTIONS_PACKET_REFORMAT = 1 << 2, }; struct mlx5_flow_act { u32 actions; /* See enum mlx5_flow_act_actions */ u32 flow_tag; struct mlx5_modify_hdr *modify_hdr; + struct mlx5_pkt_reformat *pkt_reformat; }; #define FT_NAME_STR_SZ 20 diff --git a/sys/dev/mlx5/mlx5_core/fs_core.h b/sys/dev/mlx5/mlx5_core/fs_core.h index 40c6cadf3223..34dacf1af253 100644 --- a/sys/dev/mlx5/mlx5_core/fs_core.h +++ b/sys/dev/mlx5/mlx5_core/fs_core.h @@ -264,9 +264,8 @@ void _fs_remove_node(struct kref *kref); &(fte)->dests) int mlx5_cmd_fs_create_ft(struct mlx5_core_dev *dev, - u16 vport, - enum fs_ft_type type, unsigned int level, - unsigned int log_size, unsigned int *table_id); + u16 vport, enum fs_ft_type type, unsigned int level, + unsigned int log_size, const char *name, unsigned int *table_id); int mlx5_cmd_fs_destroy_ft(struct mlx5_core_dev *dev, u16 vport, diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c index 22bc945a4b62..8c2708c504ee 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c @@ -54,9 +54,8 @@ int mlx5_cmd_update_root_ft(struct mlx5_core_dev *dev, } int mlx5_cmd_fs_create_ft(struct mlx5_core_dev *dev, - u16 vport, - enum fs_ft_type type, unsigned int level, - unsigned int log_size, unsigned int *table_id) + u16 vport, enum fs_ft_type type, unsigned int level, + unsigned int log_size, const char *name, unsigned int *table_id) { u32 in[MLX5_ST_SZ_DW(create_flow_table_in)] = {0}; u32 out[MLX5_ST_SZ_DW(create_flow_table_out)] = {0}; @@ -72,6 +71,9 @@ int mlx5_cmd_fs_create_ft(struct mlx5_core_dev *dev, MLX5_SET(create_flow_table_in, in, flow_table_context.level, level); MLX5_SET(create_flow_table_in, in, flow_table_context.log_size, log_size); + if (strstr(name, FS_REFORMAT_KEYWORD) != NULL) + MLX5_SET(create_flow_table_in, in, + flow_table_context.reformat_en, 1); if (vport) { MLX5_SET(create_flow_table_in, in, vport_number, vport); MLX5_SET(create_flow_table_in, in, other_vport, 1); @@ -228,6 +230,11 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, flow_act->modify_hdr->id); prm_action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; } + if (flow_act->actions & MLX5_FLOW_ACT_ACTIONS_PACKET_REFORMAT) { + MLX5_SET(flow_context, in_flow_context, packet_reformat_id, + flow_act->pkt_reformat->id); + prm_action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT; + } MLX5_SET(flow_context, in_flow_context, destination_list_size, dest_size); in_match_value = MLX5_ADDR_OF(flow_context, in_flow_context, diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index 7c3eb1e86d6d..55d7e69d6140 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -816,8 +816,14 @@ static struct mlx5_flow_table *_create_ft_common(struct mlx5_flow_namespace *ns, /*User isn't aware to those rules*/ ft->max_fte = ft_size - 2; log_table_sz = ilog2(ft_size); + + if (name == NULL || name[0] == '\0') { + snprintf(gen_name, sizeof(gen_name), "flow_table_%u", ft->id); + name = gen_name; + } + err = mlx5_cmd_fs_create_ft(root->dev, ft->vport, ft->type, - ft->level, log_table_sz, &ft->id); + ft->level, log_table_sz, name, &ft->id); if (err) goto free_ft; @@ -832,12 +838,8 @@ static struct mlx5_flow_table *_create_ft_common(struct mlx5_flow_namespace *ns, goto destroy_star_rule; } - if (!name || !strlen(name)) { - snprintf(gen_name, 20, "flow_table_%u", ft->id); - _fs_add_node(&ft->base, gen_name, &fs_prio->base); - } else { - _fs_add_node(&ft->base, name, &fs_prio->base); - } + _fs_add_node(&ft->base, name, &fs_prio->base); + list_add_tail(&ft->base.list, &fs_prio->objs); fs_prio->num_ft++; @@ -1764,6 +1766,9 @@ static bool check_conflicting_actions(const struct mlx5_flow_act *act1, if (action1 & MLX5_FLOW_ACT_ACTIONS_MODIFY_HDR) return true; + if (action1 & MLX5_FLOW_ACT_ACTIONS_PACKET_REFORMAT) + return true; + return false; } diff --git a/sys/dev/mlx5/mlx5_ifc.h b/sys/dev/mlx5/mlx5_ifc.h index 9534ac3d1c94..382d6c195ac9 100644 --- a/sys/dev/mlx5/mlx5_ifc.h +++ b/sys/dev/mlx5/mlx5_ifc.h @@ -2264,6 +2264,7 @@ enum { MLX5_FLOW_CONTEXT_ACTION_DROP = 0x2, MLX5_FLOW_CONTEXT_ACTION_FWD_DEST = 0x4, MLX5_FLOW_CONTEXT_ACTION_COUNT = 0x8, + MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT = 0x10, MLX5_FLOW_CONTEXT_ACTION_MOD_HDR = 0x40, }; From nobody Wed Nov 22 01:51:55 2023 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 4SZkkg50wsz51WML; Wed, 22 Nov 2023 01:51:55 +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 4SZkkg3s1bz3HM4; Wed, 22 Nov 2023 01:51:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617915; 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=YLEIyCVy0BO91BT5u0L+5sTmwlF7HpGjs6l4zY2hzNs=; b=gM0I9d72vEjXC+6vT9XAjvc4C4G8k8VAVhFob4qdxg0WwDYOaMr4Ai5fLpchq17QzDkjck QxM6LfsN9GqXhmu8262txkMwm88ltH96PIQy2y4PnRWKbHMWVHn0DKPYenwo5H5/ukNlzN NsltivOzIjp7wNowuobA8ADPIYyHgewK2P9h/UiN5HhFOf3sp4V1XKExWavQSRjlWaeuYE 3YJaJR4j0dqfGICBawoq9yrbuSSqn9NvKX7uh/vPr7er9YCrdYWAN3XFWMn99ZllNkmomn EsW88IlU8fzZJwnMdBEcIGTycb56TrrL/WQttSmZ8XDjxKDqp5tBRh2HtRMzjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617915; 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=YLEIyCVy0BO91BT5u0L+5sTmwlF7HpGjs6l4zY2hzNs=; b=DR1hKmrzoP7wARf0EHTA/8Jd8y/82UMbEd22WSuTsCjBHtD/rbkfTZD5nSxQOAulshdFqS D/QM7B2Tn8jnvTH6TvaXJRT7eOj6I2GETmi1JD8nT80B+zAxi/6778A1FHA4KAYwBeR7sh xiK1xpKKv6kGwvBgazAllb2AiGh18hbo6RYhEGDzVyeRHBhC/QzHcxI8xOL1JmeSU04sPd x00p0UdYRzjmSFgUqHdEIczM+PkI8PHV2flk96S5ABjYrbmNfhTQIWCBL2PUxD9dEeJQNX GbmH92PZ88s2TCIURmuU9Ir3xNKtSGZFhusqfMBENtqgpTJQtVQUyz+OqIZiBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617915; a=rsa-sha256; cv=none; b=ZXfkWgsX3x2Ane4fMj9Eqr8nzAf5d4c0KaEJGSIhoigiK6FV2VSo08UFLhU5+2gSG9YECR heLnR4zUBxZEk/KZ9MwvYjLZPMcIwcyiCtdX0OY0zfFcxB0jLiSCAV6WTZCbCS93o5AS3+ K7me7k783Lid2lwLGTA1pEC2DZfHwzKKtVCzc0u8zHADmbFL6gwjVFWi51DhxEeW6u+B1a bJOWnpcgZ+BK04rb/6H21pZPk5M6QtP0PNxJ+mBjlvEdXGTIlY8qjlyQXvym+jHpzI9nHp OMOsqI+HEL6ppRsWhlCA/9NJbfYy/9DNohKfW6YwxN+jlbApvnUyd7Eam1CVaA== 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 4SZkkg2p5Lz10HB; Wed, 22 Nov 2023 01:51:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1ptbv077283; Wed, 22 Nov 2023 01:51:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1ptiq077280; Wed, 22 Nov 2023 01:51:55 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:55 GMT Message-Id: <202311220151.3AM1ptiq077280@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0759f76e579d - stable/14 - mlx5: Use software enum in APIs instead of PRM 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0759f76e579d61e4609b05ea0efcc2d1a63d2679 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0759f76e579d61e4609b05ea0efcc2d1a63d2679 commit 0759f76e579d61e4609b05ea0efcc2d1a63d2679 Author: Mark Bloch AuthorDate: 2023-02-19 12:25:10 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:28 +0000 mlx5: Use software enum in APIs instead of PRM (cherry picked from commit 76ed99ed8ad259792fea752461e2cd1ed481e8e1) --- sys/dev/mlx5/fs.h | 8 ++++- sys/dev/mlx5/mlx5_core/fs_core.h | 4 +-- sys/dev/mlx5/mlx5_core/mlx5_eswitch.c | 8 ++--- sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c | 14 +++++++-- sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c | 4 +-- sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 32 ++++++++++---------- sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c | 50 +++++++++++++++---------------- sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c | 3 +- 8 files changed, 68 insertions(+), 55 deletions(-) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index 58bdf19ccdab..da1a469d333c 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -43,6 +43,12 @@ enum { MLX5_FS_SNIFFER_FLOW_TAG = 0xFFFFFD, }; +enum mlx5_rule_fwd_action { + MLX5_FLOW_RULE_FWD_ACTION_ALLOW = 0x1, + MLX5_FLOW_RULE_FWD_ACTION_DROP = 0x2, + MLX5_FLOW_RULE_FWD_ACTION_DEST = 0x4, +}; + enum { MLX5_FS_FLOW_TAG_MASK = 0xFFFFFF, }; @@ -168,7 +174,7 @@ mlx5_add_flow_rule(struct mlx5_flow_table *ft, u8 match_criteria_enable, u32 *match_criteria, u32 *match_value, - u32 action, + u32 sw_action, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest); void mlx5_del_flow_rule(struct mlx5_flow_rule **); diff --git a/sys/dev/mlx5/mlx5_core/fs_core.h b/sys/dev/mlx5/mlx5_core/fs_core.h index 34dacf1af253..3eae7868833f 100644 --- a/sys/dev/mlx5/mlx5_core/fs_core.h +++ b/sys/dev/mlx5/mlx5_core/fs_core.h @@ -81,7 +81,7 @@ struct fs_fte { struct list_head dests; uint32_t index; /* index in ft */ struct mlx5_flow_act flow_act; - u8 action; /* MLX5_FLOW_CONTEXT_ACTION */ + u32 sw_action; /* enum mlx5_rule_fwd_action */ enum fs_fte_status status; }; @@ -290,7 +290,7 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, enum fs_ft_type type, unsigned int table_id, unsigned int index, unsigned int group_id, struct mlx5_flow_act *flow_act, - unsigned short action, int dest_size, + u32 sw_action, int dest_size, struct list_head *dests); /* mlx5_flow_desination */ int mlx5_cmd_fs_delete_fte(struct mlx5_core_dev *dev, diff --git a/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c b/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c index 9f9350e0260b..15f5f0ff0336 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_eswitch.c @@ -253,7 +253,7 @@ esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u8 mac[ETH_ALEN], u32 vport) match_header, match_c, match_v, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(flow_rule)) { printf("mlx5_core: WARN: ""FDB: Failed to add flow rule: dmac_v(%pM) dmac_c(%pM) -> vport(%d), err(%ld)\n", dmac_v, dmac_c, vport, PTR_ERR(flow_rule)); @@ -825,7 +825,7 @@ static int esw_vport_ingress_config(struct mlx5_eswitch *esw, MLX5_MATCH_OUTER_HEADERS, match_c, match_v, - MLX5_FLOW_CONTEXT_ACTION_DROP, + MLX5_FLOW_RULE_FWD_ACTION_DROP, &flow_act, &dest); if (IS_ERR_OR_NULL(vport->ingress.drop_rule)) { err = PTR_ERR(vport->ingress.drop_rule); @@ -885,7 +885,7 @@ static int esw_vport_egress_config(struct mlx5_eswitch *esw, MLX5_MATCH_OUTER_HEADERS, match_c, match_v, - MLX5_FLOW_CONTEXT_ACTION_ALLOW, + MLX5_FLOW_RULE_FWD_ACTION_ALLOW, &flow_act, &dest); if (IS_ERR_OR_NULL(vport->egress.allowed_vlan)) { err = PTR_ERR(vport->egress.allowed_vlan); @@ -902,7 +902,7 @@ static int esw_vport_egress_config(struct mlx5_eswitch *esw, 0, match_c, match_v, - MLX5_FLOW_CONTEXT_ACTION_DROP, + MLX5_FLOW_RULE_FWD_ACTION_DROP, &flow_act, &dest); if (IS_ERR_OR_NULL(vport->egress.drop_rule)) { err = PTR_ERR(vport->egress.drop_rule); diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c index 8c2708c504ee..8032d1a632e5 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c @@ -167,7 +167,7 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, enum fs_ft_type type, unsigned int table_id, unsigned int index, unsigned int group_id, struct mlx5_flow_act *flow_act, - unsigned short action, int dest_size, + u32 sw_action, int dest_size, struct list_head *dests) /* mlx5_flow_desination */ { u32 out[MLX5_ST_SZ_DW(set_fte_out)] = {0}; @@ -183,10 +183,18 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, int atomic_mod_cap; u32 prm_action = 0; - if (action != MLX5_FLOW_CONTEXT_ACTION_FWD_DEST) + if (sw_action != MLX5_FLOW_RULE_FWD_ACTION_DEST) dest_size = 0; - prm_action = action; + if (sw_action & MLX5_FLOW_RULE_FWD_ACTION_ALLOW) + prm_action |= MLX5_FLOW_CONTEXT_ACTION_ALLOW; + + if (sw_action & MLX5_FLOW_RULE_FWD_ACTION_DROP) + prm_action |= MLX5_FLOW_CONTEXT_ACTION_DROP; + + if (sw_action & MLX5_FLOW_RULE_FWD_ACTION_DEST) + prm_action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; + inlen = MLX5_ST_SZ_BYTES(set_fte_in) + dest_size * MLX5_ST_SZ_BYTES(dest_format_struct); diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c index 69df9ecba210..d7d63d7932a1 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tcp.c @@ -164,7 +164,7 @@ mlx5e_accel_fs_add_inpcb(struct mlx5e_priv *priv, flow = mlx5_add_flow_rule(ft->t, spec->match_criteria_enable, spec->match_criteria, spec->match_value, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); out: @@ -200,7 +200,7 @@ accel_fs_tcp_add_default_rule(struct mlx5e_priv *priv, int type) priv->fts.vlan.t : fs_tcp->tables[type + 1].t; rule = mlx5_add_flow_rule(fs_tcp->tables[type].t, 0, match_criteria, match_value, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR(rule)) return (PTR_ERR(rule)); diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index 55d7e69d6140..60353e4b3d5b 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -302,7 +302,7 @@ static void fs_remove_node_parent_locked(struct fs_base *node) kfree(node); } -static struct fs_fte *fs_alloc_fte(u8 action, +static struct fs_fte *fs_alloc_fte(u32 sw_action, struct mlx5_flow_act *flow_act, u32 *match_value, unsigned int index) @@ -320,7 +320,7 @@ static struct fs_fte *fs_alloc_fte(u8 action, fte->index = index; INIT_LIST_HEAD(&fte->dests); fte->flow_act = *flow_act; - fte->action = action; + fte->sw_action = sw_action; return fte; } @@ -341,7 +341,7 @@ static struct fs_fte *alloc_star_ft_entry(struct mlx5_flow_table *ft, if (fg->num_ftes == fg->max_ftes) return ERR_PTR(-ENOSPC); - fte = fs_alloc_fte(MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + fte = fs_alloc_fte(MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, match_value, index); if (IS_ERR(fte)) return fte; @@ -447,7 +447,7 @@ static int fs_set_star_rule(struct mlx5_core_dev *dev, src_ft->id, src_fte->index, src_ft->star_rule.fg->id, &src_fte->flow_act, - src_fte->action, + src_fte->sw_action, src_fte->dests_size, &src_fte->dests); if (err) @@ -1590,7 +1590,7 @@ static struct mlx5_flow_rule *_fs_add_dst_fte(struct fs_fte *fte, &fte->status, fte->val, ft->type, ft->id, fte->index, fg->id, &fte->flow_act, - fte->action, fte->dests_size, &fte->dests); + fte->sw_action, fte->dests_size, &fte->dests); if (err) goto free_dst; @@ -1652,7 +1652,7 @@ static unsigned int fs_get_free_fg_index(struct mlx5_flow_group *fg, static struct fs_fte *fs_create_fte(struct mlx5_flow_group *fg, u32 *match_value, - u8 action, + u32 sw_action, struct mlx5_flow_act *flow_act, struct list_head **prev) { @@ -1660,7 +1660,7 @@ static struct fs_fte *fs_create_fte(struct mlx5_flow_group *fg, int index = 0; index = fs_get_free_fg_index(fg, prev); - fte = fs_alloc_fte(action, flow_act, match_value, index); + fte = fs_alloc_fte(sw_action, flow_act, match_value, index); if (IS_ERR(fte)) return fte; @@ -1710,7 +1710,7 @@ static void fs_del_dst(struct mlx5_flow_rule *dst) err = mlx5_cmd_fs_set_fte(dev, ft->vport, &fte->status, match_value, ft->type, ft->id, fte->index, fg->id, - &fte->flow_act, fte->action, + &fte->flow_act, fte->sw_action, fte->dests_size, &fte->dests); if (err) { mlx5_core_warn(dev, "%s can't delete dst %s\n", @@ -1776,7 +1776,7 @@ static bool check_conflicting_actions(const struct mlx5_flow_act *act1, /* Add dst algorithm */ static struct mlx5_flow_rule *fs_add_dst_fg(struct mlx5_flow_group *fg, u32 *match_value, - u8 action, + u32 sw_action, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest) { @@ -1791,7 +1791,7 @@ static struct mlx5_flow_rule *fs_add_dst_fg(struct mlx5_flow_group *fg, /* TODO: Check of size against PRM max size */ mutex_lock(&fte->base.lock); if (fs_match_exact_val(&fg->mask, match_value, &fte->val) && - action == fte->action && + sw_action == fte->sw_action && !check_conflicting_actions(flow_act, &fte->flow_act)) { dst = _fs_add_dst_fte(fte, fg, dest); mutex_unlock(&fte->base.lock); @@ -1808,7 +1808,7 @@ static struct mlx5_flow_rule *fs_add_dst_fg(struct mlx5_flow_group *fg, goto unlock_fg; } - fte = fs_create_fte(fg, match_value, action, flow_act, &prev); + fte = fs_create_fte(fg, match_value, sw_action, flow_act, &prev); if (IS_ERR(fte)) { dst = (void *)fte; goto unlock_fg; @@ -1836,7 +1836,7 @@ static struct mlx5_flow_rule *fs_add_dst_ft(struct mlx5_flow_table *ft, u8 match_criteria_enable, u32 *match_criteria, u32 *match_value, - u8 action, + u32 sw_action, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest) { @@ -1853,7 +1853,7 @@ static struct mlx5_flow_rule *fs_add_dst_ft(struct mlx5_flow_table *ft, match_criteria)) { mutex_unlock(&ft->base.lock); - dst = fs_add_dst_fg(g, match_value, action, flow_act, dest); + dst = fs_add_dst_fg(g, match_value, sw_action, flow_act, dest); if (PTR_ERR(dst) && PTR_ERR(dst) != -ENOSPC) goto unlock; } @@ -1866,7 +1866,7 @@ static struct mlx5_flow_rule *fs_add_dst_ft(struct mlx5_flow_table *ft, } dst = fs_add_dst_fg(g, match_value, - action, flow_act, dest); + sw_action, flow_act, dest); if (IS_ERR(dst)) { /* Remove assumes refcount > 0 and autogroup creates a group * with a refcount = 0. @@ -1886,7 +1886,7 @@ mlx5_add_flow_rule(struct mlx5_flow_table *ft, u8 match_criteria_enable, u32 *match_criteria, u32 *match_value, - u32 action, + u32 sw_action, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest) { @@ -1897,7 +1897,7 @@ mlx5_add_flow_rule(struct mlx5_flow_table *ft, if (ns) down_read(&ns->dests_rw_sem); dst = fs_add_dst_ft(ft, match_criteria_enable, match_criteria, - match_value, action, flow_act, dest); + match_value, sw_action, flow_act, dest); if (ns) up_read(&ns->dests_rw_sem); diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c b/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c index cb23b80deae4..4939deb4c122 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c @@ -293,7 +293,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, rule_p = &ai->ft_rule[MLX5E_TT_ANY]; dest.tir_num = tirn[MLX5E_TT_ANY]; *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -308,7 +308,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -320,7 +320,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -335,7 +335,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -347,7 +347,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -361,7 +361,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -373,7 +373,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -387,7 +387,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -399,7 +399,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -413,7 +413,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -425,7 +425,7 @@ mlx5e_add_eth_addr_rule_sub(struct mlx5e_priv *priv, MLX5_SET(fte_match_param, mv, outer_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -505,7 +505,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -513,7 +513,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV6]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -524,7 +524,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4_UDP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -532,7 +532,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV6_UDP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -542,7 +542,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4_TCP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -550,7 +550,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV6_TCP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -560,7 +560,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4_IPSEC_AH]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -568,7 +568,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV6_IPSEC_AH]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -578,7 +578,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) dest.tir_num = tirn[MLX5E_TT_IPV4_IPSEC_ESP]; MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IP); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -587,7 +587,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) MLX5_SET(fte_match_param, mv, inner_headers.ethertype, ETHERTYPE_IPV6); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -597,7 +597,7 @@ mlx5e_add_main_vxlan_rules_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) rule_p = &priv->fts.main_vxlan_rule[MLX5E_TT_ANY]; dest.tir_num = tirn[MLX5E_TT_ANY]; *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR_OR_NULL(*rule_p)) goto err_del_ai; @@ -730,7 +730,7 @@ mlx5e_add_vlan_rule_sub(struct mlx5e_priv *priv, } *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); @@ -1709,7 +1709,7 @@ mlx5e_add_vxlan_rule_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv, MLX5_SET(fte_match_param, mv, outer_headers.udp_dport, el->port); *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR(*rule_p)) { err = PTR_ERR(*rule_p); @@ -1835,7 +1835,7 @@ mlx5e_add_vxlan_catchall_rule_sub(struct mlx5e_priv *priv, u32 *mc, u32 *mv) rule_p = &priv->fts.vxlan_catchall_ft_rule; *rule_p = mlx5_add_flow_rule(ft, mc_enable, mc, mv, - MLX5_FLOW_CONTEXT_ACTION_FWD_DEST, &flow_act, &dest); + MLX5_FLOW_RULE_FWD_ACTION_DEST, &flow_act, &dest); if (IS_ERR(*rule_p)) { err = PTR_ERR(*rule_p); diff --git a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c index dc5396d348c5..b4c9115bc420 100644 --- a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c +++ b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c @@ -2209,8 +2209,7 @@ static struct mlx5_ib_flow_handler *create_flow_rule(struct mlx5_ib_dev *dev, } spec->match_criteria_enable = get_match_criteria_enable(spec->match_criteria); - action = dst ? MLX5_FLOW_CONTEXT_ACTION_FWD_DEST : - MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_PRIO; + action = dst ? MLX5_FLOW_RULE_FWD_ACTION_DEST : 0; handler->rule = mlx5_add_flow_rule(ft, spec->match_criteria_enable, spec->match_criteria, spec->match_value, From nobody Wed Nov 22 01:51:56 2023 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 4SZkkh5xpxz51W9Y; Wed, 22 Nov 2023 01:51:56 +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 4SZkkh4sh5z3HXq; Wed, 22 Nov 2023 01:51:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617916; 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=zMsZnUZwWUCtbvf19RQJzjT1QyafrK3ZIEqM68WkWYc=; b=QNClTR2REl7hCpbY8KcSXkDTdAeYHEAJrV4cvBl3GMlg7ONZpOtFcV2LrvVw1mtyHC4JTE zWuBr9CF8ZKoRLWhQB2vwArtp3gKDnmdkkfTPl2RtZC4LfJsEYezYu1fGj9m9PDTpgldev Bv2nh8PV4hL6K6e+Fagj1uHwn1VH3Et7eRAKfLwZMRwEVQTreeIVywTAe/3y2Tg+DwNiUw Oz4EFot3a1975PYXhJ29RVC6wGpGFwEGvd5Vu+rE/1gbRwD4wtPQ2okzoL5KPetVKDpcuE uvzKUQzBwEAYBS4UWdO5Q7nJyFLrn2f+rhYbwwiVuGYhsMntTr58KG0RWA3e3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617916; 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=zMsZnUZwWUCtbvf19RQJzjT1QyafrK3ZIEqM68WkWYc=; b=Cj0Ww8pBzUOiuwGg11Mfz2MGE6LWypzZIJVpqI42J0blOX4PR3kRmEWma9pTCnN2rIWY/a OATMpVgHGZJq8IFgsl2ovqcGiQloh/zVYS5AqZzZAi/Dy2NNDC48oOYuHvmmzJ2z5biufW WsUDKq9+W2H0UQbWBKWUQ1QYyw2vpc6pAuSSdecWcqUMTajyW6gG9L0sJXMFmZ+YeXssCa VBdTOSovjca713b4bNTuUZOoFqLDoLD0wbEEHGmSHYMvXpLv5giADf4R6WDsJYrzEitxsR e6uOEULSXOfKbb9aWEkJtC8FKwXxRFgevqDyom8uhSMSL+cAotAdnFi+S1eoow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617916; a=rsa-sha256; cv=none; b=hG/SngsCDtM+Zhv83vXDqQ0ev8+1GVJz9mFR4hBvs+ZNmR+9/ZlH3TklPdZazvA1zNOgvV ff9Kgh8JRUwQcZAFdYkT2X1H97PpweagHcnio0EpHWDhyRn5pIFhjsh6KLvkdmUR8cJ8zj SPfQnu8YF7cX44YN+PVskrn3AUxjAiXAFTb1eMCPCARk+ccHgRFHa+HIFDjdmXdvEyLdVR fW/6LkXpnqHrXd6A55RGNwUmP+xFxhvbxjRKZdXl4kbMadi5mLj5KCiVt8AVlDDUJ1gc6y FlLPasX8P0JMCUcsBqPUZ/aAg2D9aL6Ts9V6v7M68+1KhBGbbQQzXy6ekIc1lw== 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 4SZkkh3btpz10HC; Wed, 22 Nov 2023 01:51:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1puaH077328; Wed, 22 Nov 2023 01:51:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1pudu077325; Wed, 22 Nov 2023 01:51:56 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:56 GMT Message-Id: <202311220151.3AM1pudu077325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 4c6a46cea41b - stable/14 - net/mlx5: Fix auto group size calculation 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4c6a46cea41b236f9b06e702e8491055dddc7d4c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4c6a46cea41b236f9b06e702e8491055dddc7d4c commit 4c6a46cea41b236f9b06e702e8491055dddc7d4c Author: Mark Bloch AuthorDate: 2023-02-19 14:05:16 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:28 +0000 net/mlx5: Fix auto group size calculation (cherry picked from commit 04db54fe4309e896c4c80baadbcc47b171722027) --- sys/dev/mlx5/mlx5_core/fs_core.h | 1 + sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/sys/dev/mlx5/mlx5_core/fs_core.h b/sys/dev/mlx5/mlx5_core/fs_core.h index 3eae7868833f..dc619fc2d2db 100644 --- a/sys/dev/mlx5/mlx5_core/fs_core.h +++ b/sys/dev/mlx5/mlx5_core/fs_core.h @@ -97,6 +97,7 @@ struct mlx5_flow_table { struct { bool active; unsigned int max_types; + unsigned int group_size; unsigned int num_types; } autogroup; unsigned int max_fte; diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index 60353e4b3d5b..b59373d48730 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -918,6 +918,9 @@ struct mlx5_flow_table *mlx5_create_auto_grouped_flow_table(struct mlx5_flow_nam ft->autogroup.active = true; ft->autogroup.max_types = max_num_groups; + /* We save place for flow groups in addition to max types */ + ft->autogroup.group_size = ft->max_fte / (max_num_groups + 1); + if (is_shared_prio) ft->shared_refcount = 1; @@ -1066,6 +1069,7 @@ static struct mlx5_flow_group *fs_create_fg(struct mlx5_core_dev *dev, int refcount) { struct mlx5_flow_group *fg; + unsigned int group_size; int err; char name[20]; @@ -1073,6 +1077,8 @@ static struct mlx5_flow_group *fs_create_fg(struct mlx5_core_dev *dev, if (IS_ERR(fg)) return fg; + group_size = MLX5_GET(create_flow_group_in, fg_in, end_flow_index) - + MLX5_GET(create_flow_group_in, fg_in, start_flow_index) + 1; err = mlx5_cmd_fs_create_fg(dev, fg_in, ft->vport, ft->type, ft->id, &fg->id); @@ -1080,7 +1086,8 @@ static struct mlx5_flow_group *fs_create_fg(struct mlx5_core_dev *dev, goto free_fg; mutex_lock(&ft->base.lock); - if (ft->autogroup.active) + + if (ft->autogroup.active && group_size == ft->autogroup.group_size) ft->autogroup.num_types++; snprintf(name, sizeof(name), "group_%u", fg->id); @@ -1125,7 +1132,7 @@ static void fs_del_fg(struct mlx5_flow_group *fg) dev = fs_get_dev(&parent_ft->base); WARN_ON(!dev); - if (parent_ft->autogroup.active) + if (parent_ft->autogroup.active && fg->max_ftes == parent_ft->autogroup.group_size) parent_ft->autogroup.num_types--; if (mlx5_cmd_fs_destroy_fg(dev, parent_ft->vport, @@ -1432,7 +1439,7 @@ static struct mlx5_flow_group *create_autogroup(struct mlx5_flow_table *ft, if (ft->autogroup.num_types < ft->autogroup.max_types) - group_size = ft->max_fte / (ft->autogroup.max_types + 1); + group_size = ft->autogroup.group_size; else group_size = 1; From nobody Wed Nov 22 01:51:57 2023 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 4SZkkk0T7Qz51WMQ; Wed, 22 Nov 2023 01:51:58 +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 4SZkkj5NXgz3HQd; Wed, 22 Nov 2023 01:51:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617917; 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=6FhQxdNVXr6YhJmXpSuw8jKFC/1E39MbZ5mJUzcfO+Y=; b=Z3sT4LeSZm/MokASfEXE+Z0cY5m0EnBg9JkWqZ0/IPVkmrGtcdYTnzgeFfysMtbUJVf1Rl mumCxfZmv+ceET3V7W5hZ1JPNOTV2TZshB7Msl1ZJWlv354CGDXiXn/okrm9PBLPGzZHJL NqD7+ChzttAjIESJt+ZXicLNhTDK4f+WeLPdw4YQ+epi7TxFoWQRE7P33nnWMS/zak4WCU INlYlee8rUat6aA4kO+kBUkjbLZa1sAoETuVgbbHWHJhDXyc9Oj3zVXgQpEY0RWCJ72fOL OPOT/d2hjRer1A2zZcnjb4UORuZM4T0BdqgzhidT4buuK10zVzao3F/3FQlf2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617917; 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=6FhQxdNVXr6YhJmXpSuw8jKFC/1E39MbZ5mJUzcfO+Y=; b=IeqWSTdfsYrR8e1yY+OsFGRndb3N6hceibh617ulFQ6PoxSVUt08lFfQuUkD4NvM29KunE +fR3xbPZqoe/G3OellcR7YlJ6Fu0fptEh2v3ZiKoICfBp74iHEXy89IwCwCGI++MxG9ttO Ym0dy0JaxIVXpSTB+F76hEiotes8pQ9cDeL+1xj5nle1U+pfZzfEDm9mWPuYRIZjZpKWhe Ke7raNRowKtJUuNnQCkiZWTi/EaFSWkbmaY55xko0k2n076JuST5oxf+CTug+ubC/GSqI+ cE3tEJzRWit0bxbsvhxqWSlws4yWJ0ldl7ziJ5Z3ImgRpquo55W8+UdiWgeqFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617917; a=rsa-sha256; cv=none; b=UVUup56J6dJgW0Xt8a5UGNm/qly+QT33+OMmBzOksAG6sGwuPOYKjugGBUGimVy3SjTiWN EP0GzdCngtu4JPz30cd3lDVZ2+PNwsKatXaZ3aLsijrKaW/+oDaL5jNw4EH4SsOeTiLREu r8qBXAc7OI6OCsJZDOgPhCk1gFl062XCqWkPs2Top1DOzUWUiW0AFwVq1aXP/t37hULfZ2 GorYnE2Hz2uIarroZCzP2kfO9buRAJeVbXjCx6sIxsABRPqJeWlOd82QYRg56pGitnncNV 31dY9fTE1zJLpi8MPaH9lzG0fXNKtvO4h7TOI+BMluEdkjbdhWb4T4DcsVNNCQ== 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 4SZkkj4Chqz10HG; Wed, 22 Nov 2023 01:51:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1pvFD078137; Wed, 22 Nov 2023 01:51:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1pvOb078119; Wed, 22 Nov 2023 01:51:57 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:57 GMT Message-Id: <202311220151.3AM1pvOb078119@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 67a9c8868af3 - stable/14 - net/mlx5: Allow creating autogroups with reserved entries 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 67a9c8868af371f3e0b96a18d1f9d54fd2be4b1a Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=67a9c8868af371f3e0b96a18d1f9d54fd2be4b1a commit 67a9c8868af371f3e0b96a18d1f9d54fd2be4b1a Author: Mark Bloch AuthorDate: 2023-02-19 14:16:43 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:28 +0000 net/mlx5: Allow creating autogroups with reserved entries (cherry picked from commit 0a5db6bb3a953bd22f53f3607ae6853487548532) --- sys/dev/mlx5/fs.h | 3 ++- sys/dev/mlx5/mlx5_core/fs_core.h | 1 + sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 22 +++++++++++++++++----- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index da1a469d333c..d61a2bb498b7 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -140,7 +140,8 @@ mlx5_create_auto_grouped_flow_table(struct mlx5_flow_namespace *ns, int prio, const char *name, int num_flow_table_entries, - int max_num_groups); + int max_num_groups, + int num_reserved_entries); struct mlx5_flow_table * mlx5_create_vport_flow_table(struct mlx5_flow_namespace *ns, diff --git a/sys/dev/mlx5/mlx5_core/fs_core.h b/sys/dev/mlx5/mlx5_core/fs_core.h index dc619fc2d2db..a9273fdab61c 100644 --- a/sys/dev/mlx5/mlx5_core/fs_core.h +++ b/sys/dev/mlx5/mlx5_core/fs_core.h @@ -99,6 +99,7 @@ struct mlx5_flow_table { unsigned int max_types; unsigned int group_size; unsigned int num_types; + unsigned int max_fte; } autogroup; unsigned int max_fte; unsigned int level; diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index b59373d48730..dcf93e5fc892 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -892,12 +892,18 @@ struct mlx5_flow_table *mlx5_create_auto_grouped_flow_table(struct mlx5_flow_nam int prio, const char *name, int num_flow_table_entries, - int max_num_groups) + int max_num_groups, + int num_reserved_entries) { struct mlx5_flow_table *ft = NULL; struct fs_prio *fs_prio; bool is_shared_prio; + if (max_num_groups > (num_flow_table_entries - num_reserved_entries)) + return ERR_PTR(-EINVAL); + if (num_reserved_entries > num_flow_table_entries) + return ERR_PTR(-EINVAL); + fs_prio = find_prio(ns, prio); if (!fs_prio) return ERR_PTR(-EINVAL); @@ -918,8 +924,9 @@ struct mlx5_flow_table *mlx5_create_auto_grouped_flow_table(struct mlx5_flow_nam ft->autogroup.active = true; ft->autogroup.max_types = max_num_groups; + ft->autogroup.max_fte = num_flow_table_entries - num_reserved_entries; /* We save place for flow groups in addition to max types */ - ft->autogroup.group_size = ft->max_fte / (max_num_groups + 1); + ft->autogroup.group_size = ft->autogroup.max_fte / (max_num_groups + 1); if (is_shared_prio) ft->shared_refcount = 1; @@ -1109,11 +1116,13 @@ struct mlx5_flow_group *mlx5_create_flow_group(struct mlx5_flow_table *ft, { struct mlx5_flow_group *fg; struct mlx5_core_dev *dev = fs_get_dev(&ft->base); + unsigned int start_index; + start_index = MLX5_GET(create_flow_group_in, in, start_flow_index); if (!dev) return ERR_PTR(-ENODEV); - if (ft->autogroup.active) + if (ft->autogroup.active && start_index < ft->autogroup.max_fte) return ERR_PTR(-EPERM); fg = fs_create_fg(dev, ft, ft->fgs.prev, in, 1); @@ -1132,7 +1141,9 @@ static void fs_del_fg(struct mlx5_flow_group *fg) dev = fs_get_dev(&parent_ft->base); WARN_ON(!dev); - if (parent_ft->autogroup.active && fg->max_ftes == parent_ft->autogroup.group_size) + if (parent_ft->autogroup.active && + fg->max_ftes == parent_ft->autogroup.group_size && + fg->start_index < parent_ft->autogroup.max_fte) parent_ft->autogroup.num_types--; if (mlx5_cmd_fs_destroy_fg(dev, parent_ft->vport, @@ -1423,6 +1434,7 @@ static struct mlx5_flow_group *create_autogroup(struct mlx5_flow_table *ft, u32 *in; int inlen = MLX5_ST_SZ_BYTES(create_flow_group_in); void *match_criteria_addr; + u32 max_fte = ft->autogroup.max_fte; if (!ft->autogroup.active) return ERR_PTR(-ENOENT); @@ -1459,7 +1471,7 @@ static struct mlx5_flow_group *create_autogroup(struct mlx5_flow_table *ft, prev = &g->base.list; } - if (candidate_index + group_size > ft->max_fte) { + if (candidate_index + group_size > max_fte) { ret = ERR_PTR(-ENOSPC); goto out; } From nobody Wed Nov 22 01:51:58 2023 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 4SZkkl0ZmMz51W9k; Wed, 22 Nov 2023 01:51:59 +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 4SZkkk66k8z3Hc5; Wed, 22 Nov 2023 01:51:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617918; 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=jqzuon5X6PUk1Bl82qiDEoeBJD0E/fD0gMqugDWbbWk=; b=Wt7XrDMArQ1qG3eQIwtSZwiBUTydHMReZiBchCcztfAjO5vSIsbhvxjdHk8XNmQs0yEVF8 BvmCejMo/p9W1KrYn0Had87G705qGbK7z9fEsE/OA7ZL9aVEKPsQJFW6fgi+GLqzX6b4Tk M92EDvy/8P+4o+Gw5uhEHkNagqwQNLYPgYyXi7033VHl9g5yp8ahTYoAS5n7BVa80jBMaC dvEJFHZYBG0sL3/vALNVP76iJrXHhkMsNqSzpRwLb1Yd2aYs9sk0BfjYijLCRz+2YOcIAB zMayRuE0iYM2vTBaRRnnESe2g+LnXZleWy1+9JjyX/l8GjvPdnUsbGJHWZrUSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617918; 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=jqzuon5X6PUk1Bl82qiDEoeBJD0E/fD0gMqugDWbbWk=; b=WCLc6ELQTvCEWZr4scOrw5qwx2UlVTMxLg6woEWMOZ1c67+AQ/vwhWZGb3KJecsNgeWrPc UzTey8c0/L9vPvdyWGYHr0aF/4VhUTTOvNmVxGMtgHkBYmwT9hXuzqKLP/8oQEmUV2CrKV mUhbUd5WfLq12X0CuTbKnltD635n9xt6XrzqwAJ8ZRxCOTjG+Llz/H001FNhQsjFVyjZhW lSe4VQ+weCCP608rdnzy6uQLMDa63yNyNcwJ4BSz32BBDjikckD4njzz+yaf0N0WOuBENr U/ZZv+qMbliZaVGSBu1FggUPL9shf9s4WTXBDBRVV2lL1yK4Vvr2gd3fRHRPEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617918; a=rsa-sha256; cv=none; b=Apk/ckg75lUowMfNHXZiEHZwAA3Pho/cr/CS5TRuHNEVKnWS4nmTrRNXQDyF0LnQLktcdp jgZENyJ9M2Uk0zaDBGj6UqvAR3bmWF6TwqmRNNmky6plD7FNXSMvfGY6HrcFW4O59p+89d l38FqIQuEfToFoMLWhSAK9Es8U6sgNQRahCCWp1tQzPZ6JcCvoBoyx3Xe4BqgFnjjON0MD NC92dODQ4wVbd9XxFTvSFyXomHyb2pGbIobApSQSlBgBgzyFaTIaqtJQsCMOyViNTlcoH4 bUXkkIA2Kv/0dFnbpsjjJUwUob4qg+t3rfZsf2xk7oGlZ5ybzqYvRZGdZSp4lw== 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 4SZkkk5DBHz10Dl; Wed, 22 Nov 2023 01:51:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1pw9s078258; Wed, 22 Nov 2023 01:51:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1pwJ2078255; Wed, 22 Nov 2023 01:51:58 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:58 GMT Message-Id: <202311220151.3AM1pwJ2078255@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5a2ff1f03ad2 - stable/14 - mlx5: Add a no-append flow insertion mode 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5a2ff1f03ad245577498bcbc3907f4ae336fd9e8 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5a2ff1f03ad245577498bcbc3907f4ae336fd9e8 commit 5a2ff1f03ad245577498bcbc3907f4ae336fd9e8 Author: Mark Bloch AuthorDate: 2023-02-20 15:46:42 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:28 +0000 mlx5: Add a no-append flow insertion mode (cherry picked from commit 6a6af22b6ec42eb0436381fae8dd1b86bc4c6327) --- sys/dev/mlx5/fs.h | 5 +++++ sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index d61a2bb498b7..f62716d806d0 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -96,8 +96,13 @@ enum mlx5_flow_act_actions { MLX5_FLOW_ACT_ACTIONS_PACKET_REFORMAT = 1 << 2, }; +enum MLX5_FLOW_ACT_FLAGS { + MLX5_FLOW_ACT_NO_APPEND = 1 << 0, +}; + struct mlx5_flow_act { u32 actions; /* See enum mlx5_flow_act_actions */ + u32 flags; u32 flow_tag; struct mlx5_modify_hdr *modify_hdr; struct mlx5_pkt_reformat *pkt_reformat; diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index dcf93e5fc892..c4edc940b1bc 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -1806,6 +1806,9 @@ static struct mlx5_flow_rule *fs_add_dst_fg(struct mlx5_flow_group *fg, char fte_name[20]; mutex_lock(&fg->base.lock); + if (flow_act->flags & MLX5_FLOW_ACT_NO_APPEND) + goto insert_fte; + fs_for_each_fte(fte, fg) { /* TODO: Check of size against PRM max size */ mutex_lock(&fte->base.lock); @@ -1821,6 +1824,7 @@ static struct mlx5_flow_rule *fs_add_dst_fg(struct mlx5_flow_group *fg, mutex_unlock(&fte->base.lock); } +insert_fte: fs_get_parent(ft, fg); if (fg->num_ftes == fg->max_ftes) { dst = ERR_PTR(-ENOSPC); From nobody Wed Nov 22 01:51:59 2023 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 4SZkkm0K5Wz51WMX; Wed, 22 Nov 2023 01:52:00 +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 4SZkkl6p5Vz3HNF; Wed, 22 Nov 2023 01:51:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617919; 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=9FsQ20DJnMcNvF5qZXR+k1wf7U//HNy5575RvGO6VrA=; b=eo+yiKIIPA+xF3DS0hh2UY6B13IrET0zcQOtQhJ9eRoWkBzG5rKy09lnbzsEfcKeFI3iS7 n9huYMA6feflVcl5Q5xiFjEEp8L1LLrksD9nWPpPp60ECAhfPMV1bDzserAGlt5u/FSANp ScbAPjJKjbqRB1HSx3rzj456lkQXioR+o50YJn1lTHNdT2QxeglzgPrbDnXe7za46Orlu6 C0OOI/RgZ+f2Dah4nuDpxQBtSa9va/qjjhhaFbdZgTWmClETANr9gYk6Q1z3Y/PoUZfSmW A85v7Qv5TxrHRDSLXD/MrgCleQKY5vGhIMatPAvL8XZ42WqX1qCrSqKjQfDNdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617920; 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=9FsQ20DJnMcNvF5qZXR+k1wf7U//HNy5575RvGO6VrA=; b=eAJBzPNu3P3AFwnbal/715lExuAtZtMIawnf8SnpNRTY7BBvGsS/CNLMheCdQmyoUWZHgF 5+cbYGrTfcx8tmtB4zaHOmb9KzXGNwbesryzzsRcaUdyTvpnTrLFQxe5utVJoMyuxVyQMK ETiF6iiBpQWDKrS9eGE1lP6qUIHdCq3xxK5RgsZPda3n+vibcRK6e4/WPxR9bIQVIDRASw JsAPqc6NFyc+EwZ8Ws1RRHkayzUxbbVjtkOM+i3Yf0pTsADn3c8r/66n1m9UtuVPevj30B ClZ+OUNZq1cXILibuDHohvcFCAb70RpKKQJ95mHxMhAnaMsxQQPasKWK3ikftA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617920; a=rsa-sha256; cv=none; b=CO0nZEdiD3oUe7SnFTk1/tQF0G9jt3TlGrNHsF6f8uPyS97wOq7ovpDM7yFT69x7MgUeMI rRDzxDrj4UnkQ9oOfAbuMHwzjelOMH/V6+eQN4hkqvgl5C77+R8fgPz8qelEWWbqfLlsNv ORo6zXMQV06Jc17E8NSbi+Pi+7O4+9TNhW6f8JReYcwG2eEUaeSWB6J8kIh1aB8IBF4jtw VbdVnyORSgL9tzqNUifY8ZUyXFf9M7VNFc1hPXu6ntlgLqkNZ+a7uPbWRsmk2Sc6x79c5n CC8TuQ7AZ/09m7+1QDCW/T/KbJPeA+OymSVjPK2nQlnC5KfatD82n8f0fQkr7A== 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 4SZkkl5k3Qz1031; Wed, 22 Nov 2023 01:51:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1pxEc078295; Wed, 22 Nov 2023 01:51:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1pxwb078292; Wed, 22 Nov 2023 01:51:59 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:51:59 GMT Message-Id: <202311220151.3AM1pxwb078292@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 52164cb3bd38 - stable/14 - mlx5: add fs_counters 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 52164cb3bd38ef23c108149e4a91042da204a2f3 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=52164cb3bd38ef23c108149e4a91042da204a2f3 commit 52164cb3bd38ef23c108149e4a91042da204a2f3 Author: Raed Salem AuthorDate: 2023-02-20 16:10:29 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:28 +0000 mlx5: add fs_counters (cherry picked from commit 35bbcf0916992d77fe1521962db42b3106a701fb) --- sys/dev/mlx5/driver.h | 43 ++ sys/dev/mlx5/fs.h | 16 +- sys/dev/mlx5/mlx5_core/fs_core.h | 5 + sys/dev/mlx5/mlx5_core/mlx5_fc_cmd.c | 102 ++++ sys/dev/mlx5/mlx5_core/mlx5_fc_cmd.h | 54 +++ sys/dev/mlx5/mlx5_core/mlx5_fs_counters.c | 758 ++++++++++++++++++++++++++++++ sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 5 + sys/dev/mlx5/mlx5_ifc.h | 22 +- sys/modules/mlx5/Makefile | 2 + 9 files changed, 1003 insertions(+), 4 deletions(-) diff --git a/sys/dev/mlx5/driver.h b/sys/dev/mlx5/driver.h index cb1a2907a443..9daa1235bd9c 100644 --- a/sys/dev/mlx5/driver.h +++ b/sys/dev/mlx5/driver.h @@ -50,6 +50,7 @@ #define MLX5_MAX_NUMBER_OF_VFS 128 #define MLX5_INVALID_QUEUE_HANDLE 0xffffffff +#define MLX5_ST_SZ_BYTES(typ) (sizeof(struct mlx5_ifc_##typ##_bits) / 8) enum { MLX5_BOARD_ID_LEN = 64, @@ -269,6 +270,36 @@ struct mlx5_traffic_counter { u64 octets; }; +struct mlx5_fc_pool { + struct mlx5_core_dev *dev; + struct mutex pool_lock; /* protects pool lists */ + struct list_head fully_used; + struct list_head partially_used; + struct list_head unused; + int available_fcs; + int used_fcs; + int threshold; +}; + +struct mlx5_fc_stats { + spinlock_t counters_idr_lock; /* protects counters_idr */ + struct idr counters_idr; + struct list_head counters; + struct llist_head addlist; + struct llist_head dellist; + + struct workqueue_struct *wq; + struct delayed_work work; + unsigned long next_query; + unsigned long sampling_interval; /* jiffies */ + u32 *bulk_query_out; + int bulk_query_len; + size_t num_counters; + bool bulk_query_alloc_failed; + unsigned long next_bulk_query_alloc; + struct mlx5_fc_pool fc_pool; +}; + enum mlx5_cmd_mode { MLX5_CMD_MODE_POLLING, MLX5_CMD_MODE_EVENTS @@ -607,6 +638,7 @@ struct mlx5_priv { struct mlx5_bfreg_data bfregs; struct mlx5_uars_page *uar; + struct mlx5_fc_stats fc_stats; }; enum mlx5_device_state { @@ -963,6 +995,17 @@ int mlx5_cmd_exec_cb(struct mlx5_async_ctx *ctx, void *in, int in_size, struct mlx5_async_work *work); int mlx5_cmd_exec(struct mlx5_core_dev *dev, void *in, int in_size, void *out, int out_size); +#define mlx5_cmd_exec_inout(dev, ifc_cmd, in, out) \ + ({ \ + mlx5_cmd_exec(dev, in, MLX5_ST_SZ_BYTES(ifc_cmd##_in), out, \ + MLX5_ST_SZ_BYTES(ifc_cmd##_out)); \ + }) + +#define mlx5_cmd_exec_in(dev, ifc_cmd, in) \ + ({ \ + u32 _out[MLX5_ST_SZ_DW(ifc_cmd##_out)] = {}; \ + mlx5_cmd_exec_inout(dev, ifc_cmd, in, _out); \ + }) int mlx5_cmd_exec_polling(struct mlx5_core_dev *dev, void *in, int in_size, void *out, int out_size); int mlx5_cmd_alloc_uar(struct mlx5_core_dev *dev, u32 *uarn); diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index f62716d806d0..65d38b9ee67a 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -254,7 +254,6 @@ bool fs_match_exact_mask( void *mask1, void *mask2); /**********end API for sniffer**********/ - struct mlx5_modify_hdr *mlx5_modify_header_alloc(struct mlx5_core_dev *dev, enum mlx5_flow_namespace_type ns_type, u8 num_actions, @@ -275,4 +274,19 @@ struct mlx5_pkt_reformat *mlx5_packet_reformat_alloc(struct mlx5_core_dev *dev, enum mlx5_flow_namespace_type ns_type); void mlx5_packet_reformat_dealloc(struct mlx5_core_dev *dev, struct mlx5_pkt_reformat *pkt_reformat); +/********** Flow counters API **********/ +struct mlx5_fc; +struct mlx5_fc *mlx5_fc_create(struct mlx5_core_dev *dev, bool aging); + +/* As mlx5_fc_create() but doesn't queue stats refresh thread. */ +struct mlx5_fc *mlx5_fc_create_ex(struct mlx5_core_dev *dev, bool aging); + +void mlx5_fc_destroy(struct mlx5_core_dev *dev, struct mlx5_fc *counter); +u64 mlx5_fc_query_lastuse(struct mlx5_fc *counter); +void mlx5_fc_query_cached(struct mlx5_fc *counter, + u64 *bytes, u64 *packets, u64 *lastuse); +int mlx5_fc_query(struct mlx5_core_dev *dev, struct mlx5_fc *counter, + u64 *packets, u64 *bytes); +u32 mlx5_fc_id(struct mlx5_fc *counter); +/******* End of Flow counters API ******/ #endif diff --git a/sys/dev/mlx5/mlx5_core/fs_core.h b/sys/dev/mlx5/mlx5_core/fs_core.h index a9273fdab61c..05757f493469 100644 --- a/sys/dev/mlx5/mlx5_core/fs_core.h +++ b/sys/dev/mlx5/mlx5_core/fs_core.h @@ -323,4 +323,9 @@ int mlx5_cmd_packet_reformat_alloc(struct mlx5_core_dev *dev, struct mlx5_pkt_reformat *pkt_reformat); void mlx5_cmd_packet_reformat_dealloc(struct mlx5_core_dev *dev, struct mlx5_pkt_reformat *pkt_reformat); +int mlx5_init_fc_stats(struct mlx5_core_dev *dev); +void mlx5_cleanup_fc_stats(struct mlx5_core_dev *dev); +void mlx5_fc_queue_stats_work(struct mlx5_core_dev *dev, + struct delayed_work *dwork, + unsigned long delay); #endif diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fc_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_fc_cmd.c new file mode 100644 index 000000000000..f3410249e67f --- /dev/null +++ b/sys/dev/mlx5/mlx5_core/mlx5_fc_cmd.c @@ -0,0 +1,102 @@ +/*- + * Copyright (c) 2022 NVIDIA corporation & affiliates. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include +#include + +int mlx5_cmd_fc_bulk_alloc(struct mlx5_core_dev *dev, + enum mlx5_fc_bulk_alloc_bitmask alloc_bitmask, + u32 *id) +{ + u32 out[MLX5_ST_SZ_DW(alloc_flow_counter_out)] = {}; + u32 in[MLX5_ST_SZ_DW(alloc_flow_counter_in)] = {}; + int err; + + MLX5_SET(alloc_flow_counter_in, in, opcode, + MLX5_CMD_OP_ALLOC_FLOW_COUNTER); + MLX5_SET(alloc_flow_counter_in, in, flow_counter_bulk, alloc_bitmask); + + err = mlx5_cmd_exec_inout(dev, alloc_flow_counter, in, out); + if (!err) + *id = MLX5_GET(alloc_flow_counter_out, out, flow_counter_id); + return err; +} + +int mlx5_cmd_fc_alloc(struct mlx5_core_dev *dev, u32 *id) +{ + return mlx5_cmd_fc_bulk_alloc(dev, 0, id); +} + +int mlx5_cmd_fc_free(struct mlx5_core_dev *dev, u32 id) +{ + u32 in[MLX5_ST_SZ_DW(dealloc_flow_counter_in)] = {}; + + MLX5_SET(dealloc_flow_counter_in, in, opcode, + MLX5_CMD_OP_DEALLOC_FLOW_COUNTER); + MLX5_SET(dealloc_flow_counter_in, in, flow_counter_id, id); + return mlx5_cmd_exec_in(dev, dealloc_flow_counter, in); +} + +int mlx5_cmd_fc_query(struct mlx5_core_dev *dev, u32 id, + u64 *packets, u64 *bytes) +{ + u32 out[MLX5_ST_SZ_BYTES(query_flow_counter_out) + + MLX5_ST_SZ_BYTES(traffic_counter)] = {}; + u32 in[MLX5_ST_SZ_DW(query_flow_counter_in)] = {}; + void *stats; + int err = 0; + + MLX5_SET(query_flow_counter_in, in, opcode, + MLX5_CMD_OP_QUERY_FLOW_COUNTER); + MLX5_SET(query_flow_counter_in, in, op_mod, 0); + MLX5_SET(query_flow_counter_in, in, flow_counter_id, id); + err = mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); + if (err) + return err; + + stats = MLX5_ADDR_OF(query_flow_counter_out, out, flow_statistics); + *packets = MLX5_GET64(traffic_counter, stats, packets); + *bytes = MLX5_GET64(traffic_counter, stats, octets); + return 0; +} + +int mlx5_cmd_fc_bulk_query(struct mlx5_core_dev *dev, u32 base_id, int bulk_len, + u32 *out) +{ + int outlen = mlx5_cmd_fc_get_bulk_query_out_len(bulk_len); + u32 in[MLX5_ST_SZ_DW(query_flow_counter_in)] = {}; + + MLX5_SET(query_flow_counter_in, in, opcode, + MLX5_CMD_OP_QUERY_FLOW_COUNTER); + MLX5_SET(query_flow_counter_in, in, flow_counter_id, base_id); + MLX5_SET(query_flow_counter_in, in, num_of_counters, bulk_len); + return mlx5_cmd_exec(dev, in, sizeof(in), out, outlen); +} + diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fc_cmd.h b/sys/dev/mlx5/mlx5_core/mlx5_fc_cmd.h new file mode 100644 index 000000000000..3adebb3ca94c --- /dev/null +++ b/sys/dev/mlx5/mlx5_core/mlx5_fc_cmd.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2023, NVIDIA Technologies. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * OpenIB.org BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef _MLX5_FC_CMD_ +#define _MLX5_FC_CMD_ + +#include "fs_core.h" + +int mlx5_cmd_fc_alloc(struct mlx5_core_dev *dev, u32 *id); +int mlx5_cmd_fc_bulk_alloc(struct mlx5_core_dev *dev, + enum mlx5_fc_bulk_alloc_bitmask alloc_bitmask, + u32 *id); +int mlx5_cmd_fc_free(struct mlx5_core_dev *dev, u32 id); +int mlx5_cmd_fc_query(struct mlx5_core_dev *dev, u32 id, + u64 *packets, u64 *bytes); + +int mlx5_cmd_fc_bulk_query(struct mlx5_core_dev *dev, u32 base_id, int bulk_len, + u32 *out); +static inline int mlx5_cmd_fc_get_bulk_query_out_len(int bulk_len) +{ + return MLX5_ST_SZ_BYTES(query_flow_counter_out) + + MLX5_ST_SZ_BYTES(traffic_counter) * bulk_len; +} + +#endif diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_counters.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_counters.c new file mode 100644 index 000000000000..7214c5256388 --- /dev/null +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_counters.c @@ -0,0 +1,758 @@ +/*- + * Copyright (c) 2013-2019, Mellanox Technologies, Ltd. All rights reserved. + * Copyright (c) 2022 NVIDIA corporation & affiliates. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS `AS IS' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include +#include +#include +#include +#include +#include + +#define MLX5_FC_STATS_PERIOD msecs_to_jiffies(1000) +#define MLX5_FC_BULK_QUERY_ALLOC_PERIOD msecs_to_jiffies(180 * 1000) +/* Max number of counters to query in bulk read is 32K */ +#define MLX5_SW_MAX_COUNTERS_BULK BIT(15) +#define MLX5_INIT_COUNTERS_BULK 8 +#define MLX5_FC_POOL_MAX_THRESHOLD BIT(18) +#define MLX5_FC_POOL_USED_BUFF_RATIO 10 + +struct mlx5_fc_cache { + u64 packets; + u64 bytes; + u64 lastuse; +}; + +struct mlx5_fc { + struct list_head list; + struct llist_node addlist; + struct llist_node dellist; + + /* last{packets,bytes} members are used when calculating the delta since + * last reading + */ + u64 lastpackets; + u64 lastbytes; + + struct mlx5_fc_bulk *bulk; + u32 id; + bool aging; + + struct mlx5_fc_cache cache ____cacheline_aligned_in_smp; +}; + +static void mlx5_fc_pool_init(struct mlx5_fc_pool *fc_pool, struct mlx5_core_dev *dev); +static void mlx5_fc_pool_cleanup(struct mlx5_fc_pool *fc_pool); +static struct mlx5_fc *mlx5_fc_pool_acquire_counter(struct mlx5_fc_pool *fc_pool); +static void mlx5_fc_pool_release_counter(struct mlx5_fc_pool *fc_pool, struct mlx5_fc *fc); + +/* locking scheme: + * + * It is the responsibility of the user to prevent concurrent calls or bad + * ordering to mlx5_fc_create(), mlx5_fc_destroy() and accessing a reference + * to struct mlx5_fc. + * e.g en_tc.c is protected by RTNL lock of its caller, and will never call a + * dump (access to struct mlx5_fc) after a counter is destroyed. + * + * access to counter list: + * - create (user context) + * - mlx5_fc_create() only adds to an addlist to be used by + * mlx5_fc_stats_work(). addlist is a lockless single linked list + * that doesn't require any additional synchronization when adding single + * node. + * - spawn thread to do the actual destroy + * + * - destroy (user context) + * - add a counter to lockless dellist + * - spawn thread to do the actual del + * + * - dump (user context) + * user should not call dump after destroy + * + * - query (single thread workqueue context) + * destroy/dump - no conflict (see destroy) + * query/dump - packets and bytes might be inconsistent (since update is not + * atomic) + * query/create - no conflict (see create) + * since every create/destroy spawn the work, only after necessary time has + * elapsed, the thread will actually query the hardware. + */ + +static struct list_head *mlx5_fc_counters_lookup_next(struct mlx5_core_dev *dev, + u32 id) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + struct mlx5_fc *counter; + int next_id = id + 1; + + rcu_read_lock(); + /* skip counters that are in idr, but not yet in counters list */ + while ((counter = idr_get_next(&fc_stats->counters_idr, &next_id)) != NULL && + list_empty(&counter->list)) + next_id++; + rcu_read_unlock(); + + return counter ? &counter->list : &fc_stats->counters; +} + +static void mlx5_fc_stats_insert(struct mlx5_core_dev *dev, + struct mlx5_fc *counter) +{ + struct list_head *next = mlx5_fc_counters_lookup_next(dev, counter->id); + + list_add_tail(&counter->list, next); +} + +static void mlx5_fc_stats_remove(struct mlx5_core_dev *dev, + struct mlx5_fc *counter) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + + list_del(&counter->list); + + spin_lock(&fc_stats->counters_idr_lock); + WARN_ON(!idr_remove(&fc_stats->counters_idr, counter->id)); + spin_unlock(&fc_stats->counters_idr_lock); +} + +static int get_init_bulk_query_len(struct mlx5_core_dev *dev) +{ + return min_t(int, MLX5_INIT_COUNTERS_BULK, + (1 << MLX5_CAP_GEN(dev, log_max_flow_counter_bulk))); +} + +static int get_max_bulk_query_len(struct mlx5_core_dev *dev) +{ + return min_t(int, MLX5_SW_MAX_COUNTERS_BULK, + (1 << MLX5_CAP_GEN(dev, log_max_flow_counter_bulk))); +} + +static void update_counter_cache(int index, u32 *bulk_raw_data, + struct mlx5_fc_cache *cache) +{ + void *stats = MLX5_ADDR_OF(query_flow_counter_out, bulk_raw_data, + flow_statistics[index]); + u64 packets = MLX5_GET64(traffic_counter, stats, packets); + u64 bytes = MLX5_GET64(traffic_counter, stats, octets); + + if (cache->packets == packets) + return; + + cache->packets = packets; + cache->bytes = bytes; + cache->lastuse = jiffies; +} + +static void mlx5_fc_stats_query_counter_range(struct mlx5_core_dev *dev, + struct mlx5_fc *first, + u32 last_id) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + bool query_more_counters = (first->id <= last_id); + int cur_bulk_len = fc_stats->bulk_query_len; + u32 *data = fc_stats->bulk_query_out; + struct mlx5_fc *counter = first; + u32 bulk_base_id; + int bulk_len; + int err; + + while (query_more_counters) { + /* first id must be aligned to 4 when using bulk query */ + bulk_base_id = counter->id & ~0x3; + + /* number of counters to query inc. the last counter */ + bulk_len = min_t(int, cur_bulk_len, + ALIGN(last_id - bulk_base_id + 1, 4)); + + err = mlx5_cmd_fc_bulk_query(dev, bulk_base_id, bulk_len, + data); + if (err) { + mlx5_core_err(dev, "Error doing bulk query: %d\n", err); + return; + } + query_more_counters = false; + + list_for_each_entry_from(counter, &fc_stats->counters, list) { + int counter_index = counter->id - bulk_base_id; + struct mlx5_fc_cache *cache = &counter->cache; + + if (counter->id >= bulk_base_id + bulk_len) { + query_more_counters = true; + break; + } + + update_counter_cache(counter_index, data, cache); + } + } +} + +static void mlx5_fc_free(struct mlx5_core_dev *dev, struct mlx5_fc *counter) +{ + mlx5_cmd_fc_free(dev, counter->id); + kfree(counter); +} + +static void mlx5_fc_release(struct mlx5_core_dev *dev, struct mlx5_fc *counter) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + + if (counter->bulk) + mlx5_fc_pool_release_counter(&fc_stats->fc_pool, counter); + else + mlx5_fc_free(dev, counter); +} + +static void mlx5_fc_stats_bulk_query_size_increase(struct mlx5_core_dev *dev) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + int max_bulk_len = get_max_bulk_query_len(dev); + unsigned long now = jiffies; + u32 *bulk_query_out_tmp; + int max_out_len; + + if (fc_stats->bulk_query_alloc_failed && + time_before(now, fc_stats->next_bulk_query_alloc)) + return; + + max_out_len = mlx5_cmd_fc_get_bulk_query_out_len(max_bulk_len); + bulk_query_out_tmp = kzalloc(max_out_len, GFP_KERNEL); + if (!bulk_query_out_tmp) { + mlx5_core_warn(dev, + "Can't increase flow counters bulk query buffer size, insufficient memory, bulk_size(%d)\n", + max_bulk_len); + fc_stats->bulk_query_alloc_failed = true; + fc_stats->next_bulk_query_alloc = + now + MLX5_FC_BULK_QUERY_ALLOC_PERIOD; + return; + } + + kfree(fc_stats->bulk_query_out); + fc_stats->bulk_query_out = bulk_query_out_tmp; + fc_stats->bulk_query_len = max_bulk_len; + if (fc_stats->bulk_query_alloc_failed) { + mlx5_core_info(dev, + "Flow counters bulk query buffer size increased, bulk_size(%d)\n", + max_bulk_len); + fc_stats->bulk_query_alloc_failed = false; + } +} + +static void mlx5_fc_stats_work(struct work_struct *work) +{ + struct mlx5_core_dev *dev = container_of(work, struct mlx5_core_dev, + priv.fc_stats.work.work); + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + /* Take dellist first to ensure that counters cannot be deleted before + * they are inserted. + */ + struct llist_node *dellist = llist_del_all(&fc_stats->dellist); + struct llist_node *addlist = llist_del_all(&fc_stats->addlist); + struct mlx5_fc *counter = NULL, *last = NULL, *tmp; + unsigned long now = jiffies; + + if (addlist || !list_empty(&fc_stats->counters)) + queue_delayed_work(fc_stats->wq, &fc_stats->work, + fc_stats->sampling_interval); + + llist_for_each_entry(counter, addlist, addlist) { + mlx5_fc_stats_insert(dev, counter); + fc_stats->num_counters++; + } + + llist_for_each_entry_safe(counter, tmp, dellist, dellist) { + mlx5_fc_stats_remove(dev, counter); + + mlx5_fc_release(dev, counter); + fc_stats->num_counters--; + } + + if (fc_stats->bulk_query_len < get_max_bulk_query_len(dev) && + fc_stats->num_counters > get_init_bulk_query_len(dev)) + mlx5_fc_stats_bulk_query_size_increase(dev); + + if (time_before(now, fc_stats->next_query) || + list_empty(&fc_stats->counters)) + return; + last = list_last_entry(&fc_stats->counters, struct mlx5_fc, list); + + counter = list_first_entry(&fc_stats->counters, struct mlx5_fc, + list); + if (counter) + mlx5_fc_stats_query_counter_range(dev, counter, last->id); + + fc_stats->next_query = now + fc_stats->sampling_interval; +} + +static struct mlx5_fc *mlx5_fc_single_alloc(struct mlx5_core_dev *dev) +{ + struct mlx5_fc *counter; + int err; + + counter = kzalloc(sizeof(*counter), GFP_KERNEL); + if (!counter) + return ERR_PTR(-ENOMEM); + + err = mlx5_cmd_fc_alloc(dev, &counter->id); + if (err) { + kfree(counter); + return ERR_PTR(err); + } + + return counter; +} + +static struct mlx5_fc *mlx5_fc_acquire(struct mlx5_core_dev *dev, bool aging) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + struct mlx5_fc *counter; + + if (aging && MLX5_CAP_GEN(dev, flow_counter_bulk_alloc) != 0) { + counter = mlx5_fc_pool_acquire_counter(&fc_stats->fc_pool); + if (!IS_ERR(counter)) + return counter; + } + + return mlx5_fc_single_alloc(dev); +} + +struct mlx5_fc *mlx5_fc_create_ex(struct mlx5_core_dev *dev, bool aging) +{ + struct mlx5_fc *counter = mlx5_fc_acquire(dev, aging); + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + int err = 0; + + if (IS_ERR(counter)) + return counter; + + INIT_LIST_HEAD(&counter->list); + counter->aging = aging; + + if (aging) { + u32 id = counter->id; + + counter->cache.lastuse = jiffies; + counter->lastbytes = counter->cache.bytes; + counter->lastpackets = counter->cache.packets; + + idr_preload(GFP_KERNEL); + spin_lock(&fc_stats->counters_idr_lock); + + err = idr_alloc(&fc_stats->counters_idr, counter, id, id + 1, + GFP_NOWAIT); + + spin_unlock(&fc_stats->counters_idr_lock); + idr_preload_end(); + if (err < 0 || err != id) + goto err_out_alloc; + + llist_add(&counter->addlist, &fc_stats->addlist); + } + + return counter; + +err_out_alloc: + mlx5_fc_release(dev, counter); + return ERR_PTR(err); +} + +struct mlx5_fc *mlx5_fc_create(struct mlx5_core_dev *dev, bool aging) +{ + struct mlx5_fc *counter = mlx5_fc_create_ex(dev, aging); + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + + if (aging) + mod_delayed_work(fc_stats->wq, &fc_stats->work, 0); + return counter; +} +EXPORT_SYMBOL(mlx5_fc_create); + +u32 mlx5_fc_id(struct mlx5_fc *counter) +{ + return counter->id; +} +EXPORT_SYMBOL(mlx5_fc_id); + +void mlx5_fc_destroy(struct mlx5_core_dev *dev, struct mlx5_fc *counter) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + + if (!counter) + return; + + if (counter->aging) { + llist_add(&counter->dellist, &fc_stats->dellist); + mod_delayed_work(fc_stats->wq, &fc_stats->work, 0); + return; + } + + mlx5_fc_release(dev, counter); +} +EXPORT_SYMBOL(mlx5_fc_destroy); + +int mlx5_init_fc_stats(struct mlx5_core_dev *dev) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + int init_bulk_len; + int init_out_len; + + spin_lock_init(&fc_stats->counters_idr_lock); + idr_init(&fc_stats->counters_idr); + INIT_LIST_HEAD(&fc_stats->counters); + init_llist_head(&fc_stats->addlist); + init_llist_head(&fc_stats->dellist); + + init_bulk_len = get_init_bulk_query_len(dev); + init_out_len = mlx5_cmd_fc_get_bulk_query_out_len(init_bulk_len); + fc_stats->bulk_query_out = kzalloc(init_out_len, GFP_KERNEL); + if (!fc_stats->bulk_query_out) + return -ENOMEM; + fc_stats->bulk_query_len = init_bulk_len; + + fc_stats->wq = create_singlethread_workqueue("mlx5_fc"); + if (!fc_stats->wq) + goto err_wq_create; + + fc_stats->sampling_interval = MLX5_FC_STATS_PERIOD; + INIT_DELAYED_WORK(&fc_stats->work, mlx5_fc_stats_work); + + mlx5_fc_pool_init(&fc_stats->fc_pool, dev); + return 0; + +err_wq_create: + kfree(fc_stats->bulk_query_out); + return -ENOMEM; +} + +void mlx5_cleanup_fc_stats(struct mlx5_core_dev *dev) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + struct llist_node *tmplist; + struct mlx5_fc *counter; + struct mlx5_fc *tmp; + + if (!dev->priv.fc_stats.wq) + return; + + cancel_delayed_work_sync(&dev->priv.fc_stats.work); + destroy_workqueue(dev->priv.fc_stats.wq); + dev->priv.fc_stats.wq = NULL; + + tmplist = llist_del_all(&fc_stats->addlist); + llist_for_each_entry_safe(counter, tmp, tmplist, addlist) + mlx5_fc_release(dev, counter); + + list_for_each_entry_safe(counter, tmp, &fc_stats->counters, list) + mlx5_fc_release(dev, counter); + + mlx5_fc_pool_cleanup(&fc_stats->fc_pool); + idr_destroy(&fc_stats->counters_idr); + kfree(fc_stats->bulk_query_out); +} + +int mlx5_fc_query(struct mlx5_core_dev *dev, struct mlx5_fc *counter, + u64 *packets, u64 *bytes) +{ + return mlx5_cmd_fc_query(dev, counter->id, packets, bytes); +} +EXPORT_SYMBOL(mlx5_fc_query); + +u64 mlx5_fc_query_lastuse(struct mlx5_fc *counter) +{ + return counter->cache.lastuse; +} + +void mlx5_fc_query_cached(struct mlx5_fc *counter, + u64 *bytes, u64 *packets, u64 *lastuse) +{ + struct mlx5_fc_cache c; + + c = counter->cache; + + *bytes = c.bytes - counter->lastbytes; + *packets = c.packets - counter->lastpackets; + *lastuse = c.lastuse; + + counter->lastbytes = c.bytes; + counter->lastpackets = c.packets; +} + +void mlx5_fc_queue_stats_work(struct mlx5_core_dev *dev, + struct delayed_work *dwork, + unsigned long delay) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + + queue_delayed_work(fc_stats->wq, dwork, delay); +} + +void mlx5_fc_update_sampling_interval(struct mlx5_core_dev *dev, + unsigned long interval) +{ + struct mlx5_fc_stats *fc_stats = &dev->priv.fc_stats; + + fc_stats->sampling_interval = min_t(unsigned long, interval, + fc_stats->sampling_interval); +} + +/* Flow counter bluks */ + +struct mlx5_fc_bulk { + struct list_head pool_list; + u32 base_id; + int bulk_len; + unsigned long *bitmask; + struct mlx5_fc fcs[]; +}; + +static void mlx5_fc_init(struct mlx5_fc *counter, struct mlx5_fc_bulk *bulk, + u32 id) +{ + counter->bulk = bulk; + counter->id = id; +} + +static int mlx5_fc_bulk_get_free_fcs_amount(struct mlx5_fc_bulk *bulk) +{ + return bitmap_weight(bulk->bitmask, bulk->bulk_len); +} + +static struct mlx5_fc_bulk *mlx5_fc_bulk_create(struct mlx5_core_dev *dev) +{ + enum mlx5_fc_bulk_alloc_bitmask alloc_bitmask; + struct mlx5_fc_bulk *bulk; + int err = -ENOMEM; + int bulk_len; + u32 base_id; + int i; + + alloc_bitmask = MLX5_CAP_GEN(dev, flow_counter_bulk_alloc); + bulk_len = alloc_bitmask > 0 ? MLX5_FC_BULK_NUM_FCS(alloc_bitmask) : 1; + + bulk = kvzalloc(struct_size(bulk, fcs, bulk_len), GFP_KERNEL); + if (!bulk) + goto err_alloc_bulk; + + bulk->bitmask = kvcalloc(BITS_TO_LONGS(bulk_len), sizeof(unsigned long), + GFP_KERNEL); + if (!bulk->bitmask) + goto err_alloc_bitmask; + + err = mlx5_cmd_fc_bulk_alloc(dev, alloc_bitmask, &base_id); + if (err) + goto err_mlx5_cmd_bulk_alloc; + + bulk->base_id = base_id; + bulk->bulk_len = bulk_len; + for (i = 0; i < bulk_len; i++) { + mlx5_fc_init(&bulk->fcs[i], bulk, base_id + i); + set_bit(i, bulk->bitmask); + } + + return bulk; + +err_mlx5_cmd_bulk_alloc: + kvfree(bulk->bitmask); +err_alloc_bitmask: + kvfree(bulk); +err_alloc_bulk: + return ERR_PTR(err); +} + +static int +mlx5_fc_bulk_destroy(struct mlx5_core_dev *dev, struct mlx5_fc_bulk *bulk) +{ + if (mlx5_fc_bulk_get_free_fcs_amount(bulk) < bulk->bulk_len) { + mlx5_core_err(dev, "Freeing bulk before all counters were released\n"); + return -EBUSY; + } + + mlx5_cmd_fc_free(dev, bulk->base_id); + kvfree(bulk->bitmask); + kvfree(bulk); + + return 0; +} + +static struct mlx5_fc *mlx5_fc_bulk_acquire_fc(struct mlx5_fc_bulk *bulk) +{ + int free_fc_index = find_first_bit(bulk->bitmask, bulk->bulk_len); + + if (free_fc_index >= bulk->bulk_len) + return ERR_PTR(-ENOSPC); + + clear_bit(free_fc_index, bulk->bitmask); + return &bulk->fcs[free_fc_index]; +} + +static int mlx5_fc_bulk_release_fc(struct mlx5_fc_bulk *bulk, struct mlx5_fc *fc) +{ + int fc_index = fc->id - bulk->base_id; + + if (test_bit(fc_index, bulk->bitmask)) + return -EINVAL; + + set_bit(fc_index, bulk->bitmask); + return 0; +} + +/* Flow counters pool API */ + +static void mlx5_fc_pool_init(struct mlx5_fc_pool *fc_pool, struct mlx5_core_dev *dev) +{ + fc_pool->dev = dev; + mutex_init(&fc_pool->pool_lock); + INIT_LIST_HEAD(&fc_pool->fully_used); + INIT_LIST_HEAD(&fc_pool->partially_used); + INIT_LIST_HEAD(&fc_pool->unused); + fc_pool->available_fcs = 0; + fc_pool->used_fcs = 0; + fc_pool->threshold = 0; +} + +static void mlx5_fc_pool_cleanup(struct mlx5_fc_pool *fc_pool) +{ + struct mlx5_core_dev *dev = fc_pool->dev; + struct mlx5_fc_bulk *bulk; + struct mlx5_fc_bulk *tmp; + + list_for_each_entry_safe(bulk, tmp, &fc_pool->fully_used, pool_list) + mlx5_fc_bulk_destroy(dev, bulk); + list_for_each_entry_safe(bulk, tmp, &fc_pool->partially_used, pool_list) + mlx5_fc_bulk_destroy(dev, bulk); + list_for_each_entry_safe(bulk, tmp, &fc_pool->unused, pool_list) + mlx5_fc_bulk_destroy(dev, bulk); +} + +static void mlx5_fc_pool_update_threshold(struct mlx5_fc_pool *fc_pool) +{ + fc_pool->threshold = min_t(int, MLX5_FC_POOL_MAX_THRESHOLD, + fc_pool->used_fcs / MLX5_FC_POOL_USED_BUFF_RATIO); +} + +static struct mlx5_fc_bulk * +mlx5_fc_pool_alloc_new_bulk(struct mlx5_fc_pool *fc_pool) +{ + struct mlx5_core_dev *dev = fc_pool->dev; + struct mlx5_fc_bulk *new_bulk; + + new_bulk = mlx5_fc_bulk_create(dev); + if (!IS_ERR(new_bulk)) + fc_pool->available_fcs += new_bulk->bulk_len; + mlx5_fc_pool_update_threshold(fc_pool); + return new_bulk; +} *** 175 LINES SKIPPED *** From nobody Wed Nov 22 01:52:00 2023 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 4SZkkn0Q9Sz51W0c; Wed, 22 Nov 2023 01:52:01 +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 4SZkkm6zpYz3HqH; Wed, 22 Nov 2023 01:52:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617921; 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=MPPW4yFGIMOk016Ju+lmfs+s4LVfpPIVTrOyvTG6ZX0=; b=PYxeRelkPTOtjpGoSHRxZllunNaFQJqjUKREIA9BXrS36QDG7XC+e2p90x7PupqvIOiXi2 0KcP+WTAKSJPzEg+3gJ5o57PUaEbnCBfVUTfZvEV6oLPX1bGa6Gik6pscL+qjQLbZRVbx4 oCqS0qd5jZgLyBx+B4PORPO9Ufkg1haa3o//sbRv/oODT/L/1tRYrCPDfSUpm5OqxDY2Up u13SVwMcvAAXUAo+kTuqevica/H7uGP88Plm5N2B8aHN+KR23mZLJPJJePppXxTmQKvzd8 6+laP2uaF+vXYK5geBRqtjE21neYGk1qXkOBJh7N0gjVwXzp2yFn3LMWS5ksjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617921; 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=MPPW4yFGIMOk016Ju+lmfs+s4LVfpPIVTrOyvTG6ZX0=; b=OIEM7EDHEqo6H9YCgWX7Ryf+AEhUMUoTcZXLAGx3Ykd/1Osd3J/is2SXKeMBZmsHkVvY5Z +5O4D0tsCHZEMNic+lxaZo45EjqnzCsOfHWe3yO8YVCFyUwPqTpCBvudmxjEo3FIGJikSC lsv//l75ZiFiARuvf69uZ2LGjeJdew8ifExNc/2AzytpNxUf/VUgAsjw8ihfmgZ39Z5vHR XeWl1j4AyhZ5UeS5bKyqbMzO2pfV93tTeiAqkaseV5BrDYSYhxjrLF7YhBA1Ofty08dTSl JsFro78aKwE6FgvnT/Hv7TAL/AclEGpWsiDVOSc1E0HlK5hBpuT/wCUmOe0E8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617921; a=rsa-sha256; cv=none; b=hFTml9sw2L+6kGSp3CYqEj+fWXID+/XZ3S8VWn3PWWXxhTQRnjptBFNd1kAy4WgeetmQqO DLfPS3LD4X9BOMfhKE5hC+JZqg8oDuAvQnYUMAwuPW36T6fBkq1nXCCd2KZhW8YXEU1CRK aAMkBMJPNy+6fcqQI3GELKgr7XALtfDfmueVPqY0HMemiobvqn/SVrQfoY4k44aeO2+LMt 4RzW7d4n+n2z+2DzBXc5wn68uRcYIUK7OIDsM0Kkd7cvRv72KIvozgMVQRX46Tlfi9H61E 92iqVu+sTP/ce5UZJZLnOXl0lKjC5zsgPUexJUz/mJM2Q3L1nIo3gHnAG6hMkQ== 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 4SZkkm65qGz10Dp; Wed, 22 Nov 2023 01:52:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1q0Tr079317; Wed, 22 Nov 2023 01:52:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1q0Yk079303; Wed, 22 Nov 2023 01:52:00 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:52:00 GMT Message-Id: <202311220152.3AM1q0Yk079303@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: e073fccf1456 - stable/14 - mlx5: add ability to attach flow counter to steering rule 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e073fccf14569f61b312078d0cee9a6f6eb17a37 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e073fccf14569f61b312078d0cee9a6f6eb17a37 commit e073fccf14569f61b312078d0cee9a6f6eb17a37 Author: Mark Bloch AuthorDate: 2023-02-22 05:44:56 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:28 +0000 mlx5: add ability to attach flow counter to steering rule (cherry picked from commit ad744541311bfddd74ea3c5d49d52a4c366b9762) --- sys/dev/mlx5/fs.h | 2 ++ sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c | 19 +++++++++++++++++-- sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 3 +++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index 65d38b9ee67a..8aaa0e201f4a 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -94,6 +94,7 @@ enum mlx5_flow_act_actions { MLX5_FLOW_ACT_ACTIONS_FLOW_TAG = 1 << 0, MLX5_FLOW_ACT_ACTIONS_MODIFY_HDR = 1 << 1, MLX5_FLOW_ACT_ACTIONS_PACKET_REFORMAT = 1 << 2, + MLX5_FLOW_ACT_ACTIONS_COUNT = 1 << 3, }; enum MLX5_FLOW_ACT_FLAGS { @@ -106,6 +107,7 @@ struct mlx5_flow_act { u32 flow_tag; struct mlx5_modify_hdr *modify_hdr; struct mlx5_pkt_reformat *pkt_reformat; + struct mlx5_fc *counter; }; #define FT_NAME_STR_SZ 20 diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c index 8032d1a632e5..0f827f0e69d3 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_cmd.c @@ -182,6 +182,7 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, int modify_mask = 0; int atomic_mod_cap; u32 prm_action = 0; + int count_list = 0; if (sw_action != MLX5_FLOW_RULE_FWD_ACTION_DEST) dest_size = 0; @@ -195,8 +196,13 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, if (sw_action & MLX5_FLOW_RULE_FWD_ACTION_DEST) prm_action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; + if (flow_act->actions & MLX5_FLOW_ACT_ACTIONS_COUNT) { + prm_action |= MLX5_FLOW_CONTEXT_ACTION_COUNT; + count_list = 1; + } + inlen = MLX5_ST_SZ_BYTES(set_fte_in) + - dest_size * MLX5_ST_SZ_BYTES(dest_format_struct); + (dest_size + count_list) * MLX5_ST_SZ_BYTES(dest_format_struct); if (!dev) return -EINVAL; @@ -248,8 +254,10 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, in_match_value = MLX5_ADDR_OF(flow_context, in_flow_context, match_value); memcpy(in_match_value, match_val, MLX5_ST_SZ_BYTES(fte_match_param)); + + in_dests = MLX5_ADDR_OF(flow_context, in_flow_context, destination); + if (dest_size) { - in_dests = MLX5_ADDR_OF(flow_context, in_flow_context, destination); list_for_each_entry(dst, dests, base.list) { unsigned int id; @@ -265,6 +273,13 @@ int mlx5_cmd_fs_set_fte(struct mlx5_core_dev *dev, } } + if (flow_act->actions & MLX5_FLOW_ACT_ACTIONS_COUNT) { + MLX5_SET(dest_format_struct, in_dests, destination_id, + mlx5_fc_id(flow_act->counter)); + in_dests += MLX5_ST_SZ_BYTES(dest_format_struct); + MLX5_SET(flow_context, in_flow_context, flow_counter_list_size, 1); + } + MLX5_SET(flow_context, in_flow_context, action, prm_action); err = mlx5_cmd_exec(dev, in, inlen, out, sizeof(out)); if (!err) diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index 91543d3878ef..5966a73c58d1 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -1788,6 +1788,9 @@ static bool check_conflicting_actions(const struct mlx5_flow_act *act1, if (action1 & MLX5_FLOW_ACT_ACTIONS_PACKET_REFORMAT) return true; + if (action1 & MLX5_FLOW_ACT_ACTIONS_COUNT) + return true; + return false; } From nobody Wed Nov 22 01:52:01 2023 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 4SZkkp2bF0z51WRX; Wed, 22 Nov 2023 01:52:02 +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 4SZkkp0zdhz3Ht5; Wed, 22 Nov 2023 01:52:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617922; 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=5MZs0E4GsBcMkQBd5dLyM9mkuda6deT95mSV0dZtsy8=; b=w24qEsDfaAcMVRFHBWhrlDOm4PZL/cX3+7ZkXCZV2746LK8NhIroblseJL2248I+Z1wN8C 0J2mYo1sq6pYrcpoR+y34q4ZFNTQzK08cPAn6o+2GvKgpNqRUF+8SRgnU8091BBhezQxCy FdFAOhe8Im3t+Eia/aq5fWWasqDpy1vCRQWuhOlEsS7KVa+5+jUoiIcVTHT8bWEAIE6Bcb 0S9DRntDYFX+ua2lmRB4F9uvstrI8xfARpUYcQ1pSDXiurdwjvu3s3sG55cJGqll6rn50E GIbxs3qbKhiXciW4fHoGdSXG6DtxOiWJBVC6F6Zhlp5OjzB9+qyHtyV1mAAHdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617922; 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=5MZs0E4GsBcMkQBd5dLyM9mkuda6deT95mSV0dZtsy8=; b=UuDlyj9f8XPYtjhU5YZ++bNp2Ds4jHRwPN0uYvJQPptRuBivZe5R+XLP4GEK1aPjxYnlC+ 05mgFx8HITJAyfGVzStm5eMlkAVm7cEbQ7p+GKW8Zh8Pu8960vUZpOZiMDIkrA4okOOHN5 ph+rPnYRVFPAOURJPA2oD+bK64IxFMMX0i+eTg02TgVQ1ootzTQGM5UWu+meKehZqaKg9u fKO7kJuJEmjjeQj7WaQsA5NuxrDjt/VEXBLeDb/uZk/rOph+a4CtyPejI3lHapalZbe7Zz v4OkezJsisDbVs95QbqWjgV0h3fJeZFynlQVAYOeoCi0rj2LNVFA7QdGDqirjQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617922; a=rsa-sha256; cv=none; b=NslVsHJXtgeh4p4Lpb+XMtgErHr1ptS81mucdvRX8Zs819qOSI822xUZByJ8IDtNigIZ7X njEQgIZr1DVSCw2ynWtKNPI73htma6WYMmUrv9zpfs8VFvjpqD9lA4P9hlApBqhaq/ZJf7 wVPGgxP0x1AZJE4llXVBbtCL1iphIawUgGf8lDHqIAWgHNTGD9K8+pWkJP3Y5NOcOsDMQs 1TwrC2vQSmeYV0OBxPUfTW4J/CuQRIJXvPSMV6ClQCGcGcKAkEZZV1vu3M/4qiP+9T+SUB TR2+D3e1/ageo+Ans633X8zZzyuD1M1UjKc9/VrafztNEQ73JzNGCuwJGZfkBg== 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 4SZkkp05qCzyns; Wed, 22 Nov 2023 01:52:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1q1Sk080749; Wed, 22 Nov 2023 01:52:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1q1Oj080732; Wed, 22 Nov 2023 01:52:01 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:52:01 GMT Message-Id: <202311220152.3AM1q1Oj080732@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: d82618894153 - stable/14 - mlx5ib: adjust for the mlx5_create_auto_grouped_flow_table() interface change 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d82618894153d0f53b272a0c76fd180658efbb41 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d82618894153d0f53b272a0c76fd180658efbb41 commit d82618894153d0f53b272a0c76fd180658efbb41 Author: Konstantin Belousov AuthorDate: 2023-11-13 00:16:51 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:28 +0000 mlx5ib: adjust for the mlx5_create_auto_grouped_flow_table() interface change (cherry picked from commit b94ef2a3bcbb369d85b276a45504d42f2f2cd369) --- sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c index b4c9115bc420..027f8ded3faf 100644 --- a/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c +++ b/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c @@ -2157,7 +2157,8 @@ static struct mlx5_ib_flow_prio *get_flow_table(struct mlx5_ib_dev *dev, if (!ft) { ft = mlx5_create_auto_grouped_flow_table(ns, priority, "bypass", num_entries, - num_groups); + num_groups, + 0); if (!IS_ERR(ft)) { prio->refcount = 0; From nobody Wed Nov 22 01:52:03 2023 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 4SZkkq44z2z51WB5; Wed, 22 Nov 2023 01:52:03 +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 4SZkkq1ymtz3HZP; Wed, 22 Nov 2023 01:52:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617923; 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=lxv5bl/g6F/0n8Mov7ljJWp6B+9HHI0rIi5A7JMikoI=; b=m6sL7PtjghLBl/dq1MVFScrJdkLVw94c4zzV/GnG8pFIJQZ5VUORKBSR2Ssz23X08gJwU0 oOf9yOV/uF8/qVxfLa9jJBvKfv5KsayFcdpIeYP5zT7TN9YbdEjqkrAQ5uz3NyMcgmLb1p t2bkhAatu3xfSu5dtgxoxanWW2N/2smNyN73Pw7waaw9wl9zCtQdZs3mfQZG6+53fxUdzP En2NGSR3DHjjS2m8XUSwSAUXL5Sy5nRGjpRvOnRrJaFY6sXfLWQba6caayD1xSU+LHpMPV fcGEPejXjQaUn1OZw9PBCyYyS9t708PK4MBsl7+s9MXTvlqpJD2LQhjurSVrmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617923; 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=lxv5bl/g6F/0n8Mov7ljJWp6B+9HHI0rIi5A7JMikoI=; b=Fo4lJND/aV6Sb1rGKQiAzNC8wdjc8cYXg94L/XpL9exkRABF5kAhWSYICJCSQXOSOsVHKM Hj9u6ARto/GwGE+IdshHpRQQN4RnaH8G2iZETf+cVk4pD4Y092ExD8AyKhe9DyaySwwYtq 2s9UP06pUAYb0rjYc0z61ApoFRB2Oh8fy3JPUuz5uDHA7FjPAU5QvWXBH8StxsjV+ldA8v dy8l/eyEkOUVBKz+aQLDzBSo3ntHObHMp3zqygEeq3FaG+nh7CQrjZe7s4rXF2VYlh82Fn p8CgiAoxbCqRD87xfjSp5Npq+1eeo32e5zQDEBAvFwt2URwCSwG8/MC8v6Ykdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617923; a=rsa-sha256; cv=none; b=ZcH+UtyTn4+jOGLcf5OgxgTLylom0o/d3+cgYJpW+mJurGjkRQRekNDPVOmS8+vMMIKgO0 vytp6IfY8rN91hxnAyz01mlL3iUa6sxnvMHGc9woXTo1r7nbkGm5kCXMM6gw3JfNxN4fSv /OtythHMIdUFA5Pzqgcd1Uq00TP6bjgaCZ520BuBmUdMoR9U6+zecdnGNwahUW3IEsCquk f24o+usqzsmmh1huBPsm0wzEHvGaEoXrn54hd0iwMPNUm7fzRWzmu03Dwoh0wIa2DjfKXV 26ms9lr0jvemdEUAOAV1aw6RGZgnosd16MrF9rPjPKvHSe6FKCRdi0Ce1Zl9kQ== 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 4SZkkq0rmQz10Dr; Wed, 22 Nov 2023 01:52:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1q3bG080982; Wed, 22 Nov 2023 01:52:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1q3qu080979; Wed, 22 Nov 2023 01:52:03 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:52:03 GMT Message-Id: <202311220152.3AM1q3qu080979@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 588203bfbdc4 - stable/14 - mlx5: Introduce new destination type TABLE_TYPE 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 588203bfbdc46073dc8b4515d31a6a9efe3d9a3c Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=588203bfbdc46073dc8b4515d31a6a9efe3d9a3c commit 588203bfbdc46073dc8b4515d31a6a9efe3d9a3c Author: Patrisious Haddad AuthorDate: 2023-04-04 06:01:24 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:28 +0000 mlx5: Introduce new destination type TABLE_TYPE (cherry picked from commit 7b959396ca6fae5635260131eedb9bc19f2726a3) --- sys/dev/mlx5/device.h | 4 +++ sys/dev/mlx5/mlx5_core/mlx5_main.c | 43 +++++++++++++++++++++++++++++ sys/dev/mlx5/mlx5_ifc.h | 55 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 100 insertions(+), 2 deletions(-) diff --git a/sys/dev/mlx5/device.h b/sys/dev/mlx5/device.h index 11afc68efdf2..4b7cf8686794 100644 --- a/sys/dev/mlx5/device.h +++ b/sys/dev/mlx5/device.h @@ -993,6 +993,7 @@ enum mlx5_cap_type { MLX5_CAP_DEC, MLX5_CAP_TLS, MLX5_CAP_DEV_EVENT = 0x14, + MLX5_CAP_GENERAL_2 = 0x20, /* NUM OF CAP Types */ MLX5_CAP_NUM }; @@ -1031,6 +1032,9 @@ enum mlx5_mcam_feature_groups { #define MLX5_CAP_GEN_MAX(mdev, cap) \ MLX5_GET(cmd_hca_cap, mdev->hca_caps_max[MLX5_CAP_GENERAL], cap) +#define MLX5_CAP_GEN_2(mdev, cap) \ + MLX5_GET(cmd_hca_cap_2, mdev->hca_caps_cur[MLX5_CAP_GENERAL_2], cap) + #define MLX5_CAP_ETH(mdev, cap) \ MLX5_GET(per_protocol_networking_offload_caps,\ mdev->hca_caps_cur[MLX5_CAP_ETHERNET_OFFLOADS], cap) diff --git a/sys/dev/mlx5/mlx5_core/mlx5_main.c b/sys/dev/mlx5/mlx5_core/mlx5_main.c index df38a41a8be0..efaf726e19e5 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_main.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_main.c @@ -559,6 +559,43 @@ static int handle_hca_cap_atomic(struct mlx5_core_dev *dev) return err; } +static int handle_hca_cap_2(struct mlx5_core_dev *dev) +{ + void *set_ctx; + void *set_hca_cap; + int set_sz = MLX5_ST_SZ_BYTES(set_hca_cap_in); + int err; + + if (MLX5_CAP_GEN_MAX(dev, hca_cap_2)) { + err = mlx5_core_get_caps(dev, MLX5_CAP_GENERAL_2); + if (err) + return err; + } else { + return 0; + } + + /* To be added if sw_vhca support was added */ + /*if (!MLX5_CAP_GEN_2_MAX(dev, sw_vhca_id_valid) || + !(dev->priv.sw_vhca_id > 0)) + return 0;*/ + + set_ctx = kzalloc(set_sz, GFP_KERNEL); + if (!set_ctx) + return -ENOMEM; + + MLX5_SET(set_hca_cap_in, set_ctx, op_mod, + MLX5_CAP_GENERAL_2 << 1); + set_hca_cap = MLX5_ADDR_OF(set_hca_cap_in, set_ctx, capability); + memcpy(set_hca_cap, dev->hca_caps_cur[MLX5_CAP_GENERAL_2], + MLX5_ST_SZ_BYTES(cmd_hca_cap_2)); + //MLX5_SET(cmd_hca_cap_2, set_hca_cap, sw_vhca_id_valid, 1); + + err = set_caps(dev, set_ctx, set_sz); + + kfree(set_ctx); + return err; +} + static int set_hca_ctrl(struct mlx5_core_dev *dev) { struct mlx5_reg_host_endianess he_in; @@ -1139,6 +1176,12 @@ static int mlx5_load_one(struct mlx5_core_dev *dev, struct mlx5_priv *priv, goto reclaim_boot_pages; } + err = handle_hca_cap_2(dev); + if (err) { + mlx5_core_err(dev, "handle_hca_cap_2 failed\n"); + goto reclaim_boot_pages; + } + err = mlx5_satisfy_startup_pages(dev, 0); if (err) { mlx5_core_err(dev, "failed to allocate init pages\n"); diff --git a/sys/dev/mlx5/mlx5_ifc.h b/sys/dev/mlx5/mlx5_ifc.h index 7e76112cbec9..a10cb60dbfdd 100644 --- a/sys/dev/mlx5/mlx5_ifc.h +++ b/sys/dev/mlx5/mlx5_ifc.h @@ -302,6 +302,11 @@ enum { MLX5_CMD_OP_GENERAL_END = 0xd00, }; +enum { + MLX5_FT_NIC_RX_2_NIC_RX_RDMA = BIT(0), + MLX5_FT_NIC_TX_RDMA_2_NIC_TX = BIT(1), +}; + enum { MLX5_ICMD_CMDS_OPCODE_ICMD_OPCODE_QUERY_FW_INFO = 0x8007, MLX5_ICMD_CMDS_OPCODE_ICMD_QUERY_CAPABILITY = 0x8400, @@ -524,7 +529,9 @@ struct mlx5_ifc_dest_format_struct_bits { u8 destination_type[0x8]; u8 destination_id[0x18]; - u8 reserved_0[0x20]; + u8 reserved_0[0x8]; + u8 destination_table_type[0x8]; + u8 reserved_at_1[0x10]; }; struct mlx5_ifc_ipv4_layout_bits { @@ -1144,7 +1151,12 @@ enum { }; struct mlx5_ifc_cmd_hca_cap_bits { - u8 reserved_0[0x80]; + u8 reserved_0[0x20]; + + u8 hca_cap_2[0x1]; + u8 reserved_at_21[0x1f]; + + u8 reserved_at_40[0x40]; u8 log_max_srq_sz[0x8]; u8 log_max_qp_sz[0x8]; @@ -1439,10 +1451,48 @@ struct mlx5_ifc_cmd_hca_cap_bits { u8 reserved_at_7c0[0x40]; }; +struct mlx5_ifc_cmd_hca_cap_2_bits { + u8 reserved_at_0[0x80]; + + u8 migratable[0x1]; + u8 reserved_at_81[0x1f]; + + u8 max_reformat_insert_size[0x8]; + u8 max_reformat_insert_offset[0x8]; + u8 max_reformat_remove_size[0x8]; + u8 max_reformat_remove_offset[0x8]; + + u8 reserved_at_c0[0x8]; + u8 migration_multi_load[0x1]; + u8 migration_tracking_state[0x1]; + u8 reserved_at_ca[0x16]; + + u8 reserved_at_e0[0xc0]; + + u8 flow_table_type_2_type[0x8]; + u8 reserved_at_1a8[0x3]; + u8 log_min_mkey_entity_size[0x5]; + u8 reserved_at_1b0[0x10]; + + u8 reserved_at_1c0[0x60]; + + u8 reserved_at_220[0x1]; + u8 sw_vhca_id_valid[0x1]; + u8 sw_vhca_id[0xe]; + u8 reserved_at_230[0x10]; + + u8 reserved_at_240[0xb]; + u8 ts_cqe_metadata_size2wqe_counter[0x5]; + u8 reserved_at_250[0x10]; + + u8 reserved_at_260[0x5a0]; +}; + enum mlx5_flow_destination_type { MLX5_FLOW_DESTINATION_TYPE_VPORT = 0x0, MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE = 0x1, MLX5_FLOW_DESTINATION_TYPE_TIR = 0x2, + MLX5_FLOW_DESTINATION_TYPE_TABLE_TYPE = 0xA, }; union mlx5_ifc_dest_format_struct_flow_counter_list_auto_bits { @@ -2937,6 +2987,7 @@ struct mlx5_ifc_hca_vport_context_bits { union mlx5_ifc_hca_cap_union_bits { struct mlx5_ifc_cmd_hca_cap_bits cmd_hca_cap; + struct mlx5_ifc_cmd_hca_cap_2_bits cmd_hca_cap_2; struct mlx5_ifc_odp_cap_bits odp_cap; struct mlx5_ifc_atomic_caps_bits atomic_caps; struct mlx5_ifc_roce_cap_bits roce_cap; From nobody Wed Nov 22 01:52:04 2023 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 4SZkkr3Shlz51W0j; Wed, 22 Nov 2023 01:52:04 +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 4SZkkr2xGTz3Hyt; Wed, 22 Nov 2023 01:52:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617924; 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=SY3IRIG1LvmMRgms95rkJqrGjKy6Lw5jSxW2+06G7cY=; b=brF3/zEv4TxoZebYw8WGYcoGyQ1hgxegCxZ735yKpXcpsGjz0lER+ijkKrpH7a42BxRvnU RSKlrdheBsuLPwjHmFc70jqVJ/0rKac8pIRUKW4NVenbwxnQOKTIYBNWDh5e+iRuUWycHj d+yawRFeqTpTtjzNnaT5L+HZlFslLpD8mh0i6qBH24v99d4IC+BwTiUI+M9tpkN3aWXxcZ zrOuHbnsx8WuUwkQ3Y2w6pAM5a2Mdfy/Z1YW0VIv7BhnE+4qVIf8WRSe9gqq4SCztdwJn+ J10DbyOkc7PDt4rK4dDQMLR9bKOIdTmOrEwZl1yKS/hP3qiF5WkilPGGjPI4FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617924; 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=SY3IRIG1LvmMRgms95rkJqrGjKy6Lw5jSxW2+06G7cY=; b=x4j44srgpfcyu0tJKF1MDK4ccv+ScETdmdY87ewrDUnSu9USVPEJF5ifvj1xHRO3WdgLbf N0fsXyaAftIKZ9pnHMtTBn44WyLhUxx+/Oo1O1NDtMlXSfTqjvxZK7wzH3Aw9BFZyU0eVQ B7eb7AWVBwTaxb7c4GLXb5XhsE1LpOXJqcoSJH+Zxkhtw2YFaHYSyozi5AuPx3QKlGlXG1 y3YtF/+JMZ1PCAT1h2I/mVgYVoFYTfQKx0KsVM/C/cew6/CXjqcWD8mF2SU8+CBn6y5KjJ mS6tQhw4qEoOeOW1qa9ut9cNWBUXiQaAHSsQJnD0u+GAxv2H6i/E6h2mXin/Lg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617924; a=rsa-sha256; cv=none; b=c+6UAMtWTHcDWXYstSirftb9HZnd/xdf6sZvra+QqoUtpbGpgAG8nxBzcgRliXfTgNJUo7 q3eOoLhLPm05/tcaihukdlLC/tj9g1Dxo/GRDQgwpEbT1f6ZUo+wviXAViHG7Aqnk3ABPN KWxpMeW8RmooCXYP0BLmrExXzXf5ou0Sm1C+1wG6XE8rBlz9ADxcuhSTSWAJECoHiBv4pZ Vm4SVEWv5pzx4qGdxU6I49APqzqpRwBeo6tkz5F8GeF3jVAgz6yq7oaGbeM9f68Sb3B1S3 oX8LmMm0Ao3405n7Q0fq+v7WwWAZPAlYKKLILYmZnIHlAh3vA3DEcj2ECKGo0w== 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 4SZkkr1x8pz10Dt; Wed, 22 Nov 2023 01:52:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1q42r081045; Wed, 22 Nov 2023 01:52:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1q4SL081041; Wed, 22 Nov 2023 01:52:04 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:52:04 GMT Message-Id: <202311220152.3AM1q4SL081041@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 8377dd1c9aeb - stable/14 - mlx5core: add linux/bitops.h include for mlx5_ifc.h use of BIT() 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8377dd1c9aeb7f4e42ec2679bb8913379d9c77e7 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8377dd1c9aeb7f4e42ec2679bb8913379d9c77e7 commit 8377dd1c9aeb7f4e42ec2679bb8913379d9c77e7 Author: Konstantin Belousov AuthorDate: 2023-11-13 00:17:09 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:28 +0000 mlx5core: add linux/bitops.h include for mlx5_ifc.h use of BIT() (cherry picked from commit 97beac79edf450851474934199e504e6244a7116) --- sys/dev/mlx5/fs.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/mlx5/fs.h b/sys/dev/mlx5/fs.h index 8aaa0e201f4a..8107726bc76a 100644 --- a/sys/dev/mlx5/fs.h +++ b/sys/dev/mlx5/fs.h @@ -27,6 +27,7 @@ #define _MLX5_FS_ #include +#include #include #include From nobody Wed Nov 22 01:52:05 2023 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 4SZkks4WW9z51W0q; Wed, 22 Nov 2023 01:52:05 +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 4SZkks3ZCkz3Hm4; Wed, 22 Nov 2023 01:52:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617925; 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=uUYCic9OZuvmtwrEI+psZSwCU8zDkB2GdUD9OWtBBoE=; b=ck40LLpz/srJj8Btq5EW14fNCGTm+dzWZpm6PZlh+DK4SxNlntxB//g7WWU2ej27kLQMAV 8QBbGPxkOKzF+r0mH2Z4R8I4wyc2sa70CaYmKQpAf582sxy1R+R04I4ySF7DVPiDlb9yaG ojUZBzESlWNQRk1WQ3gLyRFEpYY3LybkuFZhJ5lt+wxv3CGTPeBAGrWCI2xwAnwVlc9Okn /Nay5eT1k6WBnTzlIRMKM4IOAPXzW5mEYfg5baisPGLH8LZ1jWIybUDK5ZKRTDtXe5BEMj 4JlWvGc1j5FAWobpzp4iQO9qzfTf3dv5O0lZyLAO9PCn42oHLmtX33qtwjuI2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700617925; 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=uUYCic9OZuvmtwrEI+psZSwCU8zDkB2GdUD9OWtBBoE=; b=h/m7S8Az/nOxMSRqJqsx4P8b3vcsTu/2a84uHdVWMAlbYclMBRePt6g/Qj9+qAqbaQ/yQB gM63UhLudWFRw44uA4LOMRy3U33l5K1zRbGpZJ+L6hV6PgayIzKb42jEwHHqMhrUAngcKN Cwn/FcKdPh/d0S9TbN+1JLHv/x+OZU/Fj/wdbhL3Npt5ftAg/GNM+Y6XO4rvPSIxhXPfLw k3WLbCLFH8FCGwDdLpM7py+O/If39RVMvok5G5ULEbYaKDiwjZe0QvIKTQa0zkW6dLw4Kt N8Wcx0jJBI5RUa2grVtFhQfwMy0AZMNLbnyqxOb7KNcZlkVbYXvEJNXjs+Ndcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700617925; a=rsa-sha256; cv=none; b=xTL7PS8k/vAqmEygHz6jK9VFNshNUr0bDr5HaGI2BDfTB61IwX43q1Sr2357jnXqxj20tu VHeQnZF16xfOXwPKKg/5jug99OoTcpE0IWNlNL2/BX4a13bCsBijiW5c5dcz+Dc+qf6DaV w10yOpa2Uc3bkumcECPUynJLpUvQFGJEHqEtan80Xr+agB4LAiKn3WRfGlX/fc1P/tIZ63 mlplaKWjjwvDEUGXGHIljEo2nNzyPX2sPznXtXZDqjiNG/MS6NQWam8utnwtXZKJkZEOv0 S7uCcufrHRRzjkBZxrrnB20yORJ4h6Ot1S2GOXhTafvot7Jk/qwHqDzKkANKqQ== 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 4SZkks2g8Gz10HS; Wed, 22 Nov 2023 01:52:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM1q5YD081102; Wed, 22 Nov 2023 01:52:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM1q56w081099; Wed, 22 Nov 2023 01:52:05 GMT (envelope-from git) Date: Wed, 22 Nov 2023 01:52:05 GMT Message-Id: <202311220152.3AM1q56w081099@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 22584860f2c6 - stable/14 - mlx5_core: add new files to the static files list 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 22584860f2c693b97e7c1e4d2fb1f9d05f41bdfb Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=22584860f2c693b97e7c1e4d2fb1f9d05f41bdfb commit 22584860f2c693b97e7c1e4d2fb1f9d05f41bdfb Author: Konstantin Belousov AuthorDate: 2023-11-13 00:09:57 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-22 01:40:29 +0000 mlx5_core: add new files to the static files list (cherry picked from commit 6eda49b7bfd3a5e013bef54262dddf9a54a3be07) --- sys/conf/files | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index 62eb54a0b765..f737f6ca6352 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4903,8 +4903,12 @@ dev/mlx5/mlx5_core/mlx5_eq.c optional mlx5 pci \ compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_eswitch.c optional mlx5 pci \ compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_fc_cmd.c optional mlx5 pci \ + compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_fs_cmd.c optional mlx5 pci \ compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_fs_counters.c optional mlx5 pci \ + compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_fs_tcp.c optional mlx5 pci \ compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_fs_tree.c optional mlx5 pci \ From nobody Wed Nov 22 03:02:33 2023 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 4SZmJB1c37z51d8w; Wed, 22 Nov 2023 03:02:34 +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 4SZmJB1RH9z3SmZ; Wed, 22 Nov 2023 03:02:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700622154; 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=yz2ast5E2j0rWr4RXNPP8qHI3Of9ob2L5P5ofo/sxxU=; b=BAQaocOVofidfdU0KMSrejRAYDpa5zt4F83syeNeVoskvLaBOveOi7d4NtCpOTtLU5Yke2 b/Sm4H94hZjty4Q/nDrBZQzoCob9Rf8UNThC8tDQ6wpeziXc+rEg7Cyoo3wIVkE6/f4YVJ 5K9BxO2PHnxM6DKPTZdAla9FodY33QNT7cmBa6qWUPAtVMUZA7nj+5Cy3XX2l5g/HMRgpV xq8e6DguKe50XmGNPEcQYcsm0ma49pSHY15XecsEx32wSFrPG8UN/AqlLK4QkAyPfm0e/9 S/bAWelnw7nKZujMnihS7+ZE4ftpDBb3hDOI0IsUi+AsUm610OtG3b8GXK6UYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700622154; 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=yz2ast5E2j0rWr4RXNPP8qHI3Of9ob2L5P5ofo/sxxU=; b=Pfs58ct1oXUhTD5ThBOp4NAwNyKSVwYt96zmC/D2d8brrMmt2s4V8CgEPxoSy3ra9iJc0y bnBPGfsrGCL/MnvKX8tisd2PalQb95JFgl0Itex7TB83CS0jP8pJ0RmuqxeIYztPzI1z+c NnYl46DVPycGrtzYpHaH9TjHoploGSF+jZQkMD8XIALpOx8+UWfCZkjEWlJpfkF4c4ZVDn E3Hbu4CrgrHqabHRmjNqztYu9zUmgKv46fVscs25+d0DuTisJ8sMld5J7qU1oIKC5nIXjc R7+1Ngl8iS9Lwn/YEtY/GZsGh8znbxr5MXkHClGdC3CqOTRdRcnPFB/9ZBgzgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700622154; a=rsa-sha256; cv=none; b=iExi9j6qcHBJF7fj73BIBmascPdjUSXEVK+aeanN5bQtotz69BhTKJ4QZgulBpbI+7kcFb 09geJycaPGqBjI21fvmn/hS32zJUQQpvrnXSIugP+NkHcM4D23Ys3Dr+zaIm3hfPnt4/rg ay/6iS4yrvDbPLuMIG7BxzoGKEy6jirNHo8QcszW+6slZOPHg7BQyD0kePnkFrR2iR3Scz R1/aQO/4ydN1yBrO6PqZEMXb7HVPrLTqN/GBWu9Z19YzXX0QZwhhQoaUPELDqRiSeUav/c jChoRpxPXbfPmZS/1sRT6uB1GZIuaYeR4Razb4bZKDjTaVCeg05uCTiNwrDl8Q== 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 4SZmJB0TX2z11cc; Wed, 22 Nov 2023 03:02:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM32Xwo099815; Wed, 22 Nov 2023 03:02:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM32XiN099812; Wed, 22 Nov 2023 03:02:33 GMT (envelope-from git) Date: Wed, 22 Nov 2023 03:02:33 GMT Message-Id: <202311220302.3AM32XiN099812@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 7a1bc422d109 - main - stand/efi: Consolidate integer types 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7a1bc422d109a7cee56dcfbac616eda613c1c43e Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7a1bc422d109a7cee56dcfbac616eda613c1c43e commit 7a1bc422d109a7cee56dcfbac616eda613c1c43e Author: Warner Losh AuthorDate: 2023-11-22 02:58:20 +0000 Commit: Warner Losh CommitDate: 2023-11-22 02:58:20 +0000 stand/efi: Consolidate integer types We have no need for 5 different copies of these. Sponsored by: Netflix Reviewed by: rcm, kevans, andrew Differential Revision: https://reviews.freebsd.org/D42699 --- stand/efi/include/amd64/efibind.h | 83 --------------------------------------- stand/efi/include/arm/efibind.h | 35 ----------------- stand/efi/include/arm64/efibind.h | 76 ----------------------------------- stand/efi/include/efi.h | 31 +++++++++++++++ stand/efi/include/i386/efibind.h | 83 --------------------------------------- stand/efi/include/riscv/efibind.h | 76 ----------------------------------- stand/efi/loader/main.c | 1 - 7 files changed, 31 insertions(+), 354 deletions(-) diff --git a/stand/efi/include/amd64/efibind.h b/stand/efi/include/amd64/efibind.h index 2f900786fb9d..d005ade221c4 100644 --- a/stand/efi/include/amd64/efibind.h +++ b/stand/efi/include/amd64/efibind.h @@ -26,89 +26,6 @@ Revision History #pragma pack() - -#ifdef __FreeBSD__ -#include -#else -// -// Basic int types of various widths -// - -#if (__STDC_VERSION__ < 199901L ) - - // No ANSI C 1999/2000 stdint.h integer width declarations - - #ifdef _MSC_EXTENSIONS - - // Use Microsoft C compiler integer width declarations - - typedef unsigned __int64 uint64_t; - typedef __int64 int64_t; - typedef unsigned __int32 uint32_t; - typedef __int32 int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #else - #ifdef UNIX_LP64 - - // Use LP64 programming model from C_FLAGS for integer width declarations - - typedef unsigned long uint64_t; - typedef long int64_t; - typedef unsigned int uint32_t; - typedef int int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #else - - // Assume P64 programming model from C_FLAGS for integer width declarations - - typedef unsigned long long uint64_t; - typedef long long int64_t; - typedef unsigned int uint32_t; - typedef int int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #endif - #endif -#endif -#endif /* __FreeBSD__ */ - -// -// Basic EFI types of various widths -// - -#ifndef ACPI_THREAD_ID /* ACPI's definitions are fine */ -#define ACPI_USE_SYSTEM_INTTYPES 1 /* Tell ACPI we've defined types */ - -typedef uint64_t UINT64; -typedef int64_t INT64; - -#ifndef _BASETSD_H_ - typedef uint32_t UINT32; - typedef int32_t INT32; -#endif - -typedef uint16_t UINT16; -typedef int16_t INT16; -typedef uint8_t UINT8; -typedef int8_t INT8; - -#endif - -#undef VOID -#define VOID void - - -typedef int64_t INTN; -typedef uint64_t UINTN; - #ifdef EFI_NT_EMULATOR #define POST_CODE(_Data) #else diff --git a/stand/efi/include/arm/efibind.h b/stand/efi/include/arm/efibind.h index 8bc9f4b56eb2..a08d26ac84c4 100644 --- a/stand/efi/include/arm/efibind.h +++ b/stand/efi/include/arm/efibind.h @@ -40,41 +40,6 @@ Abstract: #endif -#ifdef __FreeBSD__ -#include -#else -// -// Assume standard IA-32 alignment. -// BugBug: Need to check portability of long long -// -typedef unsigned long long uint64_t; -typedef long long int64_t; -typedef unsigned int uint32_t; -typedef int int32_t; -typedef unsigned short uint16_t; -typedef short int16_t; -typedef unsigned char uint8_t; -typedef signed char int8_t; -#endif - -typedef uint64_t UINT64; -typedef int64_t INT64; -typedef uint32_t UINT32; -typedef int32_t INT32; -typedef uint16_t UINT16; -typedef int16_t INT16; -typedef uint8_t UINT8; -typedef int8_t INT8; - -#undef VOID -#define VOID void - -// -// Native integer size in stdint.h -// -typedef uint32_t UINTN; -typedef int32_t INTN; - #define EFIERR(a) (0x80000000 | a) #define EFI_ERROR_MASK 0x80000000 #define EFIERR_OEM(a) (0xc0000000 | a) diff --git a/stand/efi/include/arm64/efibind.h b/stand/efi/include/arm64/efibind.h index 4fdfd9f21386..417da1b4d4ff 100644 --- a/stand/efi/include/arm64/efibind.h +++ b/stand/efi/include/arm64/efibind.h @@ -26,82 +26,6 @@ Revision History #pragma pack() - -#ifdef __FreeBSD__ -#include -#else -// -// Basic int types of various widths -// - -#if (__STDC_VERSION__ < 199901L ) - - // No ANSI C 1999/2000 stdint.h integer width declarations - - #ifdef _MSC_EXTENSIONS - - // Use Microsoft C compiler integer width declarations - - typedef unsigned __int64 uint64_t; - typedef __int64 int64_t; - typedef unsigned __int32 uint32_t; - typedef __int32 int32_t; - typedef unsigned __int16 uint16_t; - typedef __int16 int16_t; - typedef unsigned __int8 uint8_t; - typedef __int8 int8_t; - #else - #ifdef UNIX_LP64 - - // Use LP64 programming model from C_FLAGS for integer width declarations - - typedef unsigned long uint64_t; - typedef long int64_t; - typedef unsigned int uint32_t; - typedef int int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #else - - // Assume P64 programming model from C_FLAGS for integer width declarations - - typedef unsigned long long uint64_t; - typedef long long int64_t; - typedef unsigned int uint32_t; - typedef int int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #endif - #endif -#endif -#endif /* __FreeBSD__ */ - -// -// Basic EFI types of various widths -// - - -typedef uint64_t UINT64; -typedef int64_t INT64; -typedef uint32_t UINT32; -typedef int32_t INT32; -typedef uint16_t UINT16; -typedef int16_t INT16; -typedef uint8_t UINT8; -typedef int8_t INT8; - - -#undef VOID -#define VOID void - - -typedef int64_t INTN; -typedef uint64_t UINTN; - //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // BugBug: Code to debug // diff --git a/stand/efi/include/efi.h b/stand/efi/include/efi.h index 20776dcee2fc..b603c3a78205 100644 --- a/stand/efi/include/efi.h +++ b/stand/efi/include/efi.h @@ -39,6 +39,37 @@ Revision History #define EFI_FIRMWARE_MINOR_REVISION 62 #define EFI_FIRMWARE_REVISION ((EFI_FIRMWARE_MAJOR_REVISION <<16) | (EFI_FIRMWARE_MINOR_REVISION)) +// +// Basic EFI types of various widths. +// + +#include +#ifndef ACPI_THREAD_ID /* ACPI's definitions are fine */ +#define ACPI_USE_SYSTEM_INTTYPES 1 /* Tell ACPI we've defined types */ + +typedef uint64_t UINT64; +typedef int64_t INT64; +typedef uint32_t UINT32; +typedef int32_t INT32; +typedef uint16_t UINT16; +typedef int16_t INT16; +typedef uint8_t UINT8; +typedef int8_t INT8; + +#ifdef __LP64__ +typedef int64_t INTN; +typedef uint64_t UINTN; +#else +typedef int32_t INTN; +typedef uint32_t UINTN; +#endif + +#endif + +#undef VOID +#define VOID void + + #include "efibind.h" #include "efidef.h" #include "efidevp.h" diff --git a/stand/efi/include/i386/efibind.h b/stand/efi/include/i386/efibind.h index 6123a98d1b9b..e4cbceae8216 100644 --- a/stand/efi/include/i386/efibind.h +++ b/stand/efi/include/i386/efibind.h @@ -26,89 +26,6 @@ Revision History #pragma pack() - -#ifdef __FreeBSD__ -#include -#else -// -// Basic int types of various widths -// - -#if (__STDC_VERSION__ < 199901L ) - - // No ANSI C 1999/2000 stdint.h integer width declarations - - #ifdef _MSC_EXTENSIONS - - // Use Microsoft C compiler integer width declarations - - typedef unsigned __int64 uint64_t; - typedef __int64 int64_t; - typedef unsigned __int32 uint32_t; - typedef __int32 int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #else - #ifdef UNIX_LP64 - - // Use LP64 programming model from C_FLAGS for integer width declarations - - typedef unsigned long uint64_t; - typedef long int64_t; - typedef unsigned int uint32_t; - typedef int int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #else - - // Assume P64 programming model from C_FLAGS for integer width declarations - - typedef unsigned long long uint64_t; - typedef long long int64_t; - typedef unsigned int uint32_t; - typedef int int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #endif - #endif -#endif -#endif /* __FreeBSD__ */ - -// -// Basic EFI types of various widths -// - -#ifndef ACPI_THREAD_ID /* ACPI's definitions are fine, use those */ -#define ACPI_USE_SYSTEM_INTTYPES 1 /* Tell ACPI we've defined types */ - -typedef uint64_t UINT64; -typedef int64_t INT64; - -#ifndef _BASETSD_H_ - typedef uint32_t UINT32; - typedef int32_t INT32; -#endif - -typedef uint16_t UINT16; -typedef int16_t INT16; -typedef uint8_t UINT8; -typedef int8_t INT8; - -#endif - -#undef VOID -#define VOID void - - -typedef int32_t INTN; -typedef uint32_t UINTN; - #ifdef EFI_NT_EMULATOR #define POST_CODE(_Data) #else diff --git a/stand/efi/include/riscv/efibind.h b/stand/efi/include/riscv/efibind.h index 4fdfd9f21386..417da1b4d4ff 100644 --- a/stand/efi/include/riscv/efibind.h +++ b/stand/efi/include/riscv/efibind.h @@ -26,82 +26,6 @@ Revision History #pragma pack() - -#ifdef __FreeBSD__ -#include -#else -// -// Basic int types of various widths -// - -#if (__STDC_VERSION__ < 199901L ) - - // No ANSI C 1999/2000 stdint.h integer width declarations - - #ifdef _MSC_EXTENSIONS - - // Use Microsoft C compiler integer width declarations - - typedef unsigned __int64 uint64_t; - typedef __int64 int64_t; - typedef unsigned __int32 uint32_t; - typedef __int32 int32_t; - typedef unsigned __int16 uint16_t; - typedef __int16 int16_t; - typedef unsigned __int8 uint8_t; - typedef __int8 int8_t; - #else - #ifdef UNIX_LP64 - - // Use LP64 programming model from C_FLAGS for integer width declarations - - typedef unsigned long uint64_t; - typedef long int64_t; - typedef unsigned int uint32_t; - typedef int int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #else - - // Assume P64 programming model from C_FLAGS for integer width declarations - - typedef unsigned long long uint64_t; - typedef long long int64_t; - typedef unsigned int uint32_t; - typedef int int32_t; - typedef unsigned short uint16_t; - typedef short int16_t; - typedef unsigned char uint8_t; - typedef char int8_t; - #endif - #endif -#endif -#endif /* __FreeBSD__ */ - -// -// Basic EFI types of various widths -// - - -typedef uint64_t UINT64; -typedef int64_t INT64; -typedef uint32_t UINT32; -typedef int32_t INT32; -typedef uint16_t UINT16; -typedef int16_t INT16; -typedef uint8_t UINT8; -typedef int8_t INT8; - - -#undef VOID -#define VOID void - - -typedef int64_t INTN; -typedef uint64_t UINTN; - //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // BugBug: Code to debug // diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index a650abb3b68c..d6ba7ec3da44 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -60,7 +60,6 @@ #include "efizfs.h" #include "framebuffer.h" -#define ACPI_USE_SYSTEM_INTTYPES 1 #include "platform/acfreebsd.h" #include "acconfig.h" #define ACPI_SYSTEM_XFACE From nobody Wed Nov 22 07:53:03 2023 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 4SZtlM6xnwz524QW for ; Wed, 22 Nov 2023 07:53:03 +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 4SZtlM6MbVz3DBT; Wed, 22 Nov 2023 07:53:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700639583; 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=TA2RVGEYYI5xho/jkDYcBka9LovAS2VvwVrv6KrHkgI=; b=T1rbhbHQGYFz/LZQuvOThSOjkBS4zPVrSLmoU0RIC5xWSJQSQGLtsjLMBYMunx5yUylRrb gmqQK1SVCWTjV1eaWWtVvpdSZ2oT5BNW9k31pIF0bs6Mnvh3fNtgxcqDzJsPMXN1vum47x PHKzQ6ZpwStT+X6PKCk3SlTdgU0KxWUODJ0D6r2+TYAE+MlvGuGgv1a3yTLsNqrshWI43v GDsFX5OfsMVhlfPyoGCGSXjUsjTMS9fPz7DSdmzVKs3nN2LAS0I9/m4jaAzLJ4nHiS1tpv Iuz6ppaEcSFzlhGSE09KaCn1AvhoIc1Hio8Pse1iB+sEoatQJTQ3iiCXM/tyzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700639583; 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=TA2RVGEYYI5xho/jkDYcBka9LovAS2VvwVrv6KrHkgI=; b=WWCIH55/qO3JX2wdxieDHlJ0Vlt2n3ZsDaJT37f4jM2Pdp+u5ETNg5RPiWpjgFHnTowizH zOMFDs3T5HkzW24klJKcPZ6VEIG4/wPavyrePxLY+XIErYCilIATj6pQotAHzEYYrV/9sz +UH7U/bfi7KPuKu2qG9UC+gTl4CNSxDr4cGF66IGO1SLfGVn/0J0QDJ5ouwVLdV2jDavlJ SzFVovOlTd1oprWE4yw7JMLGUr4XlFw05JVfRrG3jsd/13oSgpglT9YbBZDC65oXPXlJsi Sg0PQ5+sYLCdCPK24acl5SQ1OgT15W19rwcpoW9vh1il6xNQw+e5oCUwKM17XA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700639583; a=rsa-sha256; cv=none; b=yUho7E3Z7cgXsHKlVxf/ruX+2RBX4nVtA1y0ouwnPZHkxl7/O0f3F/EydcdaEWfgbQO7EE oWYB+3Z8jcKbpjKxsBDWBUvunZwSUc6muFbHUeGswRQxHVxbP0yigSHi4jx1TC/Y0nl4tQ 1pyKmPmSvL2Qxo2Nj+85bOyVIWXKCeaBUIt5ELwTzK6IZFaJOwele8cqsSWQSqfVGfgnH8 3+Kej4NQtEZzruYarlLVcEZsZpv4ZuC3sWLPCbXvTRKqMAPZnk+rXzBfNEoH2MdHIBmjW7 ucYG3TV64IzbXGxVl0PVoZBPegBKSRQg6sDD2/3S2DPJ9Yc/165XJun2LZ6SkA== 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 4SZtlM5R09z197v; Wed, 22 Nov 2023 07:53:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM7r3Mh083201; Wed, 22 Nov 2023 07:53:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM7r39V083200; Wed, 22 Nov 2023 07:53:03 GMT (envelope-from git) Date: Wed, 22 Nov 2023 07:53:03 GMT Message-Id: <202311220753.3AM7r39V083200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org From: Martin Matuska Subject: git: 95785196f26e..55dd24c4ccee - vendor/openzfs/zfs-2.2-release - vendor branch updated 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/vendor/openzfs/zfs-2.2-release X-Git-Reftype: branch X-Git-Commit: 55dd24c4ccee2da61d5396289ef560f9b7bc6a68 X-Git-Oldrev: 95785196f26e92d82cf4445654ba84e4a9671c57 X-Git-Newrev: 55dd24c4ccee2da61d5396289ef560f9b7bc6a68 Auto-Submitted: auto-generated The branch vendor/openzfs/zfs-2.2-release has been updated by mm: URL: https://cgit.FreeBSD.org/src/log/?id=95785196f26e..55dd24c4ccee 459c99ff2339 Fix block cloning between unencrypted and encrypted datasets b76724ae478a FreeBSD: Improve taskq wrapper 6d693e20a20d Large sync writes perform worse with slog 78fd79eacdc9 Add zfs_prepare_disk script for disk firmware install 0bcd1151f0c2 Fix ZED auto-replace for VDEVs using by-id paths 1cc1bf4fa721 Set spa_ccw_fail_time=0 when expanding a vdev. edebca5dfc3b FreeBSD: taskq: Remove unused declaration 8ca95d78c54f Fix typo in tests/zfs-tests/tests/functional/cli_user/misc/misc.cfg eaa62d995100 Properly pad struct tx_cpu to cache line 0ef1964c79fd run-zts test procfs/pool_state failed with uncorrectable I/O failure 79f7de575252 Remove lock from dsl_pool_need_dirty_delay() 6e41aca51932 Trust ARC_BUF_SHARED() more 86c3ed40e111 "ARC prefetch metadata accesses:" appears twice in the output. e860cb0200a8 zvol: Remove broken blk-mq optimization 8ba748d41411 Revert "zvol: Temporally disable blk-mq" f9a9aea126f9 Add mutex_enter_interruptible() for interruptible sleeping IOCTLs 7aef672b776a Read prefetched buffers from L2ARC fe9d409e9088 Linux 6.6 compat: use inode_get/set_ctime*(...) 21875dd09002 Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 3f67e012e450 Linux 6.6 compat: fsync_bdev() has been removed in favor of sync_blockdev() e82e68400a5b DMU: Do not pre-read holes during write bd7a02c251d8 Tune zio buffer caches and their alignments 3ec4ea68d491 Unify arc_prune_async() code 1c7048357d91 Add all read-only compatible zpool features to grub2 compatibility e534ba5ce7de Fix dkms installation of deb packages created with Alien. f0ffcc3adcd0 Remove obsolete_counts from grub2 compatibility list 44c8ff9b0ce2 Linux 6.6 compat: fix implicit conversion error with debug build 76663fe3720b Fix accounting error for pending sync IO ops in zpool iostat f2fe4d51a8da Linux: reject read/write mapping to immutable file only on VM_SHARED f6d2e5c07594 Workaround to allow openzfs-zfs-dkms install on Ubuntu f863ac3d0fab Update zpool-features.7 for grub2 compatibility list updates f1659cc782e9 ZTS: Test for all known zpool feature sets e92a680c7084 Workaround UBSAN errors for variable arrays fd836dfe24f8 Linux 6.6 compat: META 0733fe2aa56b Packaging: Auto-generate changelog during configure (#15528) 87e9e828655c Add a tunable to disable BRT support. 479dca51c66a zfs-2.2.1: Disable block cloning by default 78287023ced2 ZTS: Fix 'could not unmount datasets' on Alma 9 55dd24c4ccee Tag zfs-2.2.1 From nobody Wed Nov 22 08:00:39 2023 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 4SZtw811rrz524tL; Wed, 22 Nov 2023 08:00:40 +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 4SZtw80X25z3DZc; Wed, 22 Nov 2023 08:00:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700640040; 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=yKHFDw0vrFC9++u6NkSijKp49M+r3MjLzHNVubVjWJw=; b=rF2rYVuQeF0euHCka35srXcSltBbR7k2kP+RFKxJUyeOM7VKIMSxhySmXhmHWATMakuw0A BUXal1FzMRqm9v+8VvfNLcW8bQQLB9si34iyawIN41/YRdN1ZIIiZhyDSLIjPEzWzUe4E1 6Nw1s/erJIVhihXY+GnuPPuQc3OtnQqlkG4m9UueeB6kc93llHll8vpdg0dEoGZ48AcOoO C6Z3SukQo3jHqqdcej1J+P3REOJc+Sr7KXY3bWDAbcMedIKn2eWXiLn7qAaVkjYZ5RPCtJ olpAICXGei8DqzRlAT0zN1a0VZySWJeFU7sAZrMRCG8JK6YET8VQm59N5BdIcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700640040; 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=yKHFDw0vrFC9++u6NkSijKp49M+r3MjLzHNVubVjWJw=; b=v9d1AwfV5CB3MeplylD0oy3a72oLBGVgNoC4Zh3FvuViSMsSPB1ciKH6bv/igbC4tY3Ham G2N1jE+gcAOSQr+ppdR2x1Yz0bjXQmjuIY/Qjfu9/YpY7Q+0eGtXjuRKNP+XK1ZmqvRhlx JYc910Cih11SbuI9FrRi4pXLdELZT6fWUHkhJKQMttEucRWtMqRvsvAGIOXh8+wHS8EK0e 63NEWRok6H+8EKXY8R97p5cb8FlVlY23PiwWtWDeTrGXKJMzB3B7qlDsleWt7dRj63zQo7 PG/akuKXN0wGj8cAn1OdSchiWQECKvLoSRRClQ8fNXATVYJEC8C4+AuTpWJdVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700640040; a=rsa-sha256; cv=none; b=n1WcEI2fGpbUyy70RKC9ejNUqjzJ7A9OaV9DtvCku1Fi6IqhE+uT1YA4vuEydE3jR2WTs6 G5l65PIpYF90aJIUROR9JhuEOif9qUll3+9OJJ2u+w4ArmSUUCs0Bo+W8cXIP5XbUaYGtA a1ZI0jD1yI8cxACgxqr0FQR5IC0l33tudeuBFuXLLz2BEXOglKjazKJ/sM9vTrmcKh0I8M sEhhxJtrOTslx/8Uu4E6fRc8tcZflGeQqKsl5PDRoBGowzF4p5JQU74LRPOcv0lRWBGcet rMRM9+3yiTPV4Zauc8FPx2jinHlpHDR968Pxdx+hBkXBRpf3O/LdhjkxwcnCYw== 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 4SZtw76l6Nz18lq; Wed, 22 Nov 2023 08:00:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM80dg4094096; Wed, 22 Nov 2023 08:00:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM80dRx094093; Wed, 22 Nov 2023 08:00:39 GMT (envelope-from git) Date: Wed, 22 Nov 2023 08:00:39 GMT Message-Id: <202311220800.3AM80dRx094093@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: ac83e415ef08 - stable/14 - mlx5_core: fix deadlock when using RXTLS 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ac83e415ef083da400509c6fa434ee59cfe9668f Auto-Submitted: auto-generated The branch stable/14 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=ac83e415ef083da400509c6fa434ee59cfe9668f commit ac83e415ef083da400509c6fa434ee59cfe9668f Author: Martin Matuska AuthorDate: 2023-11-13 13:29:27 +0000 Commit: Martin Matuska CommitDate: 2023-11-22 08:00:23 +0000 mlx5_core: fix deadlock when using RXTLS If removing a node of type FS_TYPE_FLOW_DEST we lock the flow group too late. This can lead to a deadlock with fs_add_dst_fg(). PR: 274715 Reviewed by: kib Tested by: mm Differential Revision: https://reviews.freebsd.org/D42368 (cherry picked from commit a592812327deaf69ab226afc5c8a01af43dc03c2) --- sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c index 5966a73c58d1..b76ea7b60582 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fs_tree.c @@ -229,14 +229,19 @@ static void __fs_remove_node(struct kref *kref) { struct fs_base *node = container_of(kref, struct fs_base, refcount); - if (node->parent) + if (node->parent) { + if (node->type == FS_TYPE_FLOW_DEST) + mutex_lock(&node->parent->parent->lock); mutex_lock(&node->parent->lock); + } mutex_lock(&node->lock); cmd_remove_node(node); mutex_unlock(&node->lock); complete(&node->complete); if (node->parent) { mutex_unlock(&node->parent->lock); + if (node->type == FS_TYPE_FLOW_DEST) + mutex_unlock(&node->parent->parent->lock); _fs_put(node->parent, _fs_remove_node, false); } } @@ -1719,7 +1724,7 @@ static void fs_del_dst(struct mlx5_flow_rule *dst) fs_get_parent(fte, dst); fs_get_parent(fg, fte); - mutex_lock(&fg->base.lock); + sx_assert(&fg->base.lock.sx, SX_XLOCKED); memcpy(match_value, fte->val, sizeof(fte->val)); /* ft can't be changed as fg is locked */ fs_get_parent(ft, fg); @@ -1739,7 +1744,6 @@ static void fs_del_dst(struct mlx5_flow_rule *dst) } call_to_del_rule_notifiers(dst, fte); err: - mutex_unlock(&fg->base.lock); kvfree(match_value); } From nobody Wed Nov 22 08:26:35 2023 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 4SZvV44KXCz526vc; Wed, 22 Nov 2023 08:26:36 +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 4SZvV416cyz3HgF; Wed, 22 Nov 2023 08:26:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700641596; 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=HRj1mt86CnH0ZMa1fzGIoGI1uTRctBXWzFvYcN3okRk=; b=dF625n109Ca55iZLhDQFLNwQmgJ01+5vbF6jBzPexHg9NT1lGDiVnp2cf3AiPJD/r27Mov CYbbL9zjqf7H4ioF6g4Yeq+OQy3AnlQ0Y7fouxiQos0SPyhlzzlDD1p3vDFJOMa8TP7Q6D nylAItbv/kRfJFJRbvEMj3OdmMHKEFKDVlqzHWskO+TvwErW0oEYDO0uoGlk49fuCQHu/e F7moYD6ahtebxeAkjGYP5a3ebEvgQhoWx0szkTXx5uYFHgZ480x4WbcgIN7kkZCkYK2FBu eVKWAmJmtMzHe4xXLKNcfG89yF5BZJzmAMTs4u+++GPUZQKXWddtawKgHgGqSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700641596; 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=HRj1mt86CnH0ZMa1fzGIoGI1uTRctBXWzFvYcN3okRk=; b=BKGMGROjZAHIHXgiM6VQNlwjFr48gDWw/SeIqAf9MXge6i/ER5IXskdSMeF3zPdonJNLzZ jXhExwsY2zaB8Bn7n9YJZHVwnn99lxeX8C1R/P+3Z27GLRBnNG25YewiSNYrB1jNhZmX76 5tGm96nx4EW1WVmrAOttp1Kl6eCQlnc1ZkwqawGY3ovauuI/g4+glHMEW3u81kWeZE7Ey5 Z3eOCVlljuvOQjwojimFgbmT2DsQkERFZ14R6BK3HDDmEIVTj+EYQHyGZP6NN5ZoUoR5mp WE2GUgp0LQW5N/eMbJBBPTVnRDKIyY6i8NWsoSEfe9rapWRKlMrNQWNql7elQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700641596; a=rsa-sha256; cv=none; b=uK6olB2KfBr8oQo2nyss3aKXW5+AlYit1JlYpOqBMrENZR02N+5bPOQtLxOeccT4UCiiVt IKoVFSB3fdnBRwkO+kraoQ0jdsjdUkLDqgDVGbGe5bmc7xiAuHVwByf5wRC5ZjeNULJWkv ToXM4KbqZmAzNsSHK9rEp5ODh+bsu7QF+0eJkcjM/VE7lbulUh9gqeigwOpjY03ONSQE6d KUZtoRIYdjn3E4Vc30xFZTEuSNvRCBkadzmELVkj0ftaz6QaOV2K9vpdS1Py44XuoPoFF3 qWuab8yP9xap83ffZtYSirdA3u3MSlcX4AEJP2k76POfKin9r+wzQdOHcdp17Q== 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 4SZvV409fyz19YG; Wed, 22 Nov 2023 08:26:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM8QZ0j034773; Wed, 22 Nov 2023 08:26:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM8QZVM034771; Wed, 22 Nov 2023 08:26:35 GMT (envelope-from git) Date: Wed, 22 Nov 2023 08:26:35 GMT Message-Id: <202311220826.3AM8QZVM034771@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 0c0d524e5e6c - stable/14 - SEE ALSO section improvements for tuning(7), tunefs(8) and fsck_ffs(8) 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0c0d524e5e6cf5deafb24c6be2c3e6461272e055 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=0c0d524e5e6cf5deafb24c6be2c3e6461272e055 commit 0c0d524e5e6cf5deafb24c6be2c3e6461272e055 Author: Gordon Bergling AuthorDate: 2023-11-17 18:24:22 +0000 Commit: Gordon Bergling CommitDate: 2023-11-22 08:26:23 +0000 SEE ALSO section improvements for tuning(7), tunefs(8) and fsck_ffs(8) cross-reference ffs(7) in fsck_ffs(8) cross-reference ffs(7) and tuning(7) in tunefs(8) cross-reference ffs(7) in tuning(7) PR: 263433 Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D42631 (cherry picked from commit 115459be3132079f38b848749d20c972fa823fbb) --- sbin/fsck_ffs/fsck_ffs.8 | 3 ++- sbin/tunefs/tunefs.8 | 4 +++- share/man/man7/tuning.7 | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sbin/fsck_ffs/fsck_ffs.8 b/sbin/fsck_ffs/fsck_ffs.8 index f100686e70e8..8288216c0681 100644 --- a/sbin/fsck_ffs/fsck_ffs.8 +++ b/sbin/fsck_ffs/fsck_ffs.8 @@ -28,7 +28,7 @@ .\" .\" @(#)fsck.8 8.4 (Berkeley) 5/9/95 .\" -.Dd May 3, 2019 +.Dd November 17, 2023 .Dt FSCK_FFS 8 .Os .Sh NAME @@ -425,6 +425,7 @@ are fully enumerated and explained in Appendix A of .Sh SEE ALSO .Xr fs 5 , .Xr fstab 5 , +.Xr ffs 7 , .Xr fsck 8 , .Xr fsdb 8 , .Xr newfs 8 , diff --git a/sbin/tunefs/tunefs.8 b/sbin/tunefs/tunefs.8 index bda39462a272..19059e335834 100644 --- a/sbin/tunefs/tunefs.8 +++ b/sbin/tunefs/tunefs.8 @@ -27,7 +27,7 @@ .\" .\" @(#)tunefs.8 8.2 (Berkeley) 12/11/93 .\" -.Dd August 16, 2022 +.Dd November 17, 2023 .Dt TUNEFS 8 .Os .Sh NAME @@ -218,6 +218,8 @@ specified mount point. .El .Sh SEE ALSO .Xr fs 5 , +.Xr ffs 7 , +.Xr tuning 7 , .Xr dumpfs 8 , .Xr gjournal 8 , .Xr growfs 8 , diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index 0756598e79e2..f04500d0f0dc 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 11, 2022 +.Dd November 17, 2023 .Dt TUNING 7 .Os .Sh NAME @@ -698,6 +698,7 @@ over services you export from your box (web services, email). .Xr login.conf 5 , .Xr rc.conf 5 , .Xr sysctl.conf 5 , +.Xr ffs 7 , .Xr firewall 7 , .Xr hier 7 , .Xr ports 7 , From nobody Wed Nov 22 08:26:53 2023 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 4SZvVQ1LtLz526jr; Wed, 22 Nov 2023 08:26:54 +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 4SZvVQ0bpYz3J1X; Wed, 22 Nov 2023 08:26:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700641614; 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=qS+NvfGbMN/l51aafQlgYqN8htlyQDdJBKA3DmD4seI=; b=SEj7pTuE1LwGGcwLUqvMi8XgIg14VQOOjdP9oBrl8OpIkTZ7oLN7grDP8zJP5rttf0aVLd 9tjeEBb7Q3lPyqbmF6zykMYL/j7l6R4scxwyyI3oRWvQwkoMkGmHgymcLPg4kPQnplxfT2 RkgGSqx4cK/md4JdPVR0ab66qeJ8oHhD+cOXecmTSPbFdbnfJv2qJTrQwLmIxc0ETZDET5 mlsHgtLH07Z+mSY8SvMckZCKEzpQdViP7oGH5Sn/KigSxV4Z/AS3mSkpQU/fkMZmIEGH0/ kYyx+SrsuXTMQpMLLwQYRx2m6eKXlfDatZsr9Gl4PZuW2cOiPQXKWz7I+rB1mQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700641614; 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=qS+NvfGbMN/l51aafQlgYqN8htlyQDdJBKA3DmD4seI=; b=luNbPaQZ1xDDqsSQsbojtypSuFo7WVqbqKDXsbHkhMyufK1IVxpsyhqeZrqhxla8q8Nmdb 1grnOwn+4RzbSI6P3MCDeH1p+21HpUqz4uMzINJ5r/m1YgE3x3nLnFI7pWftSWCrepFtM5 LTxZg9sLWU/76jQbVqSmCkIgnoCKjnRYpUYlYMyUJBfV50v1X8OdYKMvEgA4EhM/Xu6OiK teCRBrmWT86dHfOvzoQUXkdCNFfGQY9CtFnZDAQ9JVGWwuLurOW0tM/m4RqTz2c+BJ+zkm KAwFn/Np34IZ+gGEIT4w9NzIOE09g9YYnrjzwvM2Fge1UDvFD8cBOSODhJRA2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700641614; a=rsa-sha256; cv=none; b=HfjxDeYTk/9H23c6Ai+pNECxej5Bnf9GOSxLBF1IF8iK3chOrk+8YG0C+w09b+wK4z2Umg yWtWWtsN1hROj/nIMcsKUO4DkPQMnuziP6iFpQRdJb+YEyPdelu2M0fQ2tr6YwGPqB/JPm nCmC6XHHTCjRD+/uZu54BGPljve/GT6eCMU4JzgmYiL9n4hpVhwJjxeTp2GR+dNlTOKbWs kBnliDFGdoOrQLDbxdBdGD5ijJpNGKDB706IyfpfWYXX7Ruawus0fIS1K9yqfPpwQ3Iedw AFJYCj08xBDiOCmSi/ZClhennH1VD0nmHW9CNQ0VkQSYuCMn2mK6q6iIHz6ZnQ== 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 4SZvVP6qQQz19Pj; Wed, 22 Nov 2023 08:26:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AM8Qr4q034952; Wed, 22 Nov 2023 08:26:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AM8Qr6e034949; Wed, 22 Nov 2023 08:26:53 GMT (envelope-from git) Date: Wed, 22 Nov 2023 08:26:53 GMT Message-Id: <202311220826.3AM8Qr6e034949@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 234ee2a34b6f - stable/13 - SEE ALSO section improvements for tuning(7), tunefs(8) and fsck_ffs(8) 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 234ee2a34b6fb66b4ea798b7a57926ac0b9d2596 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=234ee2a34b6fb66b4ea798b7a57926ac0b9d2596 commit 234ee2a34b6fb66b4ea798b7a57926ac0b9d2596 Author: Gordon Bergling AuthorDate: 2023-11-17 18:24:22 +0000 Commit: Gordon Bergling CommitDate: 2023-11-22 08:26:43 +0000 SEE ALSO section improvements for tuning(7), tunefs(8) and fsck_ffs(8) cross-reference ffs(7) in fsck_ffs(8) cross-reference ffs(7) and tuning(7) in tunefs(8) cross-reference ffs(7) in tuning(7) PR: 263433 Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D42631 (cherry picked from commit 115459be3132079f38b848749d20c972fa823fbb) --- sbin/fsck_ffs/fsck_ffs.8 | 3 ++- sbin/tunefs/tunefs.8 | 4 +++- share/man/man7/tuning.7 | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sbin/fsck_ffs/fsck_ffs.8 b/sbin/fsck_ffs/fsck_ffs.8 index f100686e70e8..8288216c0681 100644 --- a/sbin/fsck_ffs/fsck_ffs.8 +++ b/sbin/fsck_ffs/fsck_ffs.8 @@ -28,7 +28,7 @@ .\" .\" @(#)fsck.8 8.4 (Berkeley) 5/9/95 .\" -.Dd May 3, 2019 +.Dd November 17, 2023 .Dt FSCK_FFS 8 .Os .Sh NAME @@ -425,6 +425,7 @@ are fully enumerated and explained in Appendix A of .Sh SEE ALSO .Xr fs 5 , .Xr fstab 5 , +.Xr ffs 7 , .Xr fsck 8 , .Xr fsdb 8 , .Xr newfs 8 , diff --git a/sbin/tunefs/tunefs.8 b/sbin/tunefs/tunefs.8 index bda39462a272..19059e335834 100644 --- a/sbin/tunefs/tunefs.8 +++ b/sbin/tunefs/tunefs.8 @@ -27,7 +27,7 @@ .\" .\" @(#)tunefs.8 8.2 (Berkeley) 12/11/93 .\" -.Dd August 16, 2022 +.Dd November 17, 2023 .Dt TUNEFS 8 .Os .Sh NAME @@ -218,6 +218,8 @@ specified mount point. .El .Sh SEE ALSO .Xr fs 5 , +.Xr ffs 7 , +.Xr tuning 7 , .Xr dumpfs 8 , .Xr gjournal 8 , .Xr growfs 8 , diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index 0756598e79e2..f04500d0f0dc 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 11, 2022 +.Dd November 17, 2023 .Dt TUNING 7 .Os .Sh NAME @@ -698,6 +698,7 @@ over services you export from your box (web services, email). .Xr login.conf 5 , .Xr rc.conf 5 , .Xr sysctl.conf 5 , +.Xr ffs 7 , .Xr firewall 7 , .Xr hier 7 , .Xr ports 7 , From nobody Wed Nov 22 11:45:40 2023 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 4SZzvn0rm4z51Rcn; Wed, 22 Nov 2023 11:45:41 +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 4SZzvn0SDsz3f25; Wed, 22 Nov 2023 11:45:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700653541; 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=ai0dMXv1oGXOEDKQbtAZ1zHvcpNvCN5BJwEeVNUi/XY=; b=CpsgltsViQcFzJki9N/+3PAjoubQXPbFFWOnlTxzHNUIzi7ibUOG7L1YLy/UUqLoDbb84v MKQmh6iAN9Ksey2YoQmXVmiWqUe9spY3YeYZp3GHKEXfDTcSscQXkDRepvSDt7Iy7qv9s7 QWlIfbBFlPgM2SY7uI7S8lsAgULDTvJN3orPvQRL/zxeefes6AtKJKw4Vi92rKMM5p35Fw kdl3/qwOJNyLVIfQVf/H9T+/s67POnOaBsES4emppFeKVs5Cl3V1sJCFjwZTdGcUzgUfyf lZa+XDaioTQZYM9ncj96MTEE4Z6XQdJzMrsKEwlz/16XU1kM6qeTSXADGd4TdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700653541; 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=ai0dMXv1oGXOEDKQbtAZ1zHvcpNvCN5BJwEeVNUi/XY=; b=mGsuUIgg7RGymRP9VbreIck80rHlOo93c3bxI84DpMcJ9Zx5PKuZqufAUjq090g3w0yPBR WZAnumWMtsYGhHmDXkrdKt4ia4QqYXqlwDMHCjY1gObapuFVGwYnIgpG87mwyjJW6ZtHDO vQVVuWLyia7uZiQJEKmB7Xb6zfntiiEBa8ae8EN9JIaNpgY/9Oh2i3CHqd0d8USYnYaXds aoJD5DZ00oKsD4Cuvjc48a/qMxuGpZgsv8fD1PqiW3029Th8Sf/rfH8zRy5A1zhDGRcHzh 7yHaCKUJ8aucuG8hu33tyhVh8IQEr595bcxkJQ3JFGHnyLGLp6NEkzJorTdz6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700653541; a=rsa-sha256; cv=none; b=FQ9owaQHfFPLLXlWogyjEO+CcO06Ge2652FQ5Ssae+qW5Bcexgy2hL6b/RfzRr28WS7msH 2y9sJINnmm2ys9c02dl+WM0bDp1cxP535Hf88UCFELvtG14VhupHBHlzuqJIGUvfody1q1 deTxlcldNQWu/BIemTsNsYHhnCr7vTJ10Zb05Av9rnsq54cQvKn60bukLESBXjenwJFbR3 6YMvOVH6U9MzLe2OlPROPeGQnrFZ/YF4FtAlZGyMyRR480M3ps6VMv+EDv0ppcPEATnKHi YwPKg5w6N4rUtVXVBaUaF8eMIOP+gkXy86kfMsSxnNdS8sMDyL/YQyYZwXXX5Q== 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 4SZzvm6RN3z2Kb; Wed, 22 Nov 2023 11:45:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMBjex5067817; Wed, 22 Nov 2023 11:45:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMBjexn067814; Wed, 22 Nov 2023 11:45:40 GMT (envelope-from git) Date: Wed, 22 Nov 2023 11:45:40 GMT Message-Id: <202311221145.3AMBjexn067814@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Martin Matuska Subject: git: f7f5c2419ea7 - stable/14 - zfs: merge openzfs/zfs@55dd24c4c (zfs-2.2-release) into stable/14 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: mm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f7f5c2419ea7e66460fe33bc6a5588842fd5312c Auto-Submitted: auto-generated The branch stable/14 has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=f7f5c2419ea7e66460fe33bc6a5588842fd5312c commit f7f5c2419ea7e66460fe33bc6a5588842fd5312c Merge: 0c0d524e5e6c 55dd24c4ccee Author: Martin Matuska AuthorDate: 2023-11-22 11:43:59 +0000 Commit: Martin Matuska CommitDate: 2023-11-22 11:43:59 +0000 zfs: merge openzfs/zfs@55dd24c4c (zfs-2.2-release) into stable/14 OpenZFS release 2.2.1 Notable upstream pull request merges: #14378 6d693e20a Large sync writes perform worse with slog #15243 78fd79eac Add zfs_prepare_disk script for disk firmware install #15356 b76724ae4 FreeBSD: Improve taskq wrapper #15360 f9a9aea12 Add mutex_enter_interruptible() for interruptible sleeping IOCTLs #15371 e82e68400 DMU: Do not pre-read holes during write #15390 79f7de575 Remove lock from dsl_pool_need_dirty_delay() #15397 6e41aca51 Trust ARC_BUF_SHARED() more #15402 eaa62d995 Properly pad struct tx_cpu to cache line #15405 1cc1bf4fa Set spa_ccw_fail_time=0 when expanding a vdev #15416 edebca5df FreeBSD: taskq: Remove unused declaration #15451 7aef672b7 Read prefetched buffers from L2ARC #15452 bd7a02c25 Tune zio buffer caches and their alignments #15456 3ec4ea68d Unify arc_prune_async() code #15465 459c99ff2 Fix block cloning between unencrypted and encrypted datasets #15478 76663fe37 Fix accounting error for pending sync IO ops in zpool iostat #15529 87e9e8286 Add a tunable to disable BRT support Obtained from: OpenZFS OpenZFS commit: 55dd24c4ccee2da61d5396289ef560f9b7bc6a68 OpenZFS tag: zfs-2.2.1 cddl/lib/libzfs/Makefile | 2 +- cddl/usr.libexec/Makefile | 1 + cddl/usr.libexec/zfs_prepare_disk/Makefile | 19 ++ sys/contrib/openzfs/.gitignore | 1 + sys/contrib/openzfs/META | 4 +- sys/contrib/openzfs/cmd/arc_summary | 2 +- sys/contrib/openzfs/cmd/zed/agents/zfs_mod.c | 96 ++++++++-- .../openzfs/cmd/zpool/compatibility.d/grub2 | 9 + .../cmd/zpool/compatibility.d/openzfsonosx-1.8.1 | 1 - sys/contrib/openzfs/cmd/zpool/zpool_iter.c | 33 +--- sys/contrib/openzfs/cmd/zpool/zpool_util.h | 4 + sys/contrib/openzfs/cmd/zpool/zpool_vdev.c | 43 ++++- sys/contrib/openzfs/config/Rules.am | 1 + sys/contrib/openzfs/config/kernel-fsync-bdev.m4 | 36 ++++ .../openzfs/config/kernel-generic_fillattr.m4 | 39 ++++- sys/contrib/openzfs/config/kernel-inode-times.m4 | 43 +++++ sys/contrib/openzfs/config/kernel.m4 | 2 + sys/contrib/openzfs/configure.ac | 1 + .../contrib/debian/{changelog => changelog.in} | 6 + sys/contrib/openzfs/contrib/debian/control | 1 - .../contrib/debian/openzfs-zfsutils.install | 2 + sys/contrib/openzfs/include/libzfs.h | 9 + sys/contrib/openzfs/include/libzutil.h | 2 +- .../openzfs/include/os/freebsd/spl/sys/mutex.h | 1 + .../openzfs/include/os/freebsd/spl/sys/taskq.h | 18 +- .../include/os/linux/kernel/linux/vfs_compat.h | 6 + .../openzfs/include/os/linux/spl/sys/kmem_cache.h | 2 +- .../openzfs/include/os/linux/spl/sys/mutex.h | 21 ++- sys/contrib/openzfs/include/os/linux/spl/sys/uio.h | 8 - .../include/os/linux/zfs/sys/zfs_vfsops_os.h | 2 + .../include/os/linux/zfs/sys/zfs_vnops_os.h | 5 + sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h | 13 +- sys/contrib/openzfs/include/sys/arc.h | 2 +- sys/contrib/openzfs/include/sys/arc_impl.h | 1 - sys/contrib/openzfs/include/sys/spa.h | 2 +- sys/contrib/openzfs/include/sys/txg_impl.h | 3 +- sys/contrib/openzfs/include/sys/vdev_impl.h | 5 +- sys/contrib/openzfs/include/sys/vdev_raidz_impl.h | 4 +- sys/contrib/openzfs/include/sys/zfs_context.h | 2 + sys/contrib/openzfs/lib/libzfs/libzfs.abi | 4 + sys/contrib/openzfs/lib/libzfs/libzfs_util.c | 193 +++++++++++++++++++++ sys/contrib/openzfs/lib/libzpool/kernel.c | 9 + .../lib/libzutil/os/linux/zutil_import_os.c | 5 +- sys/contrib/openzfs/man/Makefile.am | 1 + sys/contrib/openzfs/man/man4/zfs.4 | 64 ++++++- sys/contrib/openzfs/man/man7/zpool-features.7 | 9 + sys/contrib/openzfs/man/man8/.gitignore | 1 + sys/contrib/openzfs/man/man8/zfs_prepare_disk.8.in | 70 ++++++++ sys/contrib/openzfs/module/Kbuild.in | 4 + .../openzfs/module/os/freebsd/spl/spl_taskq.c | 76 ++++---- sys/contrib/openzfs/module/os/freebsd/zfs/arc_os.c | 62 ------- .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c | 34 +++- sys/contrib/openzfs/module/os/linux/zfs/arc_os.c | 51 ------ .../openzfs/module/os/linux/zfs/zfs_ctldir.c | 2 +- sys/contrib/openzfs/module/os/linux/zfs/zfs_uio.c | 29 ---- .../openzfs/module/os/linux/zfs/zfs_vfsops.c | 2 +- .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 29 +++- .../openzfs/module/os/linux/zfs/zfs_znode.c | 18 +- .../openzfs/module/os/linux/zfs/zpl_ctldir.c | 11 +- .../openzfs/module/os/linux/zfs/zpl_file_range.c | 5 + .../openzfs/module/os/linux/zfs/zpl_inode.c | 6 +- .../openzfs/module/os/linux/zfs/zpl_super.c | 2 +- .../openzfs/module/os/linux/zfs/zpl_xattr.c | 7 +- sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 18 ++ sys/contrib/openzfs/module/zfs/arc.c | 98 ++++++++--- sys/contrib/openzfs/module/zfs/dmu_tx.c | 8 +- sys/contrib/openzfs/module/zfs/dsl_pool.c | 14 +- sys/contrib/openzfs/module/zfs/spa_config.c | 17 +- sys/contrib/openzfs/module/zfs/vdev_queue.c | 7 +- sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 5 +- sys/contrib/openzfs/module/zfs/zil.c | 2 +- sys/contrib/openzfs/module/zfs/zio.c | 89 +++++----- sys/contrib/openzfs/rpm/generic/zfs-dkms.spec.in | 90 +++++++++- sys/contrib/openzfs/scripts/Makefile.am | 2 + sys/contrib/openzfs/scripts/zfs_prepare_disk | 17 ++ sys/contrib/openzfs/tests/runfiles/linux.run | 8 +- .../openzfs/tests/test-runner/bin/zts-report.py.in | 1 + .../openzfs/tests/zfs-tests/include/commands.cfg | 9 +- .../openzfs/tests/zfs-tests/include/libtest.shlib | 21 +++ .../openzfs/tests/zfs-tests/include/tunables.cfg | 3 +- .../openzfs/tests/zfs-tests/tests/Makefile.am | 1 + .../tests/functional/block_cloning/cleanup.ksh | 4 + .../tests/functional/block_cloning/setup.ksh | 5 + .../zpool_create/zpool_create_features_007_pos.ksh | 10 +- .../tests/functional/cli_user/misc/misc.cfg | 4 +- .../functional/fault/auto_replace_001_pos.ksh | 41 ++++- .../functional/fault/auto_replace_002_pos.ksh | 192 ++++++++++++++++++++ .../tests/functional/procfs/pool_state.ksh | 6 +- sys/modules/zfs/zfs_config.h | 23 ++- sys/modules/zfs/zfs_gitrev.h | 2 +- 90 files changed, 1411 insertions(+), 432 deletions(-) diff --cc cddl/lib/libzfs/Makefile index 6f8965e4c14a,000000000000..ee57c30cc6ca mode 100644,000000..100644 --- a/cddl/lib/libzfs/Makefile +++ b/cddl/lib/libzfs/Makefile @@@ -1,107 -1,0 +1,107 @@@ + +.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp +.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zcommon +.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs +.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs/os/freebsd +.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libshare +.PATH: ${SRCTOP}/sys/contrib/openzfs/include +.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd +.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd/lib + +PACKAGE= zfs +LIB= zfs +LIBADD= \ + avl \ + bsdxml \ + crypto \ + geom \ + m \ + md \ + nvpair \ + pthread \ + rt \ + umem \ + util \ + uutil \ + z \ + zfs_core \ + zutil + +INCS= libzfs.h +USER_C = \ + libzfs_changelist.c \ + libzfs_config.c \ + libzfs_crypto.c \ + libzfs_dataset.c \ + libzfs_diff.c \ + libzfs_import.c \ + libzfs_iter.c \ + libzfs_mount.c \ + libzfs_pool.c \ + libzfs_sendrecv.c \ + libzfs_status.c \ + libzfs_util.c + +# FreeBSD +USER_C += \ + libzfs_compat.c \ + libzfs_zmount.c + +# libshare +USER_C += \ + libshare.c \ + nfs.c \ + os/freebsd/nfs.c \ + os/freebsd/smb.c + +KERNEL_C = \ + cityhash.c \ + zfeature_common.c \ + zfs_comutil.c \ + zfs_deleg.c \ + zfs_fletcher.c \ + zfs_fletcher_superscalar.c \ + zfs_fletcher_superscalar4.c \ + zfs_namecheck.c \ + zfs_prop.c \ + zpool_prop.c \ + zprop_common.c + + +ARCH_C = +.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" +ARCH_C += zfs_fletcher_intel.c \ + zfs_fletcher_sse.c +CFLAGS += -DHAVE_SSE2 +.endif +.if ${MACHINE_ARCH} == "amd64" +ARCH_C += zfs_fletcher_avx512.c +CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F +.endif +.if ${MACHINE_CPUARCH} == "aarch64" +ARCH_C += zfs_fletcher_aarch64_neon.c +.endif + +SRCS= $(USER_C) $(KERNEL_C) $(ARCH_C) + +WARNS?= 2 +SHLIB_MAJOR= 4 +CSTD= c99 +CFLAGS+= -DIN_BASE +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libshare +CFLAGS+= -I${SRCTOP}/sys/contrib/ck/include +CFLAGS+= -I${SRCTOP}/sys +CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include +CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h +CFLAGS+= -DHAVE_ISSETUGID +CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h +CFLAGS+= -DSYSCONFDIR=\"/etc\" +CFLAGS+= -DPKGDATADIR=\"/usr/share/zfs\" - ++CFLAGS+= -DZFSEXECDIR=\"${LIBEXECDIR}/zfs\" + +.include diff --cc cddl/usr.libexec/Makefile index 692f16d33717,000000000000..9eb4872b69d5 mode 100644,000000..100644 --- a/cddl/usr.libexec/Makefile +++ b/cddl/usr.libexec/Makefile @@@ -1,9 -1,0 +1,10 @@@ + +.include + +SUBDIR.${MK_ZFS}+= \ ++ zfs_prepare_disk \ + zpool_influxdb + +SUBDIR_PARALLEL= + +.include diff --cc cddl/usr.libexec/zfs_prepare_disk/Makefile index 000000000000,000000000000..0efb4452829d new file mode 100644 --- /dev/null +++ b/cddl/usr.libexec/zfs_prepare_disk/Makefile @@@ -1,0 -1,0 +1,19 @@@ ++ZFSTOP= ${SRCTOP}/sys/contrib/openzfs ++ ++.PATH: ${ZFSTOP}/scripts ++ ++PACKAGE= zfs ++SCRIPTS= zfs_prepare_disk ++SCRIPTSDIR= ${LIBEXECDIR}/zfs ++ ++.PATH: ${ZFSTOP}/man/man8 ++MAN= zfs_prepare_disk.8 ++ ++CLEANFILES+= zfs_prepare_disk.8 ++ ++zfs_prepare_disk.8: zfs_prepare_disk.8.in ++ sed ${MAN_SUB} ${.ALLSRC} >${.TARGET} ++ ++MAN_SUB+= -e 's|@zfsexecdir@|${LIBEXECDIR}/zfs|g' ++ ++.include diff --cc sys/contrib/openzfs/.gitignore index 47d17ae16d34,000000000000..a2cb92dd5406 mode 100644,000000..100644 --- a/sys/contrib/openzfs/.gitignore +++ b/sys/contrib/openzfs/.gitignore @@@ -1,89 -1,0 +1,90 @@@ +# +# This is the top-level .gitignore file: +# ignore everything except a list of allowed files. +# +# This is not the place for entries that are specific to +# a subdirectory. Instead add those files to the +# .gitignore file in that subdirectory. +# +# N.B. +# Please use 'git ls-files -i --exclude-standard' +# command after changing this file, to see if there are +# any tracked files which get ignored after the change. + +* + +!.github +!cmd +!config +!contrib +!etc +!include +!lib +!man +!module +!rpm +!scripts +!tests +!udev + +!.github/** +!cmd/** +!config/** +!contrib/** +!etc/** +!include/** +!lib/** +!man/** +!module/** +!rpm/** +!scripts/** +!tests/** +!udev/** + +!.editorconfig +!.cirrus.yml +!.gitignore +!.gitmodules +!.mailmap +!AUTHORS +!autogen.sh +!CODE_OF_CONDUCT.md +!configure.ac +!copy-builtin +!COPYRIGHT +!LICENSE +!Makefile.am +!META +!NEWS +!NOTICE +!README.md +!RELEASES.md +!TEST +!zfs.release.in + +# +# Normal rules +# +*.[oa] +*.o.ur-safe +*.lo +*.la +*.mod.c +*~ +*.swp +*.gcno +*.gcda +*.pyc +*.pyo +.deps +.libs +.dirstamp +.DS_Store +modules.order +Makefile +Makefile.in ++changelog +*.patch +*.orig +*.tmp +*.log diff --cc sys/contrib/openzfs/config/kernel-fsync-bdev.m4 index 000000000000,c47e236f705f..c47e236f705f mode 000000,100644..100644 --- a/sys/contrib/openzfs/config/kernel-fsync-bdev.m4 +++ b/sys/contrib/openzfs/config/kernel-fsync-bdev.m4 diff --cc sys/contrib/openzfs/man/man8/zfs_prepare_disk.8.in index 000000000000,2a741531e415..2a741531e415 mode 000000,100644..100644 --- a/sys/contrib/openzfs/man/man8/zfs_prepare_disk.8.in +++ b/sys/contrib/openzfs/man/man8/zfs_prepare_disk.8.in diff --cc sys/contrib/openzfs/scripts/zfs_prepare_disk index 000000000000,02aa9f8a7728..02aa9f8a7728 mode 000000,100755..100755 --- a/sys/contrib/openzfs/scripts/zfs_prepare_disk +++ b/sys/contrib/openzfs/scripts/zfs_prepare_disk diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/fault/auto_replace_002_pos.ksh index 000000000000,2259e604317b..2259e604317b mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/fault/auto_replace_002_pos.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/fault/auto_replace_002_pos.ksh diff --cc sys/modules/zfs/zfs_config.h index 9c423a3e3e36,000000000000..02f5116f3eb3 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,1134 -1,0 +1,1149 @@@ +/* + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* bio_end_io_t wants 1 arg */ +/* #undef HAVE_1ARG_BIO_END_IO_T */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* submit_bio() wants 1 arg */ +/* #undef HAVE_1ARG_SUBMIT_BIO */ + +/* bdi_setup_and_register() wants 2 args */ +/* #undef HAVE_2ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 2 args */ +/* #undef HAVE_2ARGS_VFS_GETATTR */ + +/* zlib_deflate_workspacesize() wants 2 args */ +/* #undef HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE */ + +/* bdi_setup_and_register() wants 3 args */ +/* #undef HAVE_3ARGS_BDI_SETUP_AND_REGISTER */ + +/* vfs_getattr wants 3 args */ +/* #undef HAVE_3ARGS_VFS_GETATTR */ + +/* vfs_getattr wants 4 args */ +/* #undef HAVE_4ARGS_VFS_GETATTR */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* posix_acl has refcount_t */ +/* #undef HAVE_ACL_REFCOUNT */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if host toolchain supports AES */ +#define HAVE_AES 1 + +/* Define if you have [rt] */ +#define HAVE_AIO_H 1 + +#ifdef __amd64__ +#ifndef RESCUE +/* Define if host toolchain supports AVX */ +#define HAVE_AVX 1 +#endif + +/* Define if host toolchain supports AVX2 */ +#define HAVE_AVX2 1 + +/* Define if host toolchain supports AVX512BW */ +#define HAVE_AVX512BW 1 + +/* Define if host toolchain supports AVX512CD */ +#define HAVE_AVX512CD 1 + +/* Define if host toolchain supports AVX512DQ */ +#define HAVE_AVX512DQ 1 + +/* Define if host toolchain supports AVX512ER */ +#define HAVE_AVX512ER 1 + +/* Define if host toolchain supports AVX512F */ +#define HAVE_AVX512F 1 + +/* Define if host toolchain supports AVX512IFMA */ +#define HAVE_AVX512IFMA 1 + +/* Define if host toolchain supports AVX512PF */ +#define HAVE_AVX512PF 1 + +/* Define if host toolchain supports AVX512VBMI */ +#define HAVE_AVX512VBMI 1 + +/* Define if host toolchain supports AVX512VL */ +#define HAVE_AVX512VL 1 +#endif + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_63 */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_OLD */ + +/* bdev_kobj() exists */ +/* #undef HAVE_BDEV_KOBJ */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio->bi_opf is defined */ +/* #undef HAVE_BIO_BI_OPF */ + +/* bio->bi_status exists */ +/* #undef HAVE_BIO_BI_STATUS */ + +/* bio has bi_iter */ +/* #undef HAVE_BIO_BVEC_ITER */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() is available */ +/* #undef HAVE_BIO_SET_DEV */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() exists and takes 4 args */ +/* #undef HAVE_BLKDEV_GET_BY_PATH_4ARG */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + +/* blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + +/* blkdev_put() accepts void* as arg 2 */ +/* #undef HAVE_BLKDEV_PUT_HOLDER */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk_mode_t is defined */ +/* #undef HAVE_BLK_MODE_T */ + +/* block multiqueue is available */ +/* #undef HAVE_BLK_MQ */ + +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + +/* blk_queue_flag_clear() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_CLEAR */ + +/* blk_queue_flag_set() exists */ +/* #undef HAVE_BLK_QUEUE_FLAG_SET */ + +/* blk_queue_flush() is available */ +/* #undef HAVE_BLK_QUEUE_FLUSH */ + +/* blk_queue_flush() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_FLUSH_GPL_ONLY */ + +/* blk_queue_secdiscard() is available */ +/* #undef HAVE_BLK_QUEUE_SECDISCARD */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* blk_queue_write_cache() exists */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE */ + +/* blk_queue_write_cache() is GPL-only */ +/* #undef HAVE_BLK_QUEUE_WRITE_CACHE_GPL_ONLY */ + +/* BLK_STS_RESV_CONFLICT is defined */ +/* #undef HAVE_BLK_STS_RESV_CONFLICT */ + +/* Define if release() in block_device_operations takes 1 arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYCURRENT */ + +/* Define to 1 if you have the Mac OS X function + CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */ +/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* clear_inode() is available */ +/* #undef HAVE_CLEAR_INODE */ + +/* dentry uses const struct dentry_operations */ +/* #undef HAVE_CONST_DENTRY_OPERATIONS */ + +/* copy_from_iter() is available */ +/* #undef HAVE_COPY_FROM_ITER */ + +/* copy_splice_read exists */ +/* #undef HAVE_COPY_SPLICE_READ */ + +/* copy_to_iter() is available */ +/* #undef HAVE_COPY_TO_ITER */ + +/* cpu_has_feature() is GPL-only */ +/* #undef HAVE_CPU_HAS_FEATURE_GPL_ONLY */ + +/* yes */ +/* #undef HAVE_CPU_HOTPLUG */ + +/* current_time() exists */ +/* #undef HAVE_CURRENT_TIME */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* dentry aliases are in d_u member */ +/* #undef HAVE_DENTRY_D_U_ALIASES */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* sops->dirty_inode() wants flags */ +/* #undef HAVE_DIRTY_INODE_WITH_FLAGS */ + +/* disk_check_media_change() exists */ +/* #undef HAVE_DISK_CHECK_MEDIA_CHANGE */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* d_make_root() is available */ +/* #undef HAVE_D_MAKE_ROOT */ + +/* d_prune_aliases() is available */ +/* #undef HAVE_D_PRUNE_ALIASES */ + +/* dops->d_revalidate() operation takes nameidata */ +/* #undef HAVE_D_REVALIDATE_NAMEIDATA */ + +/* eops->encode_fh() wants child and parent inodes */ +/* #undef HAVE_ENCODE_FH_WITH_INODE */ + +/* sops->evict_inode() exists */ +/* #undef HAVE_EVICT_INODE */ + +/* FALLOC_FL_ZERO_RANGE is defined */ +/* #undef HAVE_FALLOC_FL_ZERO_RANGE */ + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* filemap_range_has_page() is available */ +/* #undef HAVE_FILEMAP_RANGE_HAS_PAGE */ + +/* fops->aio_fsync() exists */ +/* #undef HAVE_FILE_AIO_FSYNC */ + +/* file_dentry() is available */ +/* #undef HAVE_FILE_DENTRY */ + +/* fops->fadvise() exists */ +/* #undef HAVE_FILE_FADVISE */ + +/* file_inode() is available */ +/* #undef HAVE_FILE_INODE */ + +/* flush_dcache_page() is GPL-only */ +/* #undef HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY */ + +/* iops->follow_link() cookie */ +/* #undef HAVE_FOLLOW_LINK_COOKIE */ + +/* iops->follow_link() nameidata */ +/* #undef HAVE_FOLLOW_LINK_NAMEIDATA */ + +/* Define if compiler supports -Wformat-overflow */ +/* #undef HAVE_FORMAT_OVERFLOW */ + ++/* fsync_bdev() is declared in include/blkdev.h */ ++/* #undef HAVE_FSYNC_BDEV */ ++ +/* fops->fsync() with range */ +/* #undef HAVE_FSYNC_RANGE */ + +/* fops->fsync() without dentry */ +/* #undef HAVE_FSYNC_WITHOUT_DENTRY */ + +/* yes */ +/* #undef HAVE_GENERIC_FADVISE */ + +/* generic_fillattr requires struct mnt_idmap* */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP */ + ++/* generic_fillattr requires struct mnt_idmap* and u32 request_mask */ ++/* #undef HAVE_GENERIC_FILLATTR_IDMAP_REQMASK */ ++ +/* generic_fillattr requires struct user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 3 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_3ARG */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* generic_readlink is global */ +/* #undef HAVE_GENERIC_READLINK */ + +/* generic_setxattr() exists */ +/* #undef HAVE_GENERIC_SETXATTR */ + +/* generic_write_checks() takes kiocb */ +/* #undef HAVE_GENERIC_WRITE_CHECKS_KIOCB */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + +/* has iops->get_inode_acl() */ +/* #undef HAVE_GET_INODE_ACL */ + +/* iops->get_link() cookie */ +/* #undef HAVE_GET_LINK_COOKIE */ + +/* iops->get_link() delayed */ +/* #undef HAVE_GET_LINK_DELAYED */ + +/* group_info->gid exists */ +/* #undef HAVE_GROUP_INFO_GID */ + +/* has_capability() is available */ +/* #undef HAVE_HAS_CAPABILITY */ + +/* iattr->ia_vfsuid and iattr->ia_vfsgid exist */ +/* #undef HAVE_IATTR_VFSID */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* iops->getattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_GETATTR */ + +/* iops->setattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_SETATTR */ + +/* APIs for idmapped mount are present */ +/* #undef HAVE_IDMAP_MNT_API */ + +/* Define if compiler supports -Wimplicit-fallthrough */ +/* #undef HAVE_IMPLICIT_FALLTHROUGH */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + ++/* inode_get_ctime() exists in linux/fs.h */ ++/* #undef HAVE_INODE_GET_CTIME */ ++ +/* yes */ +/* #undef HAVE_INODE_LOCK_SHARED */ + +/* inode_owner_or_capable() exists */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE */ + +/* inode_owner_or_capable() takes mnt_idmap */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAP */ + +/* inode_owner_or_capable() takes user_ns */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_USERNS */ + ++/* inode_set_ctime_to_ts() exists in linux/fs.h */ ++/* #undef HAVE_INODE_SET_CTIME_TO_TS */ ++ +/* inode_set_flags() exists */ +/* #undef HAVE_INODE_SET_FLAGS */ + +/* inode_set_iversion() exists */ +/* #undef HAVE_INODE_SET_IVERSION */ + +/* inode->i_*time's are timespec64 */ +/* #undef HAVE_INODE_TIMESPEC64_TIMES */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* in_compat_syscall() is available */ +/* #undef HAVE_IN_COMPAT_SYSCALL */ + +/* iops->create() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_CREATE_IDMAP */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKDIR_IDMAP */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKNOD_IDMAP */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->permission() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_PERMISSION_IDMAP */ + +/* iops->permission() takes struct user_namespace* */ +/* #undef HAVE_IOPS_PERMISSION_USERNS */ + +/* iops->rename() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_RENAME_IDMAP */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->setattr() exists */ +/* #undef HAVE_IOPS_SETATTR */ + +/* iops->symlink() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_SYMLINK_IDMAP */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_advance() is available */ +/* #undef HAVE_IOV_ITER_ADVANCE */ + +/* iov_iter_count() is available */ +/* #undef HAVE_IOV_ITER_COUNT */ + +/* iov_iter_fault_in_readable() is available */ +/* #undef HAVE_IOV_ITER_FAULT_IN_READABLE */ + +/* iov_iter_revert() is available */ +/* #undef HAVE_IOV_ITER_REVERT */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* iov_iter types are available */ +/* #undef HAVE_IOV_ITER_TYPES */ + +/* yes */ +/* #undef HAVE_IO_SCHEDULE_TIMEOUT */ + +/* Define to 1 if you have the `issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* iter_iov() is available */ +/* #undef HAVE_ITER_IOV */ + +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ + +/* kernel has asm/fpu/api.h */ +/* #undef HAVE_KERNEL_FPU_API_HEADER */ + +/* kernel fpu internal */ +/* #undef HAVE_KERNEL_FPU_INTERNAL */ + +/* kernel has asm/fpu/internal.h */ +/* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ + +/* uncached_acl_sentinel() exists */ +/* #undef HAVE_KERNEL_GET_ACL_HANDLE_CACHE */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_KERNEL_INFINITE_RECURSION */ + +/* kernel does stack verification */ +/* #undef HAVE_KERNEL_OBJTOOL */ + +/* kernel has linux/objtool.h */ +/* #undef HAVE_KERNEL_OBJTOOL_HEADER */ + +/* kernel_read() take loff_t pointer */ +/* #undef HAVE_KERNEL_READ_PPOS */ + +/* timer_list.function gets a timer_list */ +/* #undef HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST */ + +/* struct timer_list has a flags member */ +/* #undef HAVE_KERNEL_TIMER_LIST_FLAGS */ + +/* timer_setup() is available */ +/* #undef HAVE_KERNEL_TIMER_SETUP */ + +/* kernel_write() take loff_t pointer */ +/* #undef HAVE_KERNEL_WRITE_PPOS */ + +/* kmem_cache_create_usercopy() exists */ +/* #undef HAVE_KMEM_CACHE_CREATE_USERCOPY */ + *** 585 LINES SKIPPED *** From nobody Wed Nov 22 12:31:12 2023 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 4Sb0wK26zwz51W0H; Wed, 22 Nov 2023 12:31:13 +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 4Sb0wK1MRhz4Fsp; Wed, 22 Nov 2023 12:31:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700656273; 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=5uD32aHtqtSKhMmUa1L5o/HVPTLT8KQQuFKEAaScFio=; b=TL84tDxWtwQ/BKJrdxAPq2CCmpa/586sMwaMWHcbd8CEd1/4bRLGSh8WE0R0UHqqAdzwds 14mIigVxQbEhmsHlvVWuBBYHJCbTDth0+HFPCDtkCGwhoXpNi7IQSFWPvRsJ9EwhbioWYT iVb/6g/yF/Jkcn8NOBcyVvBTSYQqnupJiNj1hwEw/twMBmapzIkH+zp+mI+jVijXbmOanL DjE8YZnRsJjhF+D+pXRuvKqphtQaNU0sp2aoABfbUfikYvBXHyfn+cS3B/geobc11/kX1h FVSVeFdoZ51O1BtlLOyOH5t1gK3cpVADz1DnuFSaaAd8tUV7Y1JCUJZJ7tTVuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700656273; 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=5uD32aHtqtSKhMmUa1L5o/HVPTLT8KQQuFKEAaScFio=; b=p1TwAQj8vyOsdVs3vzGKx2qAXe+zKwN4mSgfPahqhhyuCYH5NV2i4asPYKzQj9Sxk2ApdN TNCM7DibzZCc1Zrlwy8c1/dbAoy19XwsDoVYnzEllyHrTuxD6kzg6eB98tj9G3y/6mh1gg NquS/nvBQge6xac0a4ksG0NXNnBNEGL5emmevb0P8RYzs+4kY9PJfONkaCSD2Pnpq76cv7 64boo1x7m6aS8rNLI7gyV4+5fa+xS4DMPf4mORhx1j00yLZPGTloVn1JyLa8G5GKhTv265 GUhiPAqBqPTdv0FiplPlRfEtwkeX2nzAEmPrjAAuQRaqCZtvfNBctzGlVcWqwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700656273; a=rsa-sha256; cv=none; b=SKO8OvhrhlUfxDM27jsoGPMfhc7rsAgzaVGztXAzPnJqlIYx9MVz1JywN4NMF64ojPaKXH bUyM8gbVnZuyFcXbt6QmSIpiVfaWVyGxjKHPEM9aeb0itpnIL+2APC5cW0NVOKwNJwXZmr dxgxsEZTqcsSBHz7sPw8LCw6/DXgmSKXI3RUa+yeqgGbytN8kczZ1VHJal6pbbZkVE41hq mygJgyszwt4ey6sSaOxRgn4yY3MtJ2vMC+jkVzk3AhMVGX3otTD+q8BY1H0TCuWQ1WoSTg Cmj+/BolfSkBiTjAYYGJAaGxMloCANTTl9va+EMhBWuYjmX46K1wo8DNcr0nnw== 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 4Sb0wK0R5Mz37D; Wed, 22 Nov 2023 12:31:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMCVCtM045169; Wed, 22 Nov 2023 12:31:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMCVCxS045166; Wed, 22 Nov 2023 12:31:12 GMT (envelope-from git) Date: Wed, 22 Nov 2023 12:31:12 GMT Message-Id: <202311221231.3AMCVCxS045166@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Piotrowski <0mp@FreeBSD.org> Subject: git: 8ec79e8ae07d - main - loader.efi.8: Fix a typo 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: 0mp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ec79e8ae07d34a371eeb09329ad32993aecd906 Auto-Submitted: auto-generated The branch main has been updated by 0mp: URL: https://cgit.FreeBSD.org/src/commit/?id=8ec79e8ae07d34a371eeb09329ad32993aecd906 commit 8ec79e8ae07d34a371eeb09329ad32993aecd906 Author: Mateusz Piotrowski <0mp@FreeBSD.org> AuthorDate: 2023-11-22 12:24:41 +0000 Commit: Mateusz Piotrowski <0mp@FreeBSD.org> CommitDate: 2023-11-22 12:25:34 +0000 loader.efi.8: Fix a typo MFC after: 3 days Sponsored by: Klara, Inc. --- stand/man/loader.efi.8 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/man/loader.efi.8 b/stand/man/loader.efi.8 index 827c4ced7f2e..cc24b25594f9 100644 --- a/stand/man/loader.efi.8 +++ b/stand/man/loader.efi.8 @@ -30,7 +30,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 4, 2022 +.Dd November 22, 2023 .Dt LOADER.EFI 8 .Os .Sh NAME @@ -352,7 +352,7 @@ The default location for the ESP mount point is documented in .Xr hier 7 . .Sh EXAMPLES .Ss Updating loader.efi on the ESP -The following examples shows how to install a new +The following example shows how to install a new .Nm on the ESP. .Pp From nobody Wed Nov 22 13:49:20 2023 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 4Sb2fS4q6Hz51f6w; Wed, 22 Nov 2023 13:49:20 +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 4Sb2fS4Gcbz4NMc; Wed, 22 Nov 2023 13:49:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700660960; 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=r877dg+P0XyDZUtuVE6XXvGQeIYbRRvgX/U4VzBMpRc=; b=Gu3wwtVU29ubIcEONbrYx3cIRCY52vnnWcEQq7U0qI/3KIYCtI/bLDJdeJySGzfA+pSxyh pcZSNv7ZDcJYvzCJsFfuaT1IXRS5jCrHf9mKzlC116u2TVV7Dv2YaYIbSzOZe55VnvUSd1 yF6aSn+tF34i3IjevYdflbYAr5iGsP7lg070We5mGlCDuUXX0coq+XBlV/maIPc2mKFNkl 4eY0YwpajV/fqWQLcK1oQ3PzXKmrAJVjYzH/uyfjNcaZnaTIHv/bB4LHypIKVT452v542g lA+G1+hVuxPPd/tA5ZMLaExCji/IB+WA+bjyhUFTOH45t/UwnwRUfE7OuGd1iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700660960; 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=r877dg+P0XyDZUtuVE6XXvGQeIYbRRvgX/U4VzBMpRc=; b=kbVWdRa2TnMRn6zkCILX+7Sq3kJUhXeE23c7b/Vh8nI3gh/heDEawRFQ3DvzPjMAhEUziK eIjYKGa7tz3UwPk9O6co6hiduDsyuFDrPeMAj9BgJCCHNdQMIgBbjYkm7SYSldCCSQTpWU /BoURcOiVYulD0Y7/sGChFXwFFhj6PuUnMSL7AGeJ3OgTY3cO+ygZjWrVoNuUgrId/Eji6 B8hW8amQu0yf/2SC2FuzLzcgPWkdOrRkiHwAL0/MwuP+WuqaLFwQXoF/yk7Fh6x8buvr41 XpCtoXGkkTPVvaE1dCtYTABYxRnRVpS0j3OVOIE6ERMUHfsVDkN+tv5dnpC1ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700660960; a=rsa-sha256; cv=none; b=bR0FGmCijix8+kQ1jq2uhFqMLeLXD/szu1XtEqBixke4p7+vUfB4YftS+F1UW401gyHubN nbR5rnshr5Eil8RjObzjTricM5YXYPAemwXC/Zjj7UxOXM16WUABe4qVvwfWOStmmGNIfs vPlzmkcxZWt40OmWafjttUcR29uRPkOif7kGp0lyejFXf59j5G8NjNa1dzyIZ9JQn38Qoi 6rSWP1/dmpN6dbU3VCmgSKJmY7C+//1nEi9CTAR/L443qm0qph3DPKR1RGrTNVPv2hOTR0 JBTDS5x/YB04oVOgaXrF3zuYwsrhm7IeqodSyqon1XId+DZ/mW2kWsTo8G+5+g== 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 4Sb2fS3KBPz6BD; Wed, 22 Nov 2023 13:49:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMDnKHO068976; Wed, 22 Nov 2023 13:49:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMDnKZk068973; Wed, 22 Nov 2023 13:49:20 GMT (envelope-from git) Date: Wed, 22 Nov 2023 13:49:20 GMT Message-Id: <202311221349.3AMDnKZk068973@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: b01cad6d3a85 - main - ip_mroute: handle V_mfchashtbl allocation failure 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b01cad6d3a8523101e7915809144f47e3045067f Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=b01cad6d3a8523101e7915809144f47e3045067f commit b01cad6d3a8523101e7915809144f47e3045067f Author: Kristof Provost AuthorDate: 2023-11-22 13:44:03 +0000 Commit: Kristof Provost CommitDate: 2023-11-22 13:47:14 +0000 ip_mroute: handle V_mfchashtbl allocation failure We allocate V_mfchashtbl with HASH_NOWAIT (which maps to M_NOWAIT), so this allocation may fail. As we didn't handle that failure we could end up dereferencing a NULL pointer later (e.g. during X_ip_mrouter_done()). Do the obvious thing and fail out if we cannot allocate the table. See also: https://redmine.pfsense.org/issues/14917 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netinet/ip_mroute.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index cda5f160e8fb..f789c6eed835 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -708,6 +708,10 @@ ip_mrouter_init(struct socket *so, int version) V_mfchashtbl = hashinit_flags(mfchashsize, M_MRTABLE, &V_mfchash, HASH_NOWAIT); + if (V_mfchashtbl == NULL) { + MRW_WUNLOCK(); + return (ENOMEM); + } /* Create upcall ring */ mtx_init(&V_bw_upcalls_ring_mtx, "mroute upcall buf_ring mtx", NULL, MTX_DEF); From nobody Wed Nov 22 17:06:46 2023 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 4Sb72G47x1z52Kqy; Wed, 22 Nov 2023 17:06:46 +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 4Sb72G3hbqz3PX9; Wed, 22 Nov 2023 17:06:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700672806; 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=CkqWVqicYN6oJi9buD7rEK642ymLoyCypzK7th3qgJ0=; b=kZ0grHTRsAXcXaX32IOXgPBNYB0muqGit5Sz4LpqPdc6Xug04+wI15jQ9GIyz9abbvjWjr zINLOBZxnnvaWDZyTTJ9Ni5PUtzhY/yPK1pb0RPC6V1LpiyzizxXtbLfOzm7QogMHqqoEe kK9QKTaCH3hIxSLGphmdNqBgVAiDVV9jRbCo5Lx7ITqJSpiuC9Nz8NUI4GU7qu6Pq8dj4u YkRwIkgWGEzkp+6gH74RL40yXf6bOSoofT5rKATFLUm/FWYeAXEi5tAcZ8R5dwqZI+59ky 2Tt8LfOeJwAVECwXXAlG3RY2XSfMDLboDLWN+tVBmZqXGcYEsdMsJHvF32hOsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700672806; 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=CkqWVqicYN6oJi9buD7rEK642ymLoyCypzK7th3qgJ0=; b=Nc1X9kr7AO9A07Kn/t1XqAnDKLcnXCC6PuTlDPs6va/oZ1+Z8vf+2uj1hEwLl9myXXG5E4 C98/o+rCjuVKqk1YrK0TVEEP+sMqnDwTa0LPp5ae85u83FARninbBqh8VZJhMYJdeuH+fk iWYHs44jSPLulpJaR0txaO8bar6O5AqKofVXhXSk6mDII0hkJjUnwnw8jsgm7jyp+tzawp xffcooT7ovPtVVz9cwfQ801gKlhbs1X4qq8rscUdBuutQQTA6vhX3RP3Q+bSrO4miVa2BD XdixDAz690CWl69R2JoxeeJNBVs3AAhQvDdoP4U4+o03oKzalZjLIOy0ykt3SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700672806; a=rsa-sha256; cv=none; b=ETF1OtIXV8QXiRF9mDxVQwBFhHfxQsZkCEUeWQ7CzDyTV7O0W7W+kn1OR5w9huOpa+xADK fEVXZ8ghgs1N5IbcQNH5/th27fEg8w3t3PWEUp3WkheqUOThzEpitWcMwAZIz02EkV7MpP wSsEJSxO0LCQpFOTjBRXgjNeFoSi87F1BrbfXii0h/qnS1so2z4uV/QC/Oo0/6D9XsQrpl 52WHSQ4arB1AQ5NVC9nW4d2EOVJigpq7e6X9zCU7je1p5qa3l9B6ZyTFGueXtWmsRhad4q 629HC/WSxF+4Kfo7tDrLykvygnGKDosOl6P8fyUAKBoJDzEAnEuL+BKKI9AC4Q== 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 4Sb72G2g2WzCKy; Wed, 22 Nov 2023 17:06:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMH6kTp002664; Wed, 22 Nov 2023 17:06:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMH6kNd002661; Wed, 22 Nov 2023 17:06:46 GMT (envelope-from git) Date: Wed, 22 Nov 2023 17:06:46 GMT Message-Id: <202311221706.3AMH6kNd002661@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: a19ed3495d55 - main - gpiobus: Use bus_generic_rl_* methods 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a19ed3495d5556281ea39995d962b93a637183f0 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a19ed3495d5556281ea39995d962b93a637183f0 commit a19ed3495d5556281ea39995d962b93a637183f0 Author: John Baldwin AuthorDate: 2023-11-22 17:06:22 +0000 Commit: John Baldwin CommitDate: 2023-11-22 17:06:22 +0000 gpiobus: Use bus_generic_rl_* methods Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42715 --- sys/dev/gpio/gpiobus.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c index be2fef549460..65e8d1a775fe 100644 --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -755,24 +755,6 @@ gpiobus_hinted_child(device_t bus, const char *dname, int dunit) } } -static int -gpiobus_set_resource(device_t dev, device_t child, int type, int rid, - rman_res_t start, rman_res_t count) -{ - struct gpiobus_ivar *devi; - struct resource_list_entry *rle; - - dprintf("%s: entry (%p, %p, %d, %d, %p, %ld)\n", - __func__, dev, child, type, rid, (void *)(intptr_t)start, count); - devi = GPIOBUS_IVAR(child); - rle = resource_list_add(&devi->rl, type, rid, start, - start + count - 1, count); - if (rle == NULL) - return (ENXIO); - - return (0); -} - static int gpiobus_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) { @@ -1075,7 +1057,9 @@ static device_method_t gpiobus_methods[] = { DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), DEVMETHOD(bus_config_intr, bus_generic_config_intr), DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), - DEVMETHOD(bus_set_resource, gpiobus_set_resource), + DEVMETHOD(bus_delete_resource, bus_generic_rl_delete_resource), + DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), + DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), DEVMETHOD(bus_alloc_resource, gpiobus_alloc_resource), DEVMETHOD(bus_release_resource, gpiobus_release_resource), DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), From nobody Wed Nov 22 17:06:47 2023 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 4Sb72H4bDmz52L2f; Wed, 22 Nov 2023 17:06:47 +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 4Sb72H44CQz3Pcw; Wed, 22 Nov 2023 17:06:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700672807; 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=b6VeelrZrRQ2ZdWCQWGB1SpmSKJsJGMqm71+zF2cS5A=; b=wsEVFdBJnMIUJnV2cn3TZPgwIODIIG05J6VGF37GJmhCqQ+hOQmVg1KbP7IN9sg9HsI2Ze EoM9cxdea8ScmpeoqBpG5RmJKUfq56w9Wb8l1A8cpALD/1ytQ0SptI0JK8ngPzMJKrWY3X EfYTXHjKmqDHSLYnibEV5zIXRDxeS/4iNhZPwVG7l1tdMFMaXAKsBdXR1DCCW1MQjVV1Mc znKUYgXNft18VUF67W6PwPkckgaSvCN4jXwpejU5RV6dkznNojYFT4frAT3DEc6GbksT5J 4NIG9XPvFZGcQft0IYoEGlH2WJkNPIivUOETrCXGi8nhp0rofhIxgVQHUV7nNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700672807; 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=b6VeelrZrRQ2ZdWCQWGB1SpmSKJsJGMqm71+zF2cS5A=; b=Ryx83Uwn6TURrWHsdJ1Im2itxFS1TfRdDdIU7MGX7dY+oNxBWIQiJ2lTd8iw8zoW4ejjQ1 fw861VrWmITwGSESQIx0RAmVuRvDjRdcvluwtLVMVByjhQ+ME3/piLbN0aviPJ332/td9a z584qFqnkANRZjF04Jiui+e7jbHIiFCBnBW8TtDDBoE0aVWUTQYaCP8UaZirg1yWSf/aqK EaR7qUaIPPgCujDbKT6PcRpVyfgOcj52tGIyBybam6MiTcigrrB7RC/GHWLdMB8uL76Ogn UKtDgpy/gqaPulTfU9wMJxpO1gdYt8PTrxBwnYAyf7TMipe4o3BxNjgCPowt4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700672807; a=rsa-sha256; cv=none; b=aLZ4cte8ZlkB3n5PZlRZ3x4N7i/TN4ShxPHfEMWe4cscGOlUWjDvQFkg/J6F39JawB9Xt9 v6QoxVDsNhWWjo1sWdbjwXVTr3gRawmQJkenghuImafAIVU2DoG27v863wgBxf4AD28tML wnsk156/RbARO5nPBuo+HFqXYCMx46ihot1HwzBXy7PIJXmyuyv6ow9Fvo9Y7WZIruQRdr EHjijV6VYidPqZD9Pres6HP1ODSYkxmFLz4qeZBAxz5aTIqIR1sUYWANDEx0/P7Gt4rQsR gZb3WeFL+d1Sib4EEk3ctda9qJ6MxdEz2Z5J9ghJY20CTMLm6OI57uD0wM26KA== 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 4Sb72H36m1zC72; Wed, 22 Nov 2023 17:06:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMH6lf0002703; Wed, 22 Nov 2023 17:06:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMH6lPQ002700; Wed, 22 Nov 2023 17:06:47 GMT (envelope-from git) Date: Wed, 22 Nov 2023 17:06:47 GMT Message-Id: <202311221706.3AMH6lPQ002700@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: ecf2106c0701 - main - arm64/amd64/riscv nexus: Use bus_generic_rl_* 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ecf2106c0701e522b8c643f8ea37550b3e58ba57 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ecf2106c0701e522b8c643f8ea37550b3e58ba57 commit ecf2106c0701e522b8c643f8ea37550b3e58ba57 Author: John Baldwin AuthorDate: 2023-11-22 17:06:33 +0000 Commit: John Baldwin CommitDate: 2023-11-22 17:06:33 +0000 arm64/amd64/riscv nexus: Use bus_generic_rl_* Reviewed by: mhorne, imp Differential Revision: https://reviews.freebsd.org/D42716 --- sys/arm64/arm64/nexus.c | 16 +--------------- sys/riscv/riscv/nexus.c | 18 +++--------------- sys/x86/x86/nexus.c | 48 +++--------------------------------------------- 3 files changed, 7 insertions(+), 75 deletions(-) diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index 6ba73cd456ef..dee86bce656a 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -112,7 +112,6 @@ static bus_deactivate_resource_t nexus_deactivate_resource; static bus_get_resource_list_t nexus_get_reslist; static bus_map_resource_t nexus_map_resource; static bus_release_resource_t nexus_release_resource; -static bus_set_resource_t nexus_set_resource; #ifdef SMP static bus_bind_intr_t nexus_bind_intr; @@ -141,7 +140,7 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_get_resource_list, nexus_get_reslist), DEVMETHOD(bus_map_resource, nexus_map_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), - DEVMETHOD(bus_set_resource, nexus_set_resource), + DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), #ifdef SMP DEVMETHOD(bus_bind_intr, nexus_bind_intr), #endif @@ -435,19 +434,6 @@ nexus_get_reslist(device_t dev, device_t child) return (&ndev->nx_resources); } -static int -nexus_set_resource(device_t dev, device_t child, int type, int rid, - rman_res_t start, rman_res_t count) -{ - struct nexus_device *ndev = DEVTONX(child); - struct resource_list *rl = &ndev->nx_resources; - - /* XXX this should return a success/failure indicator */ - resource_list_add(rl, type, rid, start, start + count - 1, count); - - return (0); -} - static int nexus_deactivate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) diff --git a/sys/riscv/riscv/nexus.c b/sys/riscv/riscv/nexus.c index 48878807bb7e..2e693e6cf655 100644 --- a/sys/riscv/riscv/nexus.c +++ b/sys/riscv/riscv/nexus.c @@ -86,7 +86,6 @@ static bus_alloc_resource_t nexus_alloc_resource; static bus_deactivate_resource_t nexus_deactivate_resource; static bus_get_resource_list_t nexus_get_reslist; static bus_map_resource_t nexus_map_resource; -static bus_set_resource_t nexus_set_resource; static bus_release_resource_t nexus_release_resource; static bus_config_intr_t nexus_config_intr; @@ -113,9 +112,11 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), + DEVMETHOD(bus_delete_resource, bus_generic_rl_delete_resource), + DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), DEVMETHOD(bus_map_resource, nexus_map_resource), - DEVMETHOD(bus_set_resource, nexus_set_resource), + DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_describe_intr, nexus_describe_intr), @@ -395,19 +396,6 @@ nexus_get_reslist(device_t dev, device_t child) return (&ndev->nx_resources); } -static int -nexus_set_resource(device_t dev, device_t child, int type, int rid, - rman_res_t start, rman_res_t count) -{ - struct nexus_device *ndev = DEVTONX(child); - struct resource_list *rl = &ndev->nx_resources; - - /* XXX this should return a success/failure indicator */ - resource_list_add(rl, type, rid, start, start + count - 1, count); - - return (0); -} - static int nexus_deactivate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) diff --git a/sys/x86/x86/nexus.c b/sys/x86/x86/nexus.c index c90a8d252845..4896271b92bd 100644 --- a/sys/x86/x86/nexus.c +++ b/sys/x86/x86/nexus.c @@ -101,12 +101,9 @@ static bus_activate_resource_t nexus_activate_resource; static bus_adjust_resource_t nexus_adjust_resource; static bus_alloc_resource_t nexus_alloc_resource; static bus_deactivate_resource_t nexus_deactivate_resource; -static bus_delete_resource_t nexus_delete_resource; -static bus_get_resource_t nexus_get_resource; static bus_get_resource_list_t nexus_get_reslist; static bus_map_resource_t nexus_map_resource; static bus_release_resource_t nexus_release_resource; -static bus_set_resource_t nexus_set_resource; static bus_unmap_resource_t nexus_unmap_resource; #ifdef SMP @@ -145,12 +142,12 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), - DEVMETHOD(bus_get_resource, nexus_get_resource), + DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), - DEVMETHOD(bus_delete_resource, nexus_delete_resource), + DEVMETHOD(bus_delete_resource, bus_generic_rl_delete_resource), DEVMETHOD(bus_map_resource, nexus_map_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), - DEVMETHOD(bus_set_resource, nexus_set_resource), + DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), DEVMETHOD(bus_unmap_resource, nexus_unmap_resource), #ifdef SMP DEVMETHOD(bus_bind_intr, nexus_bind_intr), @@ -645,45 +642,6 @@ nexus_get_reslist(device_t dev, device_t child) return (&ndev->nx_resources); } -static int -nexus_set_resource(device_t dev, device_t child, int type, int rid, - rman_res_t start, rman_res_t count) -{ - struct nexus_device *ndev = DEVTONX(child); - struct resource_list *rl = &ndev->nx_resources; - - /* XXX this should return a success/failure indicator */ - resource_list_add(rl, type, rid, start, start + count - 1, count); - return (0); -} - -static int -nexus_get_resource(device_t dev, device_t child, int type, int rid, - rman_res_t *startp, rman_res_t *countp) -{ - struct nexus_device *ndev = DEVTONX(child); - struct resource_list *rl = &ndev->nx_resources; - struct resource_list_entry *rle; - - rle = resource_list_find(rl, type, rid); - if (!rle) - return (ENOENT); - if (startp) - *startp = rle->start; - if (countp) - *countp = rle->count; - return (0); -} - -static void -nexus_delete_resource(device_t dev, device_t child, int type, int rid) -{ - struct nexus_device *ndev = DEVTONX(child); - struct resource_list *rl = &ndev->nx_resources; - - resource_list_delete(rl, type, rid); -} - static int nexus_get_cpus(device_t dev, device_t child, enum cpu_sets op, size_t setsize, cpuset_t *cpuset) From nobody Wed Nov 22 18:14:15 2023 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 4Sb8X92LF7z51LMJ; Wed, 22 Nov 2023 18:14:17 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Sb8X91vZkz3ZGN; Wed, 22 Nov 2023 18:14:17 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700676857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nC6OdJPPe5KqXFFjeoG5iBeZEhrAbJjLmIdALjFnqww=; b=B5Gp4qoKeXXZQqSQgIqVTlXP4WReUeK6k+64O+C8q4W70nupJHcXEyYVXDBfBbIILtaLlK lm3OlxBm+BC7P0iC9RPWwDyyS/hQR+Ewj54iv4TwsEf5j+LpX7UBzCMUXlXmV50ZHuksnF AW4+Q5Leo3wu/hbypY+CUSCwnqqI0VyGduPudIEpoPPaBv/lGRh6RG5mOXt7pCu2nVLx0E yuoQkDT+hFI57GKGk+hdyhwToieQqQMDy87boA+nvhh49K4KVqy9NUqu2SoqXi96Xf8Cgl /YM7H4KfChXNCJmtPlw0HBWNsrWxCcvdyhMB1lDUPgK+MBnqLK6GA/WkfSbJyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700676857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nC6OdJPPe5KqXFFjeoG5iBeZEhrAbJjLmIdALjFnqww=; b=rpW2Q2x91pL+ucg0iw6Aq69KiU9GhdwXK3oEzbVD6xtJYp5b/K2jHbWU3d71H/CY5elKXv xBWL11jAtsPgmUcLQC4OZty2LP9k6x1ysMLmlMmdFgeuz4WTHzY5ZYh2PcEzqmN7Bsj/jU d47/aJHm90KoNkBd7iHK6m8xzp+O4Vs77Z+nXK2sN6NZmc1OOpcADxdIyupFE1zicen8M0 OIoLdtXdRSzSVFTkVKEvzTd0vjYRKfaPzSqur8WBtEkZJTSaZwwzp6aIJisXL+I8tK0HeN HmXI7orhPV1EFyCbrt2PiSE/0bHW9i9jsEBFFMBnqLj7cEmeI+lxwfkEhfNh4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700676857; a=rsa-sha256; cv=none; b=HE+aG3UDgGQU7ISJEtLXy1lINOQc+d0cVRs7bziz21zyF7uARnkF4oOluu5XX5cB9ESmd2 sAbmIlho+WO1bCi/vszm7OO2kCbx4Pq3uE4RokGbhVZ27leNhViXhzujOh2VJ5gcmKdiSh R5gFp/ZCWLY37iFOKRD0e4+wUHDQjUj6c+rM5h4LHlqJvsxgBZDx7IMzfizaz6zDm8SS6/ nx3v3Aco6vHLW9kCXYYZAR6YcpyE3Mw4aZi7s2iktD/4RotDVSSEU8pINh06ZeAIDNQN6s ms1JOiX0uAzc2OIOCoYLlbTrjQlrqAXm7BC4ynMkSd0k9KC+/EqkW640cyRgDg== Received: from [IPV6:2601:648:8384:fd00:51ff:8c8b:b16b:8ec9] (unknown [IPv6:2601:648:8384:fd00:51ff:8c8b:b16b:8ec9]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Sb8X84Y7Nz83G; Wed, 22 Nov 2023 18:14:16 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Wed, 22 Nov 2023 10:14:15 -0800 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 9eecef052155 - main - Add an Armv8 rndr random number provider Content-Language: en-US To: Andrew Turner Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Jessica Clarke References: <202311151812.3AFICLIs077567@gitrepo.freebsd.org> <2423E245-0F1B-4195-A766-166183774421@freebsd.org> From: John Baldwin In-Reply-To: <2423E245-0F1B-4195-A766-166183774421@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 11/15/23 4:29 PM, Jessica Clarke wrote: > On 15 Nov 2023, at 18:27, Jessica Clarke wrote: >> >> On 15 Nov 2023, at 18:12, Andrew Turner wrote: >>> >>> The branch main has been updated by andrew: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=9eecef052155646fbc5f8f533b952b372572d06a >>> >>> commit 9eecef052155646fbc5f8f533b952b372572d06a >>> Author: Andrew Turner >>> AuthorDate: 2023-11-15 17:42:02 +0000 >>> Commit: Andrew Turner >>> CommitDate: 2023-11-15 18:05:08 +0000 >>> >>> Add an Armv8 rndr random number provider >>> >>> Armv8.5 adds an optional random number generator. This is implemented >>> as two special registers one to read a random number, the other to >>> re-seed the entropy pool before reading a random number. Both registers >>> will set the condition flags to tell the caller they can't produce a >>> random number in a reasonable amount of time. >>> >>> Without a signal to reseed the entropy pool use the latter register >>> to provide random numbers to the kernel pool. If at a later time we >>> had a way to tell the provider if it needs to reseed or not we could >>> use the former. >>> >>> On an Amazon AWS Graviton3 VM this never failed, however this may not >>> be the case on low end CPUs so retry reading the random number 10 times >>> before returning an error. >>> >>> Reviewed by: imp, delphij (csprng) >>> Sponsored by: The FreeBSD Foundation >>> Sponsored by: Arm Ltd >>> Differential Revision: https://reviews.freebsd.org/D35411 >>> --- >>> sys/arm64/conf/std.dev | 1 + >>> sys/conf/files.arm64 | 2 + >>> sys/dev/random/armv8rng.c | 135 +++++++++++++++++++++++++++++++++++++++ >>> sys/dev/random/random_harvestq.c | 1 + >>> sys/modules/Makefile | 2 + >>> sys/modules/armv8_rng/Makefile | 11 ++++ >>> sys/sys/random.h | 1 + >>> 7 files changed, 153 insertions(+) >>> >>> diff --git a/sys/arm64/conf/std.dev b/sys/arm64/conf/std.dev >>> index 74d2407e0aec..0ebf2e775b11 100644 >>> --- a/sys/arm64/conf/std.dev >>> +++ b/sys/arm64/conf/std.dev >>> @@ -53,6 +53,7 @@ device vt_simplefb >>> >>> # Pseudo devices. >>> device crypto # core crypto support >>> +device armv8_rng # Armv8.5 rndr RNG >>> device loop # Network loopback >>> device ether # Ethernet support >>> device vlan # 802.1Q VLAN support >>> diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 >>> index 38b9e40463eb..9ccead6a98e1 100644 >>> --- a/sys/conf/files.arm64 >>> +++ b/sys/conf/files.arm64 >>> @@ -379,6 +379,8 @@ dev/psci/psci.c standard >>> dev/psci/smccc_arm64.S standard >>> dev/psci/smccc.c standard >>> >>> +dev/random/armv8rng.c optional armv8_rng !random_loadable >>> + >>> dev/safexcel/safexcel.c optional safexcel fdt >>> >>> dev/sdhci/sdhci_xenon.c optional sdhci_xenon sdhci >>> diff --git a/sys/dev/random/armv8rng.c b/sys/dev/random/armv8rng.c >>> new file mode 100644 >>> index 000000000000..3cca42a5bbf3 >>> --- /dev/null >>> +++ b/sys/dev/random/armv8rng.c >>> @@ -0,0 +1,135 @@ >>> +/*- >>> + * Copyright (c) 2022 The FreeBSD Foundation >>> + * >>> + * This software was developed by Andrew Turner under sponsorship from >>> + * the FreeBSD Foundation. >>> + * >>> + * Redistribution and use in source and binary forms, with or without >>> + * modification, are permitted provided that the following conditions >>> + * are met: >>> + * 1. Redistributions of source code must retain the above copyright >>> + * notice, this list of conditions and the following disclaimer. >>> + * 2. Redistributions in binary form must reproduce the above copyright >>> + * notice, this list of conditions and the following disclaimer in the >>> + * documentation and/or other materials provided with the distribution. >>> + * >>> + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND >>> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >>> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE >>> + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE >>> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL >>> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS >>> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) >>> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT >>> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY >>> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF >>> + * SUCH DAMAGE. >>> + */ >>> + >>> +#include >>> + >>> +#include >>> +#include >>> +#include >>> +#include >>> +#include >>> +#include >>> +#include >>> +#include >>> + >>> +#include >>> + >>> +#include >>> + >>> +static u_int random_rndr_read(void *, u_int); >>> + >>> +static bool has_rndr; >>> +static struct random_source random_armv8_rndr = { >>> + .rs_ident = "Armv8 rndr RNG", >>> + .rs_source = RANDOM_PURE_ARMV8, >>> + .rs_read = random_rndr_read, >>> +}; >>> + >>> +static inline int >>> +random_rndr_read_one(u_long *buf) >>> +{ >>> + u_long val; >>> + int loop, ret; >>> + >>> + loop = 10; >>> + do { >>> + __asm __volatile( >>> + ".arch_extension rng \n" >>> + "mrs %0, rndrrs \n" /* Read the random number */ >>> + "cset %w1, ne \n" /* 1 on success, 0 on failure */ >>> + ".arch_extension norng \n" >>> + : "=&r" (val), "=&r"(ret) :: "cc"); >> >> Early clobber doesn’t make sense with no inputs. > > This also breaks the aarch64 ubuntu-20.04 GitHub build, as its LLVM > doesn’t know about the RNG extension. Can you please stop breaking the > arm64 kernel build with older LLVM, this is far from the first time > it’s happened, and some of those never got fixed upstream, we just had > to hack around them downstream. The aarch64 GitHub build is still broken and has been broken now for a week. Can this be fixed to work with that version or should we deprecated support for LLVM 12 for aarch64? Morello LLVM is at LLVM 13 currently. -- John Baldwin From nobody Wed Nov 22 18:30:12 2023 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 4Sb8tX4Xt8z51PG3; Wed, 22 Nov 2023 18:30:12 +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 4Sb8tX4659z3cLF; Wed, 22 Nov 2023 18:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700677812; 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=Z28dwRMyJiKQ6/GOULXDNSl7WfLDpQUyVsMB77XIpcA=; b=onuhkR2EbyXvJikaUcikzPV5bqOjFms+f+bUigBYSaM2Cx46qUM8/Rhtj93s4Bqt+021lb P4Yh7NIozdHmUToKaF+7I0q5ixdon592LJigsubck71PJbueHkWiihTJoFBJV1PNbAKLFj 73tDJjT5O9/HC0QvaKigLlsf3TSAmiH0TBua8wnU4rPi521fMN+J5dVF7WqlTO0ws2rtjd FPIMKwBavuZtcEMQeDcBcr1EAPUANHQtkLInwHRLlYUZNccU7Fm33P8LKHdwbtC2ZdRyR5 fI2W9YmuL+v2kRETj/XXdlPTGn4577ZicrtjpPsgH8UYprRaLtCpEEciEEn6Ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700677812; 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=Z28dwRMyJiKQ6/GOULXDNSl7WfLDpQUyVsMB77XIpcA=; b=G+xoFnfZgNmzrF9zMTSbgsDjdn1gq0lq/U1OgcmX2RGJS+bwiF2OKWNqcjHj6qWJl96no9 Xl36GEDTtyu4LS9l+byuh277ANejni9I2NLinhocuj30KicvMcqM5aCyLUg98IFlCJmKfF 0tL+77R060oqnVf+iG8a6mtqR0XZOvNhvuhR3UCkZ7OcM3iHOTDDQy0R19Sh9szDswuCcE VMsalQF08BhQWBFr+hoPL4rF0RyPFm+ilm507PhFqnkclosWe0VW6HfLYcHpzb4yGfx7wx I1pknVc8YPy3FZaB9M+o3t7JJfFWExdTSg8bH0h2Jllc1TnLME8hskgKJwmGeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700677812; a=rsa-sha256; cv=none; b=imI2JbYLK1+WYDJvC3s/d2wwOf38xGemPQDJZ/3DbPkCPVQOD7ZhIZVfQ+TKKEYlKl/5UL fQ7ca+fOj7miwhBkJaBuS1rx14BPO20/MT8gelGy8FBDdquj3CaSHpPy+D6bCQRz8XyTIn eATQfgS+hgyvABjXaCMLWZN6f9UV7sB2x/rYvwugXhGHP9DRm064aG5enJ3kZQchBkZCVC /m9K4j9l7UP4Uut0J+nyMNGGM3Uc6x/1YSAfKiyE3QLeN/IwauCYsixyZe6C4/g3lF7S3p DcJIJ2GSJW4cmn1VbC1QoETxBz+X1dR5vLC7DO2fT2IVH8qSaLtRNlUOCzK1ag== 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 4Sb8tX34DCzVpc; Wed, 22 Nov 2023 18:30:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMIUCsc041661; Wed, 22 Nov 2023 18:30:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMIUCCB041652; Wed, 22 Nov 2023 18:30:12 GMT (envelope-from git) Date: Wed, 22 Nov 2023 18:30:12 GMT Message-Id: <202311221830.3AMIUCCB041652@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 4c9a0adad182 - main - compiler-rt: avoid segfaults when re-exec'ing with ASLR 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c9a0adad18263ec8725d9bfc5f560c6ad1da8bd Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=4c9a0adad18263ec8725d9bfc5f560c6ad1da8bd commit 4c9a0adad18263ec8725d9bfc5f560c6ad1da8bd Author: Dimitry Andric AuthorDate: 2023-11-22 18:23:06 +0000 Commit: Dimitry Andric CommitDate: 2023-11-22 18:23:06 +0000 compiler-rt: avoid segfaults when re-exec'ing with ASLR After 930a7c2ac67e ("compiler-rt: re-exec with ASLR disabled when necessary") and 96fe7c8ab0f6 ("compiler-rt: support ReExec() on FreeBSD"), binaries linked against the sanitizer libraries may segfault due to procctl(2) being intercepted. Instead, the non-intercepted internal_procctl() should be called. Similarly, the ReExec() function that re-executes the binary after turning off ASLR should not call elf_aux_info(3) and realpath(3), since these will also be intercepted. Instead, loop directly over the elf aux info vector to find the executable path, and avoid calling realpath(3) since it is actually unwanted for this use case. Fixes: 930a7c2ac67e, 96fe7c8ab0f6 MFC after: 3 days --- .../compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp | 2 +- .../lib/sanitizer_common/sanitizer_linux_libcdep.cpp | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp index 3f544623c6fb..ebbd14eca72f 100644 --- a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp +++ b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp @@ -2323,7 +2323,7 @@ void CheckASLR() { "and binaries compiled with PIE\n" "ASLR will be disabled and the program re-executed.\n"); int aslr_ctl = PROC_ASLR_FORCE_DISABLE; - CHECK_NE(procctl(P_PID, 0, PROC_ASLR_CTL, &aslr_ctl), -1); + CHECK_NE(internal_procctl(P_PID, 0, PROC_ASLR_CTL, &aslr_ctl), -1); ReExec(); } # elif SANITIZER_PPC64V2 diff --git a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp index ff62fc4af430..58310e05b359 100644 --- a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp +++ b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp @@ -56,6 +56,7 @@ // that, it was never implemented. So just define it to zero. #undef MAP_NORESERVE #define MAP_NORESERVE 0 +extern const Elf_Auxinfo *__elf_aux_vector; #endif #if SANITIZER_NETBSD @@ -947,11 +948,11 @@ void ReExec() { const char *pathname = "/proc/self/exe"; #if SANITIZER_FREEBSD - char exe_path[PATH_MAX]; - if (elf_aux_info(AT_EXECPATH, exe_path, sizeof(exe_path)) == 0) { - char link_path[PATH_MAX]; - if (realpath(exe_path, link_path)) - pathname = link_path; + for (const auto *aux = __elf_aux_vector; aux->a_type != AT_NULL; aux++) { + if (aux->a_type == AT_EXECPATH) { + pathname = static_cast(aux->a_un.a_ptr); + break; + } } #elif SANITIZER_NETBSD static const int name[] = { From nobody Wed Nov 22 19:18:01 2023 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 4Sb9xk0r9Sz51ZBB; Wed, 22 Nov 2023 19:18:02 +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 4Sb9xk0Q2Cz4GlH; Wed, 22 Nov 2023 19:18:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700680682; 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=0AFyLgAzsN3A6xZSjW1PLhpYFBb1B8ASOMYhwPEat90=; b=Qo6BfkwP6dpQb6fp8L3bOy3ow8E0FVRN09QmVR3J+1JYUDEnJwO3SR4qTF02hzrR8H35tL 3SkAkUY/pCiHNJ13RYwoASbJPfgljZ0gytY3Ved9Huw7LHa3V9BATZkiWe3tEbonB0ZSJb BaWwOdRANY+z9d14NbsnBO3L5NW+WOwEoFdo0VqfK9WZ7CzoJZzf0tx4tGHA3dnbiVMMRh fRtDtUeIaF5qOEbnVxomcOr5C0oYFRD+/Lt/OYwbwsdPzWXbjLDKLsa1qo3RCozBIIRKNq F+CW9mwREhHNK2LPfzKJ6opOShu6QPmQm+c4CDk+KRPUZBVfbf5qbORpKV4U7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700680682; 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=0AFyLgAzsN3A6xZSjW1PLhpYFBb1B8ASOMYhwPEat90=; b=U3bw7MoDMfvH8e4cYO+SQL/1hwrZ5rnPc4CK2v7gyPzuzDZDgfkrJ5y2P5H7T/9IwIdYcN PmHXmyTpmaXNm3aHSuns84pVx4AfxoiMzYZJV43bXc8A4REqJQP4p1u8TD2FudWqlXggQQ 6OyacwoLR386k1AXd/WeOAXuJbjvJ97GT+hlU6w0i3a8UDsQEDdNCG7+BMAemII/IkxN9k lwyObcZpxU3hA9EUrFCEGYFre/X3m4h4vxKw+0xvk99bGpBomD2Q4XcQnVsDe2z1d7kqeZ 8emWn5AkegQ4lgs9Jc7UTJTK9aP8O2gKUdR3sVZQAKMxA4a8ahnTWzI1CDOiYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700680682; a=rsa-sha256; cv=none; b=d2pjhxr4XWz+/rmNJJyNaPSgDEM356vvYhc7RC263G905YLZ9spVXYz87rxoVFLXO+vSwj hWe8Gdlqham2jI71xUR9NKMDQtFwiULwICrKZ4NZG4qyudi/g3hdxyIUto9hqOb4RMMRhd 2NSLRs+4sY/P/cVZGeF3ILTfhHFK+5tetURUR5HhY++7r/oogmqO3kg7bTTjcIS3O0CYjO +QJwfBda8AT9NCpzWcNsdyhbnNPJuYwCqjXYfUdNw2Yf6S/tE2gWRanGCuS2De0dMH56Y9 +0i/1mv54GXcyZKvTwndMCjoSmfnrOUeA6CW4QzbCx6wboPvvLsXs4LyAuVpcw== 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 4Sb9xj6ZqyzWxN; Wed, 22 Nov 2023 19:18:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMJI18U020166; Wed, 22 Nov 2023 19:18:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMJI1VY020163; Wed, 22 Nov 2023 19:18:01 GMT (envelope-from git) Date: Wed, 22 Nov 2023 19:18:01 GMT Message-Id: <202311221918.3AMJI1VY020163@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: e0205aa325c0 - main - kern_rctl.c: Minimal includes when RCTL not defined 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e0205aa325c0936ccdd0e635576875786c41f6c3 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e0205aa325c0936ccdd0e635576875786c41f6c3 commit e0205aa325c0936ccdd0e635576875786c41f6c3 Author: Olivier Certner AuthorDate: 2023-10-19 14:28:06 +0000 Commit: Ed Maste CommitDate: 2023-11-22 19:17:17 +0000 kern_rctl.c: Minimal includes when RCTL not defined If RCTL is not defined, only the system call stubs returning ENOSYS are compiled in. In this case, don't waste time including most headers since their code is not used. Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/kern/kern_rctl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_rctl.c b/sys/kern/kern_rctl.c index 799fcd76b77e..8e65fabeddc9 100644 --- a/sys/kern/kern_rctl.c +++ b/sys/kern/kern_rctl.c @@ -28,6 +28,8 @@ * SUCH DAMAGE. */ +#ifdef RCTL + #include #include #include @@ -56,7 +58,6 @@ #include #include -#ifdef RCTL #ifndef RACCT #error "The RCTL option requires the RACCT option" #endif @@ -2204,6 +2205,9 @@ rctl_init(void) #else /* !RCTL */ +#include +#include + int sys_rctl_get_racct(struct thread *td, struct rctl_get_racct_args *uap) { @@ -2239,4 +2243,4 @@ sys_rctl_remove_rule(struct thread *td, struct rctl_remove_rule_args *uap) return (ENOSYS); } -#endif /* !RCTL */ +#endif /* RCTL */ From nobody Wed Nov 22 19:18:02 2023 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 4Sb9xl48FQz51ZFr; Wed, 22 Nov 2023 19:18:03 +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 4Sb9xl13Q6z4GlS; Wed, 22 Nov 2023 19:18:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700680683; 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=C4sEnQi41a1/wyYm7GAfs2KCT+KviXC+lvi+hPMbFDk=; b=MFzM+RUGgQ6CpJQvLfxLoH5OzIgln4ZxMD7GL+7OAsX13QxhHs5skDAh8bQqXOQbmpTWFd 8dWlUYzibSrVrSHHrSVWEMbOPWWWffXiCmd7UjoiPQVQbo5nlHOtjXH+pCbbNTSlHA+aTn rB5wRAuTdKr6OxAbjm9J/X06ObWfpnPuwMts/xtkd9FDJ6EkHw8d4PFVVKU88TNEJRNutZ +/5qYPTvEwjQE1/q3TXdHowLCBj/YiPR6jEmKT3JBHFZ94lo9I+QYeZ2BILFTxyV8FP7Qt So6w0JeZSgsAOp7zFS1iJfk0O22d1nVxKjxcxFPKfcn1M6GHot8nDL4Du/YESQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700680683; 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=C4sEnQi41a1/wyYm7GAfs2KCT+KviXC+lvi+hPMbFDk=; b=bTKXlntFw9cEFDi5qRuDbT0FZg+gPm1RorprcHmpZG25REPCbGQBAwVGn+AjgcK0PiOHs/ bIPgqsdij7ul0bBXJvoA4Pvqz/cn1lFn8MdOrpQBS0rILz0XU9fAARAZQaOsE36PHUktwE sksnh029W2ytrJ3X02cbAcJUUcZSwfkECtn9G7SpxUjzD8mKoMKAaosHww3tff58VCI5eF epAV5vl9bWcI1fSetznBmpmolGf1VdLWoeuKAK5gBespc5jIGDNjrWgnKPM2oXO9uRke6p C0ovX1F4APV50o8GiFTzq8iVTrpW+KPLppVmezzOr9cszfjs4p1MoyaFjdld4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700680683; a=rsa-sha256; cv=none; b=xV/jWa/tfsqpQN7ikc0m6ZqTVQiJ52Tifi6Yv0iBalEOyGgEJS20Vg0muSPNf4M/Dht4st pyo6mO4Z79bflvHeaLtOsGlktRWHbNtIFpZvMPsqVnITWP+V+zIlvQCh4bI9bhZgbhNHLG 7hOl4v+lIVmrfcIlTE2NN1s0Gey8/wsatwk//YzDI2TmQDPd+me8btfMynmIG+k2hup0jK VxpuYKGble9y8SazPwLJojgukOFJvHPP/oF3/imBjKT+JARPF49WuvZgNuOawuar8zPe7K Dj6ugD4ss/i9+bKMVpGCOOhsZ+8+5G3OfzjSV/mO0Jvao2F7h6s+T/J2BZqGvw== 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 4Sb9xl08YZzXBB; Wed, 22 Nov 2023 19:18:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMJI2n7020216; Wed, 22 Nov 2023 19:18:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMJI2gX020213; Wed, 22 Nov 2023 19:18:02 GMT (envelope-from git) Date: Wed, 22 Nov 2023 19:18:02 GMT Message-Id: <202311221918.3AMJI2gX020213@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 7fa08d415283 - main - kern_racct.c: Don't compile if RACCT undefined 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7fa08d415283c9a0c1e2b57edfbb13d722c25735 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=7fa08d415283c9a0c1e2b57edfbb13d722c25735 commit 7fa08d415283c9a0c1e2b57edfbb13d722c25735 Author: Olivier Certner AuthorDate: 2023-11-21 17:33:08 +0000 Commit: Ed Maste CommitDate: 2023-11-22 19:17:17 +0000 kern_racct.c: Don't compile if RACCT undefined Just skip compiling this file if RACCT isn't defined. This allows to skip including headers that no code uses at all, and also to remove the whole file's #ifdef/#endif bracketing. Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation --- sys/conf/files | 2 +- sys/kern/kern_racct.c | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index c5cd70415931..7ffcbe6e0dda 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3795,7 +3795,7 @@ kern/kern_priv.c standard kern/kern_proc.c standard kern/kern_procctl.c standard kern/kern_prot.c standard -kern/kern_racct.c standard +kern/kern_racct.c optional racct kern/kern_rangelock.c standard kern/kern_rctl.c standard kern/kern_resource.c standard diff --git a/sys/kern/kern_racct.c b/sys/kern/kern_racct.c index 37b77243fe0e..43c3da0c2320 100644 --- a/sys/kern/kern_racct.c +++ b/sys/kern/kern_racct.c @@ -59,8 +59,6 @@ #include #endif -#ifdef RACCT - FEATURE(racct, "Resource Accounting"); /* @@ -1364,5 +1362,3 @@ racct_init(void) prison0.pr_prison_racct = prison_racct_find("0"); } SYSINIT(racct, SI_SUB_RACCT, SI_ORDER_FIRST, racct_init, NULL); - -#endif /* !RACCT */ From nobody Wed Nov 22 20:17:03 2023 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 4SbCFq2JJpz51n0n; Wed, 22 Nov 2023 20:17:03 +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 4SbCFq1ZD4z4Q5h; Wed, 22 Nov 2023 20:17:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700684223; 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=dbmm3YhK+kKmk0ypzZCgQxVdqY1JalyrPYxCE+NBDzs=; b=GAb4J34UN1yADK5Fuo/aNWWJGK5QuiaO9LCdEZFmj1GzGyLUDZTJReyLvt6c3MmK2PYAMU rWZ48ERTgVo9cfpgMt7eZX4MdfpFduojm5LSqSNsqTaZ03WsJl5N7G6PT4vc6/zHT9itPS nXfk/GJQpwoGL/R+ns5NBGDbsH4sAqxyQG6lqM1Qkavhjw5WOBHA1k3vplZBToPyLa8bXR 1DVilpnOkL5rqHbqAFhe/N84LB0pU6UdCFDIIE5H9fcjyutu2khriyIThqloL1iBw3I6ed DeoAh+xea1uAS0Rg0gMPhBnvi56BJd5Z7AR7knhp2BXcq4j91QFoyVAwAfIOTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700684223; 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=dbmm3YhK+kKmk0ypzZCgQxVdqY1JalyrPYxCE+NBDzs=; b=DWRTGwW6sjq1U2uY8pRTnunnK09pTXiamjyY0EGyT/uzQxu7eqhRTjT9SZnbFGmDdvX/30 XTgeJV1igjoaAjI5j/VJa3Tak4UNY3HIURoE23rZiqybx+RsnRLqT/X+jow6yE1l8+bdRs OhRZdi8jDW18ZvwI7oIfSVf1zIAgi6X8quwOpKah+vGxG9R8i9ZPlvoS8YupX56/mY/d9c 74Eb5kLy1xF0vwefBOdX6WN2FeD5r9EfqzskxzNlJfUpMJHcxov+zVOR+nh5vhuiRAEngp O/1P5Kq9x4yzLZnwXtLTvrLaJBYXYGDH6U2bR2xlCzHZOhj1AgXObacrTfq5Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700684223; a=rsa-sha256; cv=none; b=nZUBsHI/AG7peLvmejH9UMan0HW7W6AG5WDlc0zmYNmBQFgNWS07hIL1t2VdLmrsQ6uHcp het/Ytyq43HTaOp6+SEIMn8eBdP9a9zstbAr0+PEZyU+6unl3VTLJdsGsGIw0Su0GkTyqd FBdgE7iZKr7LmKv3XyCGsnOFxD3a86g/eaXXv2sBmIy4o3xYn+MYqOL4PLL+3SE/+4Llgp hPIJLXOnAOs+VS3MamXipAHBPSVxLYARAiUULM1VBk7jeBX/gH6Y2WEd0HMSTd3ZY5LBw5 BYXIQsFX5XjVK/A/AlQ6W4XzREr3fAfXtG9pVoCzlf7Y6/MSWfv62exc/qgYbw== 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 4SbCFq0cCWzY8j; Wed, 22 Nov 2023 20:17:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMKH3kV019986; Wed, 22 Nov 2023 20:17:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMKH3qS019983; Wed, 22 Nov 2023 20:17:03 GMT (envelope-from git) Date: Wed, 22 Nov 2023 20:17:03 GMT Message-Id: <202311222017.3AMKH3qS019983@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: 6332e0f1a4b3 - main - CAM: Remove return value from xpt_path_sbuf() 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6332e0f1a4b34707654d6ae2cd3c1e8799970d0b Auto-Submitted: auto-generated The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=6332e0f1a4b34707654d6ae2cd3c1e8799970d0b commit 6332e0f1a4b34707654d6ae2cd3c1e8799970d0b Author: Alexander Motin AuthorDate: 2023-11-22 20:10:57 +0000 Commit: Alexander Motin CommitDate: 2023-11-22 20:10:57 +0000 CAM: Remove return value from xpt_path_sbuf() It is wrong to call sbuf_len() on third-party sbuf. If that sbuf has a drain function, it ends up in assertion. But even would it work, it would return not newly written length, but the full one. Searching through the sources I don't see this value used. --- sys/cam/cam_xpt.c | 11 ++++------- sys/cam/cam_xpt.h | 4 ++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index 83fef42453fa..22d6c89f5b46 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -3743,19 +3743,18 @@ xpt_print(struct cam_path *path, const char *fmt, ...) sbuf_delete(&sb); } -int +char * xpt_path_string(struct cam_path *path, char *str, size_t str_len) { struct sbuf sb; - int len; sbuf_new(&sb, str, str_len, 0); - len = xpt_path_sbuf(path, &sb); + xpt_path_sbuf(path, &sb); sbuf_finish(&sb); - return (len); + return (str); } -int +void xpt_path_sbuf(struct cam_path *path, struct sbuf *sb) { @@ -3786,8 +3785,6 @@ xpt_path_sbuf(struct cam_path *path, struct sbuf *sb) else sbuf_printf(sb, "X): "); } - - return(sbuf_len(sb)); } path_id_t diff --git a/sys/cam/cam_xpt.h b/sys/cam/cam_xpt.h index 3c8d385fe33b..06ef52580120 100644 --- a/sys/cam/cam_xpt.h +++ b/sys/cam/cam_xpt.h @@ -102,9 +102,9 @@ int xpt_path_comp(struct cam_path *path1, struct cam_path *path2); int xpt_path_comp_dev(struct cam_path *path, struct cam_ed *dev); -int xpt_path_string(struct cam_path *path, char *str, +char * xpt_path_string(struct cam_path *path, char *str, size_t str_len); -int xpt_path_sbuf(struct cam_path *path, struct sbuf *sb); +void xpt_path_sbuf(struct cam_path *path, struct sbuf *sb); path_id_t xpt_path_path_id(struct cam_path *path); target_id_t xpt_path_target_id(struct cam_path *path); lun_id_t xpt_path_lun_id(struct cam_path *path); From nobody Wed Nov 22 20:20:00 2023 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 4SbCKD4Ct8z51ngV; Wed, 22 Nov 2023 20:20:00 +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 4SbCKD4005z4QZc; Wed, 22 Nov 2023 20:20:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700684400; 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=nwtDq2qSjiMlMOIjc7O/5pVYuU1NDvyUbBw5NUv/tmM=; b=NJaxkqdHEdelbiUeM+FG3F1faS/ivcq1RV/H2kEiAvnfpYs0Y3/NSFy7qNqf8ah43Cx5un iZwFbMmxw48H0inYRHhltzZqsw+D8lgVMIgABRTGOeoD4PnYBsEuHlju+Iupex4m76LAtf v7ZLkc/Hutd7ZwXiVPmyXnDH8gVx1kpyfofQXAxNPg8B+d/fYJ1gMJX4L4CZL71xY/Tu4p kHTYIvwaVr1PsOa5fXIka26K9UZIx8LmVQ17pe3ckwk+pBQj/vhv1cD5pcuM4h79WIhK9o UEDRtf63R09M7mwb9mLUd3++UR3N0WmK8hqkiD6KxBqURIKJnbsFWgOrStuUBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700684400; 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=nwtDq2qSjiMlMOIjc7O/5pVYuU1NDvyUbBw5NUv/tmM=; b=kmjYrfQRxRLDj4et/FJlKhS+yNbzRSXtOCulrDBxPDR6H2OeZfWVAm29RjwpCJqq2G8dlU tf11CFL5Tc2IPkHMEr67S5A+GGt07guUhX8jDynXU9E9KTAczD+M6db24IxxCa615cuLN6 3mXeWGduLH3fiQqFKIpfttI29EbZV0MGILU6a41qJ1uq9fLnjD2Z6GZorD3b1ODInudFwO dQ7XvAC3zj0jMDGDI8Ledy7OkqniVTCtu4M9grmClabm9M15TOl4fRI/AH4VdZcTealuW1 gsqfo6zcXQgNkcvZbNv61lBEfeRahlVGwb4BiNH7gEVyrMLOgHcsBexbE9hZvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700684400; a=rsa-sha256; cv=none; b=d38VIUQ+EjHN5nm1ji1ZKbaZ93EGulwSrKuuUQZOhJKQ+/vjgEQaEqp0s3OXa8NXSje/JG UQIL0A+TQ0hyX/AV4UIFp4H38FrOZE4f4BFuPRkAcqb9sAeH1VVw0SYwQOCTBZ84oZSg2n sbgDweNzQS4mz8/WO7R665M5ZC5mvLk0YwxOArYh+xfo1WkLtKR5otWlClwl7cept2A9FE S8g0aONV4CMJG/Yl1+T8on7JDzhpClUxhoNR0F+gVzpp8uCZI8OYXxtTyaK42AMeWCVu7C 8Kgwj6IqmBeWRUToiwNOkKevbHveChbxRbzoggJn/5HcmYgHUjgLayHADZlDpA== 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 4SbCKD333GzYgt; Wed, 22 Nov 2023 20:20:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMKK0Rb021139; Wed, 22 Nov 2023 20:20:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMKK0lF021090; Wed, 22 Nov 2023 20:20:00 GMT (envelope-from git) Date: Wed, 22 Nov 2023 20:20:00 GMT Message-Id: <202311222020.3AMKK0lF021090@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: be74aede49fb - main - bhyve: Split backends into separate files 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: be74aede49fb480792448bf563c5079998de7cbd Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=be74aede49fb480792448bf563c5079998de7cbd commit be74aede49fb480792448bf563c5079998de7cbd Author: Mark Johnston AuthorDate: 2023-11-22 19:10:27 +0000 Commit: Mark Johnston CommitDate: 2023-11-22 20:18:46 +0000 bhyve: Split backends into separate files Currently the net_backend structure definition is private to net_backends.c, so all of the backend definitions are there. While adding a new backend to use libslirp, it was noted that this file is somewhat cluttered. Move the netmap and netgraph backends to their own files and clean up includes a bit. No functional change intended. Reviewed by: corvink, jhb MFC after: 3 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D42689 --- usr.sbin/bhyve/Makefile | 5 +- usr.sbin/bhyve/net_backend_netgraph.c | 191 ++++++++++ usr.sbin/bhyve/net_backend_netmap.c | 384 ++++++++++++++++++++ usr.sbin/bhyve/net_backends.c | 661 +--------------------------------- usr.sbin/bhyve/net_backends.h | 7 +- usr.sbin/bhyve/net_backends_priv.h | 152 ++++++++ 6 files changed, 756 insertions(+), 644 deletions(-) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index de8e87d2ad49..6ce7f6c7ba62 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -33,6 +33,7 @@ SRCS= \ iov.c \ mem.c \ mevent.c \ + net_backend_netmap.c \ net_backends.c \ net_utils.c \ pci_emul.c \ @@ -92,8 +93,8 @@ CFLAGS+=-DINET CFLAGS+=-DINET6 .endif .if ${MK_NETGRAPH_SUPPORT} != "no" -CFLAGS+=-DNETGRAPH -LIBADD+= netgraph +SRCS+= net_backend_netgraph.c +LIBADD+= netgraph .endif .if ${MK_OPENSSL} == "no" CFLAGS+=-DNO_OPENSSL diff --git a/usr.sbin/bhyve/net_backend_netgraph.c b/usr.sbin/bhyve/net_backend_netgraph.c new file mode 100644 index 000000000000..7d1659d611e3 --- /dev/null +++ b/usr.sbin/bhyve/net_backend_netgraph.c @@ -0,0 +1,191 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2019 Vincenzo Maffione + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef WITHOUT_CAPSICUM +#include +#endif +#include +#include + +#ifndef WITHOUT_CAPSICUM +#include +#endif +#include +#include +#include +#include +#include + +#include "config.h" +#include "debug.h" +#include "net_backends.h" +#include "net_backends_priv.h" + +#define NG_SBUF_MAX_SIZE (4 * 1024 * 1024) + +static int +ng_init(struct net_backend *be, const char *devname __unused, + nvlist_t *nvl, net_be_rxeof_t cb, void *param) +{ + struct tap_priv *p = NET_BE_PRIV(be); + struct ngm_connect ngc; + const char *value, *nodename; + int sbsz; + int ctrl_sock; + int flags; + unsigned long maxsbsz; + size_t msbsz; +#ifndef WITHOUT_CAPSICUM + cap_rights_t rights; +#endif + + if (cb == NULL) { + EPRINTLN("Netgraph backend requires non-NULL callback"); + return (-1); + } + + be->fd = -1; + + memset(&ngc, 0, sizeof(ngc)); + + value = get_config_value_node(nvl, "path"); + if (value == NULL) { + EPRINTLN("path must be provided"); + return (-1); + } + strncpy(ngc.path, value, NG_PATHSIZ - 1); + + value = get_config_value_node(nvl, "hook"); + if (value == NULL) + value = "vmlink"; + strncpy(ngc.ourhook, value, NG_HOOKSIZ - 1); + + value = get_config_value_node(nvl, "peerhook"); + if (value == NULL) { + EPRINTLN("peer hook must be provided"); + return (-1); + } + strncpy(ngc.peerhook, value, NG_HOOKSIZ - 1); + + nodename = get_config_value_node(nvl, "socket"); + if (NgMkSockNode(nodename, + &ctrl_sock, &be->fd) < 0) { + EPRINTLN("can't get Netgraph sockets"); + return (-1); + } + + if (NgSendMsg(ctrl_sock, ".", + NGM_GENERIC_COOKIE, + NGM_CONNECT, &ngc, sizeof(ngc)) < 0) { + EPRINTLN("can't connect to node"); + close(ctrl_sock); + goto error; + } + + close(ctrl_sock); + + flags = fcntl(be->fd, F_GETFL); + + if (flags < 0) { + EPRINTLN("can't get socket flags"); + goto error; + } + + if (fcntl(be->fd, F_SETFL, flags | O_NONBLOCK) < 0) { + EPRINTLN("can't set O_NONBLOCK flag"); + goto error; + } + + /* + * The default ng_socket(4) buffer's size is too low. + * Calculate the minimum value between NG_SBUF_MAX_SIZE + * and kern.ipc.maxsockbuf. + */ + msbsz = sizeof(maxsbsz); + if (sysctlbyname("kern.ipc.maxsockbuf", &maxsbsz, &msbsz, + NULL, 0) < 0) { + EPRINTLN("can't get 'kern.ipc.maxsockbuf' value"); + goto error; + } + + /* + * We can't set the socket buffer size to kern.ipc.maxsockbuf value, + * as it takes into account the mbuf(9) overhead. + */ + maxsbsz = maxsbsz * MCLBYTES / (MSIZE + MCLBYTES); + + sbsz = MIN(NG_SBUF_MAX_SIZE, maxsbsz); + + if (setsockopt(be->fd, SOL_SOCKET, SO_SNDBUF, &sbsz, + sizeof(sbsz)) < 0) { + EPRINTLN("can't set TX buffer size"); + goto error; + } + + if (setsockopt(be->fd, SOL_SOCKET, SO_RCVBUF, &sbsz, + sizeof(sbsz)) < 0) { + EPRINTLN("can't set RX buffer size"); + goto error; + } + +#ifndef WITHOUT_CAPSICUM + cap_rights_init(&rights, CAP_EVENT, CAP_READ, CAP_WRITE); + if (caph_rights_limit(be->fd, &rights) == -1) + errx(EX_OSERR, "Unable to apply rights for sandbox"); +#endif + + memset(p->bbuf, 0, sizeof(p->bbuf)); + p->bbuflen = 0; + + p->mevp = mevent_add_disabled(be->fd, EVF_READ, cb, param); + if (p->mevp == NULL) { + EPRINTLN("Could not register event"); + goto error; + } + + return (0); + +error: + tap_cleanup(be); + return (-1); +} + +static struct net_backend ng_backend = { + .prefix = "netgraph", + .priv_size = sizeof(struct tap_priv), + .init = ng_init, + .cleanup = tap_cleanup, + .send = tap_send, + .peek_recvlen = tap_peek_recvlen, + .recv = tap_recv, + .recv_enable = tap_recv_enable, + .recv_disable = tap_recv_disable, + .get_cap = tap_get_cap, + .set_cap = tap_set_cap, +}; + +DATA_SET(net_backend_set, ng_backend); diff --git a/usr.sbin/bhyve/net_backend_netmap.c b/usr.sbin/bhyve/net_backend_netmap.c new file mode 100644 index 000000000000..5ba11b96797c --- /dev/null +++ b/usr.sbin/bhyve/net_backend_netmap.c @@ -0,0 +1,384 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2019 Vincenzo Maffione + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT + * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#define NETMAP_WITH_LIBS +#include + +#include + +#include "debug.h" +#include "iov.h" +#include "mevent.h" +#include "net_backends.h" +#include "net_backends_priv.h" + +/* The virtio-net features supported by netmap. */ +#define NETMAP_FEATURES (VIRTIO_NET_F_CSUM | VIRTIO_NET_F_HOST_TSO4 | \ + VIRTIO_NET_F_HOST_TSO6 | VIRTIO_NET_F_HOST_UFO | \ + VIRTIO_NET_F_GUEST_CSUM | VIRTIO_NET_F_GUEST_TSO4 | \ + VIRTIO_NET_F_GUEST_TSO6 | VIRTIO_NET_F_GUEST_UFO) + +struct netmap_priv { + char ifname[IFNAMSIZ]; + struct nm_desc *nmd; + uint16_t memid; + struct netmap_ring *rx; + struct netmap_ring *tx; + struct mevent *mevp; + net_be_rxeof_t cb; + void *cb_param; +}; + +static void +nmreq_init(struct nmreq *req, char *ifname) +{ + + memset(req, 0, sizeof(*req)); + strlcpy(req->nr_name, ifname, sizeof(req->nr_name)); + req->nr_version = NETMAP_API; +} + +static int +netmap_set_vnet_hdr_len(struct net_backend *be, int vnet_hdr_len) +{ + int err; + struct nmreq req; + struct netmap_priv *priv = NET_BE_PRIV(be); + + nmreq_init(&req, priv->ifname); + req.nr_cmd = NETMAP_BDG_VNET_HDR; + req.nr_arg1 = vnet_hdr_len; + err = ioctl(be->fd, NIOCREGIF, &req); + if (err) { + EPRINTLN("Unable to set vnet header length %d", vnet_hdr_len); + return (err); + } + + be->be_vnet_hdr_len = vnet_hdr_len; + + return (0); +} + +static int +netmap_has_vnet_hdr_len(struct net_backend *be, unsigned vnet_hdr_len) +{ + unsigned prev_hdr_len = be->be_vnet_hdr_len; + int ret; + + if (vnet_hdr_len == prev_hdr_len) { + return (1); + } + + ret = netmap_set_vnet_hdr_len(be, vnet_hdr_len); + if (ret) { + return (0); + } + + netmap_set_vnet_hdr_len(be, prev_hdr_len); + + return (1); +} + +static uint64_t +netmap_get_cap(struct net_backend *be) +{ + + return (netmap_has_vnet_hdr_len(be, VNET_HDR_LEN) ? + NETMAP_FEATURES : 0); +} + +static int +netmap_set_cap(struct net_backend *be, uint64_t features __unused, + unsigned vnet_hdr_len) +{ + + return (netmap_set_vnet_hdr_len(be, vnet_hdr_len)); +} + +static int +netmap_init(struct net_backend *be, const char *devname, + nvlist_t *nvl __unused, net_be_rxeof_t cb, void *param) +{ + struct netmap_priv *priv = NET_BE_PRIV(be); + + strlcpy(priv->ifname, devname, sizeof(priv->ifname)); + priv->ifname[sizeof(priv->ifname) - 1] = '\0'; + + priv->nmd = nm_open(priv->ifname, NULL, NETMAP_NO_TX_POLL, NULL); + if (priv->nmd == NULL) { + EPRINTLN("Unable to nm_open(): interface '%s', errno (%s)", + devname, strerror(errno)); + return (-1); + } + + priv->memid = priv->nmd->req.nr_arg2; + priv->tx = NETMAP_TXRING(priv->nmd->nifp, 0); + priv->rx = NETMAP_RXRING(priv->nmd->nifp, 0); + priv->cb = cb; + priv->cb_param = param; + be->fd = priv->nmd->fd; + + priv->mevp = mevent_add_disabled(be->fd, EVF_READ, cb, param); + if (priv->mevp == NULL) { + EPRINTLN("Could not register event"); + return (-1); + } + + return (0); +} + +static void +netmap_cleanup(struct net_backend *be) +{ + struct netmap_priv *priv = NET_BE_PRIV(be); + + if (priv->mevp) { + mevent_delete(priv->mevp); + } + if (priv->nmd) { + nm_close(priv->nmd); + } + be->fd = -1; +} + +static ssize_t +netmap_send(struct net_backend *be, const struct iovec *iov, + int iovcnt) +{ + struct netmap_priv *priv = NET_BE_PRIV(be); + struct netmap_ring *ring; + ssize_t totlen = 0; + int nm_buf_size; + int nm_buf_len; + uint32_t head; + uint8_t *nm_buf; + int j; + + ring = priv->tx; + head = ring->head; + if (head == ring->tail) { + EPRINTLN("No space, drop %zu bytes", count_iov(iov, iovcnt)); + goto txsync; + } + nm_buf = NETMAP_BUF(ring, ring->slot[head].buf_idx); + nm_buf_size = ring->nr_buf_size; + nm_buf_len = 0; + + for (j = 0; j < iovcnt; j++) { + uint8_t *iov_frag_buf = iov[j].iov_base; + int iov_frag_size = iov[j].iov_len; + + totlen += iov_frag_size; + + /* + * Split each iovec fragment over more netmap slots, if + * necessary. + */ + for (;;) { + int copylen; + + copylen = iov_frag_size < nm_buf_size ? iov_frag_size : nm_buf_size; + memcpy(nm_buf, iov_frag_buf, copylen); + + iov_frag_buf += copylen; + iov_frag_size -= copylen; + nm_buf += copylen; + nm_buf_size -= copylen; + nm_buf_len += copylen; + + if (iov_frag_size == 0) { + break; + } + + ring->slot[head].len = nm_buf_len; + ring->slot[head].flags = NS_MOREFRAG; + head = nm_ring_next(ring, head); + if (head == ring->tail) { + /* + * We ran out of netmap slots while + * splitting the iovec fragments. + */ + EPRINTLN("No space, drop %zu bytes", + count_iov(iov, iovcnt)); + goto txsync; + } + nm_buf = NETMAP_BUF(ring, ring->slot[head].buf_idx); + nm_buf_size = ring->nr_buf_size; + nm_buf_len = 0; + } + } + + /* Complete the last slot, which must not have NS_MOREFRAG set. */ + ring->slot[head].len = nm_buf_len; + ring->slot[head].flags = 0; + head = nm_ring_next(ring, head); + + /* Now update ring->head and ring->cur. */ + ring->head = ring->cur = head; +txsync: + ioctl(be->fd, NIOCTXSYNC, NULL); + + return (totlen); +} + +static ssize_t +netmap_peek_recvlen(struct net_backend *be) +{ + struct netmap_priv *priv = NET_BE_PRIV(be); + struct netmap_ring *ring = priv->rx; + uint32_t head = ring->head; + ssize_t totlen = 0; + + while (head != ring->tail) { + struct netmap_slot *slot = ring->slot + head; + + totlen += slot->len; + if ((slot->flags & NS_MOREFRAG) == 0) + break; + head = nm_ring_next(ring, head); + } + + return (totlen); +} + +static ssize_t +netmap_recv(struct net_backend *be, const struct iovec *iov, int iovcnt) +{ + struct netmap_priv *priv = NET_BE_PRIV(be); + struct netmap_slot *slot = NULL; + struct netmap_ring *ring; + uint8_t *iov_frag_buf; + int iov_frag_size; + ssize_t totlen = 0; + uint32_t head; + + assert(iovcnt); + + ring = priv->rx; + head = ring->head; + iov_frag_buf = iov->iov_base; + iov_frag_size = iov->iov_len; + + do { + uint8_t *nm_buf; + int nm_buf_len; + + if (head == ring->tail) { + return (0); + } + + slot = ring->slot + head; + nm_buf = NETMAP_BUF(ring, slot->buf_idx); + nm_buf_len = slot->len; + + for (;;) { + int copylen = nm_buf_len < iov_frag_size ? + nm_buf_len : iov_frag_size; + + memcpy(iov_frag_buf, nm_buf, copylen); + nm_buf += copylen; + nm_buf_len -= copylen; + iov_frag_buf += copylen; + iov_frag_size -= copylen; + totlen += copylen; + + if (nm_buf_len == 0) { + break; + } + + iov++; + iovcnt--; + if (iovcnt == 0) { + /* No space to receive. */ + EPRINTLN("Short iov, drop %zd bytes", + totlen); + return (-ENOSPC); + } + iov_frag_buf = iov->iov_base; + iov_frag_size = iov->iov_len; + } + + head = nm_ring_next(ring, head); + + } while (slot->flags & NS_MOREFRAG); + + /* Release slots to netmap. */ + ring->head = ring->cur = head; + + return (totlen); +} + +static void +netmap_recv_enable(struct net_backend *be) +{ + struct netmap_priv *priv = NET_BE_PRIV(be); + + mevent_enable(priv->mevp); +} + +static void +netmap_recv_disable(struct net_backend *be) +{ + struct netmap_priv *priv = NET_BE_PRIV(be); + + mevent_disable(priv->mevp); +} + +static struct net_backend netmap_backend = { + .prefix = "netmap", + .priv_size = sizeof(struct netmap_priv), + .init = netmap_init, + .cleanup = netmap_cleanup, + .send = netmap_send, + .peek_recvlen = netmap_peek_recvlen, + .recv = netmap_recv, + .recv_enable = netmap_recv_enable, + .recv_disable = netmap_recv_disable, + .get_cap = netmap_get_cap, + .set_cap = netmap_set_cap, +}; + +/* A clone of the netmap backend, with a different prefix. */ +static struct net_backend vale_backend = { + .prefix = "vale", + .priv_size = sizeof(struct netmap_priv), + .init = netmap_init, + .cleanup = netmap_cleanup, + .send = netmap_send, + .peek_recvlen = netmap_peek_recvlen, + .recv = netmap_recv, + .recv_enable = netmap_recv_enable, + .recv_disable = netmap_recv_disable, + .get_cap = netmap_get_cap, + .set_cap = netmap_set_cap, +}; + +DATA_SET(net_backend_set, netmap_backend); +DATA_SET(net_backend_set, vale_backend); diff --git a/usr.sbin/bhyve/net_backends.c b/usr.sbin/bhyve/net_backends.c index de6afab53854..2d11c45f217a 100644 --- a/usr.sbin/bhyve/net_backends.c +++ b/usr.sbin/bhyve/net_backends.c @@ -32,8 +32,7 @@ * features) is exported by net_backends.h. */ -#include -#include /* u_short etc */ +#include #ifndef WITHOUT_CAPSICUM #include #endif @@ -43,153 +42,35 @@ #include #include -#include -#include -#define NETMAP_WITH_LIBS -#include +#include #ifndef WITHOUT_CAPSICUM #include #endif #include #include #include +#include +#include +#include #include #include #include #include -#include #include -#include -#include -#include -#include -#include - -#ifdef NETGRAPH -#include -#include -#include -#endif +#include #include "config.h" #include "debug.h" #include "iov.h" #include "mevent.h" #include "net_backends.h" +#include "net_backends_priv.h" #include "pci_emul.h" -#include - -/* - * Each network backend registers a set of function pointers that are - * used to implement the net backends API. - * This might need to be exposed if we implement backends in separate files. - */ -struct net_backend { - const char *prefix; /* prefix matching this backend */ - - /* - * Routines used to initialize and cleanup the resources needed - * by a backend. The cleanup function is used internally, - * and should not be called by the frontend. - */ - int (*init)(struct net_backend *be, const char *devname, - nvlist_t *nvl, net_be_rxeof_t cb, void *param); - void (*cleanup)(struct net_backend *be); - - /* - * Called to serve a guest transmit request. The scatter-gather - * vector provided by the caller has 'iovcnt' elements and contains - * the packet to send. - */ - ssize_t (*send)(struct net_backend *be, const struct iovec *iov, - int iovcnt); - - /* - * Get the length of the next packet that can be received from - * the backend. If no packets are currently available, this - * function returns 0. - */ - ssize_t (*peek_recvlen)(struct net_backend *be); - - /* - * Called to receive a packet from the backend. When the function - * returns a positive value 'len', the scatter-gather vector - * provided by the caller contains a packet with such length. - * The function returns 0 if the backend doesn't have a new packet to - * receive. - */ - ssize_t (*recv)(struct net_backend *be, const struct iovec *iov, - int iovcnt); - - /* - * Ask the backend to enable or disable receive operation in the - * backend. On return from a disable operation, it is guaranteed - * that the receive callback won't be called until receive is - * enabled again. Note however that it is up to the caller to make - * sure that netbe_recv() is not currently being executed by another - * thread. - */ - void (*recv_enable)(struct net_backend *be); - void (*recv_disable)(struct net_backend *be); - - /* - * Ask the backend for the virtio-net features it is able to - * support. Possible features are TSO, UFO and checksum offloading - * in both rx and tx direction and for both IPv4 and IPv6. - */ - uint64_t (*get_cap)(struct net_backend *be); - - /* - * Tell the backend to enable/disable the specified virtio-net - * features (capabilities). - */ - int (*set_cap)(struct net_backend *be, uint64_t features, - unsigned int vnet_hdr_len); - - struct pci_vtnet_softc *sc; - int fd; - - /* - * Length of the virtio-net header used by the backend and the - * frontend, respectively. A zero value means that the header - * is not used. - */ - unsigned int be_vnet_hdr_len; - unsigned int fe_vnet_hdr_len; - - /* Size of backend-specific private data. */ - size_t priv_size; - - /* Backend-specific private data follows. */ -}; - -#define NET_BE_PRIV(be) ((void *)((be) + 1)) #define NET_BE_SIZE(be) (sizeof(*be) + (be)->priv_size) -SET_DECLARE(net_backend_set, struct net_backend); - -#define VNET_HDR_LEN sizeof(struct virtio_net_rxhdr) - -#define WPRINTF(params) PRINTLN params - -/* - * The tap backend - */ - -struct tap_priv { - struct mevent *mevp; - /* - * A bounce buffer that allows us to implement the peek_recvlen - * callback. In the future we may get the same information from - * the kevent data. - */ - char bbuf[1 << 16]; - ssize_t bbuflen; -}; - -static void +void tap_cleanup(struct net_backend *be) { struct tap_priv *priv = NET_BE_PRIV(be); @@ -216,7 +97,7 @@ tap_init(struct net_backend *be, const char *devname, #endif if (cb == NULL) { - WPRINTF(("TAP backend requires non-NULL callback")); + EPRINTLN("TAP backend requires non-NULL callback"); return (-1); } @@ -225,7 +106,7 @@ tap_init(struct net_backend *be, const char *devname, be->fd = open(tbuf, O_RDWR); if (be->fd == -1) { - WPRINTF(("open of tap device %s failed", tbuf)); + EPRINTLN("open of tap device %s failed", tbuf); goto error; } @@ -234,12 +115,12 @@ tap_init(struct net_backend *be, const char *devname, * notifications with the event loop */ if (ioctl(be->fd, FIONBIO, &opt) < 0) { - WPRINTF(("tap device O_NONBLOCK failed")); + EPRINTLN("tap device O_NONBLOCK failed"); goto error; } if (ioctl(be->fd, VMIO_SIOCSIFFLAGS, up)) { - WPRINTF(("tap device link up failed")); + EPRINTLN("tap device link up failed"); goto error; } @@ -254,7 +135,7 @@ tap_init(struct net_backend *be, const char *devname, priv->mevp = mevent_add_disabled(be->fd, EVF_READ, cb, param); if (priv->mevp == NULL) { - WPRINTF(("Could not register event")); + EPRINTLN("Could not register event"); goto error; } @@ -268,13 +149,13 @@ error: /* * Called to send a buffer chain out to the tap device */ -static ssize_t +ssize_t tap_send(struct net_backend *be, const struct iovec *iov, int iovcnt) { return (writev(be->fd, iov, iovcnt)); } -static ssize_t +ssize_t tap_peek_recvlen(struct net_backend *be) { struct tap_priv *priv = NET_BE_PRIV(be); @@ -304,7 +185,7 @@ tap_peek_recvlen(struct net_backend *be) return (ret); } -static ssize_t +ssize_t tap_recv(struct net_backend *be, const struct iovec *iov, int iovcnt) { struct tap_priv *priv = NET_BE_PRIV(be); @@ -332,7 +213,7 @@ tap_recv(struct net_backend *be, const struct iovec *iov, int iovcnt) return (ret); } -static void +void tap_recv_enable(struct net_backend *be) { struct tap_priv *priv = NET_BE_PRIV(be); @@ -340,7 +221,7 @@ tap_recv_enable(struct net_backend *be) mevent_enable(priv->mevp); } -static void +void tap_recv_disable(struct net_backend *be) { struct tap_priv *priv = NET_BE_PRIV(be); @@ -348,14 +229,14 @@ tap_recv_disable(struct net_backend *be) mevent_disable(priv->mevp); } -static uint64_t +uint64_t tap_get_cap(struct net_backend *be __unused) { return (0); /* no capabilities for now */ } -static int +int tap_set_cap(struct net_backend *be __unused, uint64_t features, unsigned vnet_hdr_len) { @@ -395,508 +276,6 @@ static struct net_backend vmnet_backend = { DATA_SET(net_backend_set, tap_backend); DATA_SET(net_backend_set, vmnet_backend); -#ifdef NETGRAPH - -/* - * Netgraph backend - */ - -#define NG_SBUF_MAX_SIZE (4 * 1024 * 1024) - -static int -ng_init(struct net_backend *be, const char *devname __unused, - nvlist_t *nvl, net_be_rxeof_t cb, void *param) -{ - struct tap_priv *p = NET_BE_PRIV(be); - struct ngm_connect ngc; - const char *value, *nodename; - int sbsz; - int ctrl_sock; - int flags; - unsigned long maxsbsz; - size_t msbsz; -#ifndef WITHOUT_CAPSICUM - cap_rights_t rights; -#endif - - if (cb == NULL) { - WPRINTF(("Netgraph backend requires non-NULL callback")); - return (-1); - } - - be->fd = -1; - - memset(&ngc, 0, sizeof(ngc)); - - value = get_config_value_node(nvl, "path"); - if (value == NULL) { - WPRINTF(("path must be provided")); - return (-1); - } - strncpy(ngc.path, value, NG_PATHSIZ - 1); - - value = get_config_value_node(nvl, "hook"); - if (value == NULL) - value = "vmlink"; - strncpy(ngc.ourhook, value, NG_HOOKSIZ - 1); - - value = get_config_value_node(nvl, "peerhook"); - if (value == NULL) { - WPRINTF(("peer hook must be provided")); - return (-1); - } - strncpy(ngc.peerhook, value, NG_HOOKSIZ - 1); - - nodename = get_config_value_node(nvl, "socket"); - if (NgMkSockNode(nodename, - &ctrl_sock, &be->fd) < 0) { - WPRINTF(("can't get Netgraph sockets")); - return (-1); - } - - if (NgSendMsg(ctrl_sock, ".", - NGM_GENERIC_COOKIE, - NGM_CONNECT, &ngc, sizeof(ngc)) < 0) { - WPRINTF(("can't connect to node")); - close(ctrl_sock); *** 623 LINES SKIPPED *** From nobody Wed Nov 22 20:20:01 2023 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 4SbCKF5BL7z51nmM; Wed, 22 Nov 2023 20:20:01 +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 4SbCKF4ZhPz4QXf; Wed, 22 Nov 2023 20:20:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700684401; 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=mlUHvTUEVQJSEYeGahRYGid2NGQg4OZ7/iYAKUXf2ow=; b=NIIrK1crLcBern3VvafqyY/1mwoB4xCvF3PzMPR5BsxgHFAHYqwJx13946Yw8jGi5Loj4Y SthP2CAs/kE/RJZEPU5FqfgbxQNcBCZoZwXs7gY1RWgPbzSSCXtrcGVNG4/hujKz0gIlF5 963rljtnM+LBCBEdTnPRI0iDz2KxsPTCWyV1FfGy6qQlfklg0tAw/UutvCOKbFiM7Rhftt eJs1JWNW9o6FDifjbAKYo9oLuzb5GRcHTmFJfskhv0qgakOm7psWmDwgdRUDcajDIxWV0S Vy4xsHVUBgK4PNrBsO6FTuxqjpgRyDGZ++sFHjDyxbDhT01xC8jhjtDKZxaZAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700684401; 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=mlUHvTUEVQJSEYeGahRYGid2NGQg4OZ7/iYAKUXf2ow=; b=bkiWd2y3jAU/NX/01E+CgK7osFgeC8SSvpJ3JuyvW/f5KM0mJwBMGZUsafG/cLtx/QELiP bf7vEU85+6WornsB0aXDPI5aUD9njbCdn3teFvG/rA2GQz1/3YdmTnrD3J6E/pTvWCeIIr uLCGZnOPc8+tO6UXotlhILvUUrARGD/Z9KVMvAgQ0BMjktdwCKpK0tvAb0TPbYF8dcUtuF vm3pRx3gyk4HSEvOgj8nnOYx7L+UJGQG0eNN5SGwRxOxD+em/AWhOgTjFzeoRAfb2AurXx uTalfrkEcBN+4HPI82lxz6eEudGmg1zg9X1m2C50yftdefXR0bFBVokhxr5jZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700684401; a=rsa-sha256; cv=none; b=DkpFxVDQIzFb2TAyhotfpSLIr4MedmgR1ZmzC8c5AYSh3ZRQri3Wn6dsscnSD3fCisXyQ2 LOJbTKGuVHPKB++9Sy7IXEAwwBlqDSrEII0pnC7mPl7xXZP6HxJikFKkYFURCdSf/wNR2c EBtJf/P/neX5si/Tt1wmyIZsRnouAzP3zRFc/NRVLo4PiDbwTkkRWWjT/q7yr66Ed1JDxc bCLKLbPo1R+lNVk8mnmePmprLNU1pesvJ/8Hdx29iQLrLUivOTz1lyskmQvfGFKy8drLBR AbLsKhgr5aWb5NBZNj9N+Yo+IbM+BIlqHvs8ndXrHh3e3cyykLPdP0SpcVQnog== 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 4SbCKF3NvXzXjV; Wed, 22 Nov 2023 20:20:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMKK1g4022424; Wed, 22 Nov 2023 20:20:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMKK1F1022418; Wed, 22 Nov 2023 20:20:01 GMT (envelope-from git) Date: Wed, 22 Nov 2023 20:20:01 GMT Message-Id: <202311222020.3AMKK1F1022418@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: c5359e2af5ab - main - bhyve: Add a slirp network backend 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c5359e2af5ab582f9a0b862ce90ad3962f9f1d03 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c5359e2af5ab582f9a0b862ce90ad3962f9f1d03 commit c5359e2af5ab582f9a0b862ce90ad3962f9f1d03 Author: Mark Johnston AuthorDate: 2023-11-22 19:11:03 +0000 Commit: Mark Johnston CommitDate: 2023-11-22 20:18:46 +0000 bhyve: Add a slirp network backend This enables a subset of the functionality provided by QEMU's user networking implementation. In particular, it uses net/libslirp, the same library as QEMU. libslirp is permissively licensed but has some dependencies which make it impractical to bring into the base system (glib in particular). I thus opted to make bhyve dlopen the libslirp.so, which can be installed via pkg. The library header is imported into bhyve. The slirp backend takes a "hostfwd" which is identical to QEMU's hostfwd. When configured, bhyve opens a host socket and listens for connections, which get forwarded to the guest. For instance, "hostfwd=tcp::1234-:22" allows one to ssh into the guest by ssh'ing to port 1234 on the host, e.g., via 127.0.0.1. I didn't try to hook up guestfwd support since I don't personally have a use-case for it yet, and I think it won't interact nicely with the capsicum sandbox. Reviewed by: jhb Tested by: rew MFC after: 1 month Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D42510 --- usr.sbin/bhyve/Makefile | 1 + usr.sbin/bhyve/bhyve.8 | 20 +- usr.sbin/bhyve/bhyve_config.5 | 22 +- usr.sbin/bhyve/libslirp.h | 365 ++++++++++++++++++++ usr.sbin/bhyve/net_backend_slirp.c | 662 +++++++++++++++++++++++++++++++++++++ 5 files changed, 1068 insertions(+), 2 deletions(-) diff --git a/usr.sbin/bhyve/Makefile b/usr.sbin/bhyve/Makefile index 6ce7f6c7ba62..b6cad38a6c39 100644 --- a/usr.sbin/bhyve/Makefile +++ b/usr.sbin/bhyve/Makefile @@ -34,6 +34,7 @@ SRCS= \ mem.c \ mevent.c \ net_backend_netmap.c \ + net_backend_slirp.c \ net_backends.c \ net_utils.c \ pci_emul.c \ diff --git a/usr.sbin/bhyve/bhyve.8 b/usr.sbin/bhyve/bhyve.8 index 0c5d34456b3a..093938277c02 100644 --- a/usr.sbin/bhyve/bhyve.8 +++ b/usr.sbin/bhyve/bhyve.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 12, 2023 +.Dd November 20, 2023 .Dt BHYVE 8 .Os .Sh NAME @@ -426,6 +426,10 @@ Network device backends: .Op Cm \&,mac= Ar xx:xx:xx:xx:xx:xx .Op Cm \&,mtu= Ar N .Xc +.It +.Xo +.Cm slirp,hostfwd= Ar proto : Ar hostaddr : Ar hostport - Ar guestaddr : Ar guestport +.Xc .El .Sm on .Pp @@ -469,6 +473,20 @@ must comply with .Xr netgraph 4 addressing rules. .Pp +The slirp backend can be used to provide a NATed network to the guest. +This backend has poor performance but does not require any network +configuration on the host system. +It depends on the +.Pa net/libslirp +port. +The +.Cm hostfwd +option takes a 5-tuple describing how connections from the host are to be +forwarded to the guest. +Multiple rules can be specified, separated by semicolons. +Note that semicolons must be escaped or quoted to prevent the shell from +interpreting them. +.Pp Block storage device backends: .Sm off .Bl -bullet diff --git a/usr.sbin/bhyve/bhyve_config.5 b/usr.sbin/bhyve/bhyve_config.5 index 1322abd67958..d0e5c8ae47d3 100644 --- a/usr.sbin/bhyve/bhyve_config.5 +++ b/usr.sbin/bhyve/bhyve_config.5 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 19, 2022 +.Dd November 20, 2023 .Dt BHYVE_CONFIG 5 .Os .Sh NAME @@ -401,6 +401,26 @@ The value of is passed to .Xr nm_open to connect to a netmap port. +.It slirp +Use the slirp backend to provide a userspace network stack. +The +.Va hostfwd +variable is used to configure how packets from the host are translated +before being sent to the guest. +.Bl -column "peerhook" "Format" "Default" +.It Sy Name Ta Sy Format Ta Sy Default Ta Sy Description +.It Va hostfwd Ta string Ta Ta +A semicolon-separated list of host forwarding rules, each of the form +.Ar proto:haddr:hport-gaddr:gport , +where +.Ar proto +is either +.Ql tcp +or +.Ql udp . +If the guest address is equal to the empty string, packets will be +forwarded to the first DHCP-assigned address in the guest. +.El .El .Pp If diff --git a/usr.sbin/bhyve/libslirp.h b/usr.sbin/bhyve/libslirp.h new file mode 100644 index 000000000000..a679c4db7913 --- /dev/null +++ b/usr.sbin/bhyve/libslirp.h @@ -0,0 +1,365 @@ +/*- + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 1995,1996 Danny Gasparovski. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + * DANNY GASPAROVSKI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef LIBSLIRP_H +#define LIBSLIRP_H + +#include +#include +#include + +#ifdef _WIN32 +#include +#include +#include +#include +typedef SSIZE_T slirp_ssize_t; +#ifdef BUILDING_LIBSLIRP +# define SLIRP_EXPORT __declspec(dllexport) +#else +# define SLIRP_EXPORT __declspec(dllimport) +#endif +#else +#include +typedef ssize_t slirp_ssize_t; +#include +#include +#define SLIRP_EXPORT +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* Opaque structure containing the slirp state */ +typedef struct Slirp Slirp; + +/* Flags passed to SlirpAddPollCb and to be returned by SlirpGetREventsCb. */ +enum { + SLIRP_POLL_IN = 1 << 0, + SLIRP_POLL_OUT = 1 << 1, + SLIRP_POLL_PRI = 1 << 2, + SLIRP_POLL_ERR = 1 << 3, + SLIRP_POLL_HUP = 1 << 4, +}; + +/* Callback for application to get data from the guest */ +typedef slirp_ssize_t (*SlirpReadCb)(void *buf, size_t len, void *opaque); +/* Callback for application to send data to the guest */ +typedef slirp_ssize_t (*SlirpWriteCb)(const void *buf, size_t len, void *opaque); +/* Timer callback */ +typedef void (*SlirpTimerCb)(void *opaque); +/* Callback for libslirp to register polling callbacks */ +typedef int (*SlirpAddPollCb)(int fd, int events, void *opaque); +/* Callback for libslirp to get polling result */ +typedef int (*SlirpGetREventsCb)(int idx, void *opaque); + +/* For now libslirp creates only a timer for the IPv6 RA */ +typedef enum SlirpTimerId { + SLIRP_TIMER_RA, + SLIRP_TIMER_NUM, +} SlirpTimerId; + +/* + * Callbacks from slirp, to be set by the application. + * + * The opaque parameter is set to the opaque pointer given in the slirp_new / + * slirp_init call. + */ +typedef struct SlirpCb { + /* + * Send an ethernet frame to the guest network. The opaque parameter is the + * one given to slirp_init(). If the guest is not ready to receive a frame, + * the function can just drop the data. TCP will then handle retransmissions + * at a lower pace. + * <0 reports an IO error. + */ + SlirpWriteCb send_packet; + /* Print a message for an error due to guest misbehavior. */ + void (*guest_error)(const char *msg, void *opaque); + /* Return the virtual clock value in nanoseconds */ + int64_t (*clock_get_ns)(void *opaque); + /* Create a new timer with the given callback and opaque data. Not + * needed if timer_new_opaque is provided. */ + void *(*timer_new)(SlirpTimerCb cb, void *cb_opaque, void *opaque); + /* Remove and free a timer */ + void (*timer_free)(void *timer, void *opaque); + /* Modify a timer to expire at @expire_time (ms) */ + void (*timer_mod)(void *timer, int64_t expire_time, void *opaque); + /* Register a fd for future polling */ + void (*register_poll_fd)(int fd, void *opaque); + /* Unregister a fd */ + void (*unregister_poll_fd)(int fd, void *opaque); + /* Kick the io-thread, to signal that new events may be processed because some TCP buffer + * can now receive more data, i.e. slirp_socket_can_recv will return 1. */ + void (*notify)(void *opaque); + + /* + * Fields introduced in SlirpConfig version 4 begin + */ + + /* Initialization has completed and a Slirp* has been created. */ + void (*init_completed)(Slirp *slirp, void *opaque); + /* Create a new timer. When the timer fires, the application passes + * the SlirpTimerId and cb_opaque to slirp_handle_timer. */ + void *(*timer_new_opaque)(SlirpTimerId id, void *cb_opaque, void *opaque); +} SlirpCb; + +#define SLIRP_CONFIG_VERSION_MIN 1 +#define SLIRP_CONFIG_VERSION_MAX 5 + +typedef struct SlirpConfig { + /* Version must be provided */ + uint32_t version; + /* + * Fields introduced in SlirpConfig version 1 begin + */ + /* Whether to prevent the guest from accessing the Internet */ + int restricted; + /* Whether IPv4 is enabled */ + bool in_enabled; + /* Virtual network for the guest */ + struct in_addr vnetwork; + /* Mask for the virtual network for the guest */ + struct in_addr vnetmask; + /* Virtual address for the host exposed to the guest */ + struct in_addr vhost; + /* Whether IPv6 is enabled */ + bool in6_enabled; + /* Virtual IPv6 network for the guest */ + struct in6_addr vprefix_addr6; + /* Len of the virtual IPv6 network for the guest */ + uint8_t vprefix_len; + /* Virtual address for the host exposed to the guest */ + struct in6_addr vhost6; + /* Hostname exposed to the guest in DHCP hostname option */ + const char *vhostname; + /* Hostname exposed to the guest in the DHCP TFTP server name option */ + const char *tftp_server_name; + /* Path of the files served by TFTP */ + const char *tftp_path; + /* Boot file name exposed to the guest via DHCP */ + const char *bootfile; + /* Start of the DHCP range */ + struct in_addr vdhcp_start; + /* Virtual address for the DNS server exposed to the guest */ + struct in_addr vnameserver; + /* Virtual IPv6 address for the DNS server exposed to the guest */ + struct in6_addr vnameserver6; + /* DNS search names exposed to the guest via DHCP */ + const char **vdnssearch; + /* Domain name exposed to the guest via DHCP */ + const char *vdomainname; + /* MTU when sending packets to the guest */ + /* Default: IF_MTU_DEFAULT */ + size_t if_mtu; + /* MRU when receiving packets from the guest */ + /* Default: IF_MRU_DEFAULT */ + size_t if_mru; + /* Prohibit connecting to 127.0.0.1:* */ + bool disable_host_loopback; + /* + * Enable emulation code (*warning*: this code isn't safe, it is not + * recommended to enable it) + */ + bool enable_emu; + + /* + * Fields introduced in SlirpConfig version 2 begin + */ + /* Address to be used when sending data to the Internet */ + struct sockaddr_in *outbound_addr; + /* IPv6 Address to be used when sending data to the Internet */ + struct sockaddr_in6 *outbound_addr6; + + /* + * Fields introduced in SlirpConfig version 3 begin + */ + /* slirp will not redirect/serve any DNS packet */ + bool disable_dns; + + /* + * Fields introduced in SlirpConfig version 4 begin + */ + /* slirp will not reply to any DHCP requests */ + bool disable_dhcp; + + /* + * Fields introduced in SlirpConfig version 5 begin + */ + /* Manufacturer ID (IANA Private Enterprise number) */ + uint32_t mfr_id; + /* + * MAC address allocated for an out-of-band management controller, to be + * retrieved through NC-SI. + */ + uint8_t oob_eth_addr[6]; +} SlirpConfig; + +/* Create a new instance of a slirp stack */ +SLIRP_EXPORT +Slirp *slirp_new(const SlirpConfig *cfg, const SlirpCb *callbacks, + void *opaque); +/* slirp_init is deprecated in favor of slirp_new */ +SLIRP_EXPORT +Slirp *slirp_init(int restricted, bool in_enabled, struct in_addr vnetwork, + struct in_addr vnetmask, struct in_addr vhost, + bool in6_enabled, struct in6_addr vprefix_addr6, + uint8_t vprefix_len, struct in6_addr vhost6, + const char *vhostname, const char *tftp_server_name, + const char *tftp_path, const char *bootfile, + struct in_addr vdhcp_start, struct in_addr vnameserver, + struct in6_addr vnameserver6, const char **vdnssearch, + const char *vdomainname, const SlirpCb *callbacks, + void *opaque); +/* Shut down an instance of a slirp stack */ +SLIRP_EXPORT +void slirp_cleanup(Slirp *slirp); + +/* This is called by the application when it is about to sleep through poll(). + * *timeout is set to the amount of virtual time (in ms) that the application intends to + * wait (UINT32_MAX if infinite). slirp_pollfds_fill updates it according to + * e.g. TCP timers, so the application knows it should sleep a smaller amount of + * time. slirp_pollfds_fill calls add_poll for each file descriptor + * that should be monitored along the sleep. The opaque pointer is passed as + * such to add_poll, and add_poll returns an index. */ +SLIRP_EXPORT +void slirp_pollfds_fill(Slirp *slirp, uint32_t *timeout, + SlirpAddPollCb add_poll, void *opaque); + +/* This is called by the application after sleeping, to report which file + * descriptors are available. slirp_pollfds_poll calls get_revents on each file + * descriptor, giving it the index that add_poll returned during the + * slirp_pollfds_fill call, to know whether the descriptor is available for + * read/write/etc. (SLIRP_POLL_*) + * select_error should be passed 1 if poll() returned an error. */ +SLIRP_EXPORT +void slirp_pollfds_poll(Slirp *slirp, int select_error, + SlirpGetREventsCb get_revents, void *opaque); + +/* This is called by the application when the guest emits a packet on the + * guest network, to be interpreted by slirp. */ +SLIRP_EXPORT +void slirp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len); + +/* This is called by the application when a timer expires, if it provides + * the timer_new_opaque callback. It is not needed if the application only + * uses timer_new. */ +SLIRP_EXPORT +void slirp_handle_timer(Slirp *slirp, SlirpTimerId id, void *cb_opaque); + +/* These set up / remove port forwarding between a host port in the real world + * and the guest network. */ +SLIRP_EXPORT +int slirp_add_hostfwd(Slirp *slirp, int is_udp, struct in_addr host_addr, + int host_port, struct in_addr guest_addr, int guest_port); +SLIRP_EXPORT +int slirp_remove_hostfwd(Slirp *slirp, int is_udp, struct in_addr host_addr, + int host_port); + +#define SLIRP_HOSTFWD_UDP 1 +#define SLIRP_HOSTFWD_V6ONLY 2 +SLIRP_EXPORT +int slirp_add_hostxfwd(Slirp *slirp, + const struct sockaddr *haddr, socklen_t haddrlen, + const struct sockaddr *gaddr, socklen_t gaddrlen, + int flags); +SLIRP_EXPORT +int slirp_remove_hostxfwd(Slirp *slirp, + const struct sockaddr *haddr, socklen_t haddrlen, + int flags); + +/* Set up port forwarding between a port in the guest network and a + * command running on the host */ +SLIRP_EXPORT +int slirp_add_exec(Slirp *slirp, const char *cmdline, + struct in_addr *guest_addr, int guest_port); +/* Set up port forwarding between a port in the guest network and a + * Unix port on the host */ +SLIRP_EXPORT +int slirp_add_unix(Slirp *slirp, const char *unixsock, + struct in_addr *guest_addr, int guest_port); +/* Set up port forwarding between a port in the guest network and a + * callback that will receive the data coming from the port */ +SLIRP_EXPORT +int slirp_add_guestfwd(Slirp *slirp, SlirpWriteCb write_cb, void *opaque, + struct in_addr *guest_addr, int guest_port); + +/* TODO: rather identify a guestfwd through an opaque pointer instead of through + * the guest_addr */ + +/* This is called by the application for a guestfwd, to determine how much data + * can be received by the forwarded port through a call to slirp_socket_recv. */ +SLIRP_EXPORT +size_t slirp_socket_can_recv(Slirp *slirp, struct in_addr guest_addr, + int guest_port); +/* This is called by the application for a guestfwd, to provide the data to be + * sent on the forwarded port */ +SLIRP_EXPORT +void slirp_socket_recv(Slirp *slirp, struct in_addr guest_addr, int guest_port, + const uint8_t *buf, int size); + +/* Remove entries added by slirp_add_exec, slirp_add_unix or slirp_add_guestfwd */ +SLIRP_EXPORT +int slirp_remove_guestfwd(Slirp *slirp, struct in_addr guest_addr, + int guest_port); + +/* Return a human-readable state of the slirp stack */ +SLIRP_EXPORT +char *slirp_connection_info(Slirp *slirp); + +/* Return a human-readable state of the NDP/ARP tables */ +SLIRP_EXPORT +char *slirp_neighbor_info(Slirp *slirp); + +/* Save the slirp state through the write_cb. The opaque pointer is passed as + * such to the write_cb. */ +SLIRP_EXPORT +int slirp_state_save(Slirp *s, SlirpWriteCb write_cb, void *opaque); + +/* Returns the version of the slirp state, to be saved along the state */ +SLIRP_EXPORT +int slirp_state_version(void); + +/* Load the slirp state through the read_cb. The opaque pointer is passed as + * such to the read_cb. The version should be given as it was obtained from + * slirp_state_version when slirp_state_save was called. */ +SLIRP_EXPORT +int slirp_state_load(Slirp *s, int version_id, SlirpReadCb read_cb, + void *opaque); + +/* Return the version of the slirp implementation */ +SLIRP_EXPORT +const char *slirp_version_string(void); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* LIBSLIRP_H */ diff --git a/usr.sbin/bhyve/net_backend_slirp.c b/usr.sbin/bhyve/net_backend_slirp.c new file mode 100644 index 000000000000..1c414f87084c --- /dev/null +++ b/usr.sbin/bhyve/net_backend_slirp.c @@ -0,0 +1,662 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2023 Mark Johnston + * + * This software was developed by the University of Cambridge Computer + * Laboratory (Department of Computer Science and Technology) under Innovate + * UK project 105694, "Digital Security by Design (DSbD) Technology Platform + * Prototype". + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * The slirp backend enables unprivileged networking via libslirp, which must be + * installed on the host system via pkg or the ports tree. bhyve dlopen()s + * libslirp.so upon instantiating the slirp backend. Various network parameters + * are hard-coded in _slirp_init(). + * + * Packets received from the guest (i.e., transmitted by the frontend, such as a + * virtio NIC device model) are injected into the slirp backend via slirp_send(). + * Packets to be transmitted to the guest (i.e., inserted into the frontend's + * receive buffers) are buffered in a per-interface socket pair and read by the + * mevent loop. Sockets instantiated by libslirp are monitored by a thread + * which uses poll() and slirp_pollfds_poll() to drive libslirp events; this + * thread also handles timeout events from the libslirp context. + */ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "debug.h" +#include "libslirp.h" +#include "mevent.h" +#include "net_backends.h" +#include "net_backends_priv.h" + +typedef int (*slirp_add_hostxfwd_p_t)(Slirp *, + const struct sockaddr *, socklen_t, const struct sockaddr *, socklen_t, + int); +typedef void (*slirp_cleanup_p_t)(Slirp *); +typedef void (*slirp_input_p_t)(Slirp *, const uint8_t *, int); +typedef Slirp *(*slirp_new_p_t)(const SlirpConfig *, const SlirpCb *, void *); +typedef void (*slirp_pollfds_fill_p_t)(Slirp *, uint32_t *timeout, + SlirpAddPollCb, void *); +typedef void (*slirp_pollfds_poll_p_t)(Slirp *, int, SlirpGetREventsCb, void *); + +/* Function pointer table, initialized by slirp_init_once(). */ +static slirp_add_hostxfwd_p_t slirp_add_hostxfwd_p; +static slirp_cleanup_p_t slirp_cleanup_p; +static slirp_input_p_t slirp_input_p; +static slirp_new_p_t slirp_new_p; +static slirp_pollfds_fill_p_t slirp_pollfds_fill_p; +static slirp_pollfds_poll_p_t slirp_pollfds_poll_p; + +static int +slirp_init_once(void) +{ + static void *handle = NULL; + + if (handle != NULL) + return (0); + handle = dlopen("libslirp.so.0", RTLD_LAZY); + if (handle == NULL) { + EPRINTLN("Unable to open libslirp.so.0: %s", dlerror()); + return (-1); + } + +#define IMPORT_SYM(sym) do { \ + sym##_p = (sym##_p_t)dlsym(handle, #sym); \ + if (sym##_p == NULL) { \ + EPRINTLN("failed to resolve %s", #sym); \ + goto err; \ + } \ +} while (0) + IMPORT_SYM(slirp_add_hostxfwd); + IMPORT_SYM(slirp_cleanup); + IMPORT_SYM(slirp_input); + IMPORT_SYM(slirp_new); + IMPORT_SYM(slirp_pollfds_fill); + IMPORT_SYM(slirp_pollfds_poll); +#undef IMPORT_SYM + + /* + * libslirp uses glib, which uses tzdata to format log messages. Help + * it out. + * + * XXX-MJ glib will also look for charset files, not sure what we can do + * about that... + */ + caph_cache_tzdata(); + + return (0); + +err: + dlclose(handle); + handle = NULL; + return (-1); +} + +struct slirp_priv { + Slirp *slirp; + +#define SLIRP_MTU 2048 + struct mevent *mevp; + int pipe[2]; + + pthread_t pollfd_td; + struct pollfd *pollfds; + size_t npollfds; + + /* Serializes libslirp calls. */ + pthread_mutex_t mtx; +}; + +static void +slirp_priv_init(struct slirp_priv *priv) +{ + int error; + + memset(priv, 0, sizeof(*priv)); + priv->pipe[0] = priv->pipe[1] = -1; + error = pthread_mutex_init(&priv->mtx, NULL); + assert(error == 0); +} + +static void +slirp_priv_cleanup(struct slirp_priv *priv) +{ + int error; + + if (priv->pipe[0] != -1) { + error = close(priv->pipe[0]); + assert(error == 0); + } + if (priv->pipe[1] != -1) { + error = close(priv->pipe[1]); + assert(error == 0); + } + if (priv->mevp) + mevent_delete(priv->mevp); + if (priv->slirp != NULL) + slirp_cleanup_p(priv->slirp); + error = pthread_mutex_destroy(&priv->mtx); + assert(error == 0); +} + +static int64_t +slirp_cb_clock_get_ns(void *param __unused) +{ + struct timespec ts; + int error; + + error = clock_gettime(CLOCK_MONOTONIC, &ts); + assert(error == 0); + return ((int64_t)(ts.tv_sec * 1000000000L + ts.tv_nsec)); +} + +static void +slirp_cb_notify(void *param __unused) +{ +} + +static void +slirp_cb_register_poll_fd(int fd, void *param __unused) +{ + const int one = 1; + + (void)setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, &one, sizeof(int)); +} + +static ssize_t +slirp_cb_send_packet(const void *buf, size_t len, void *param) +{ + struct slirp_priv *priv; + ssize_t n; + + priv = param; + + assert(len <= SLIRP_MTU); + n = send(priv->pipe[1], buf, len, 0); + if (n < 0) { + EPRINTLN("slirp_cb_send_packet: send: %s", strerror(errno)); + return (n); + } + assert((size_t)n == len); + + return (n); +} + +static void +slirp_cb_unregister_poll_fd(int fd __unused, void *opaque __unused) +{ +} + +/* Callbacks invoked from within libslirp. */ +static const struct SlirpCb slirp_cbs = { + .clock_get_ns = slirp_cb_clock_get_ns, + .notify = slirp_cb_notify, + .register_poll_fd = slirp_cb_register_poll_fd, + .send_packet = slirp_cb_send_packet, + .unregister_poll_fd = slirp_cb_unregister_poll_fd, +}; + +static int +slirpev2pollev(int events) +{ + int ret; + + ret = 0; + if (events & SLIRP_POLL_IN) + ret |= POLLIN; + if (events & SLIRP_POLL_OUT) + ret |= POLLOUT; + if (events & SLIRP_POLL_PRI) + ret |= POLLPRI; + if (events & SLIRP_POLL_ERR) + ret |= POLLERR; + if (events & SLIRP_POLL_HUP) + ret |= POLLHUP; + return (ret); +} + +static int +pollev2slirpev(int events) +{ + int ret; + + ret = 0; + if (events & POLLIN) + ret |= SLIRP_POLL_IN; + if (events & POLLOUT) + ret |= SLIRP_POLL_OUT; + if (events & POLLPRI) + ret |= SLIRP_POLL_PRI; + if (events & POLLERR) + ret |= SLIRP_POLL_ERR; + if (events & POLLHUP) + ret |= SLIRP_POLL_HUP; + return (ret); +} + +static int +slirp_addpoll_cb(int fd, int events, void *param) +{ + struct slirp_priv *priv; + struct pollfd *pollfd, *pollfds; + size_t i; + + priv = param; + + for (i = 0; i < priv->npollfds; i++) + if (priv->pollfds[i].fd == -1) + break; + if (i == priv->npollfds) { + const size_t POLLFD_GROW = 4; + + priv->npollfds += POLLFD_GROW; + pollfds = realloc(priv->pollfds, + sizeof(*pollfds) * priv->npollfds); + if (pollfds == NULL) + return (-1); + for (i = priv->npollfds - POLLFD_GROW; i < priv->npollfds; i++) + pollfds[i].fd = -1; + priv->pollfds = pollfds; + + i = priv->npollfds - POLLFD_GROW; + } + pollfd = &priv->pollfds[i]; + pollfd->fd = fd; + pollfd->events = slirpev2pollev(events); + pollfd->revents = 0; + + return ((int)i); +} + +static int +slirp_poll_revents(int idx, void *param) +{ + struct slirp_priv *priv; + struct pollfd *pollfd; + + priv = param; + pollfd = &priv->pollfds[idx]; + assert(pollfd->fd != -1); + return (pollev2slirpev(pollfd->revents)); +} + +static void * +slirp_pollfd_td_loop(void *param) +{ + struct slirp_priv *priv; + struct pollfd *pollfds; + size_t npollfds; + uint32_t timeout; + int error; + + pthread_set_name_np(pthread_self(), "slirp pollfd"); + priv = param; + + pthread_mutex_lock(&priv->mtx); + for (;;) { + for (size_t i = 0; i < priv->npollfds; i++) + priv->pollfds[i].fd = -1; + + timeout = UINT32_MAX; + slirp_pollfds_fill_p(priv->slirp, &timeout, slirp_addpoll_cb, + priv); + + pollfds = priv->pollfds; + npollfds = priv->npollfds; + pthread_mutex_unlock(&priv->mtx); + for (;;) { + error = poll(pollfds, npollfds, timeout); + if (error == -1) { + if (errno != EINTR) { + EPRINTLN("poll: %s", strerror(errno)); + exit(1); + } + continue; + } + break; + } + pthread_mutex_lock(&priv->mtx); + slirp_pollfds_poll_p(priv->slirp, error == -1, + slirp_poll_revents, priv); + } +} + +static int +parse_addr(char *addr, struct sockaddr_in *sinp) +{ + char *port; + int error, porti; + + memset(sinp, 0, sizeof(*sinp)); + sinp->sin_family = AF_INET; + sinp->sin_len = sizeof(struct sockaddr_in); + + port = strchr(addr, ':'); + if (port == NULL) + return (EINVAL); + *port++ = '\0'; + + if (strlen(addr) > 0) { + error = inet_pton(AF_INET, addr, &sinp->sin_addr); + if (error != 1) + return (error == 0 ? EPFNOSUPPORT : errno); + } else { + sinp->sin_addr.s_addr = htonl(INADDR_ANY); + } + + porti = strlen(port) > 0 ? atoi(port) : 0; + if (porti < 0 || porti > UINT16_MAX) + return (EINVAL); + sinp->sin_port = htons(porti); + + return (0); +} + +static int +parse_hostfwd_rule(const char *descr, int *is_udp, struct sockaddr *hostaddr, + struct sockaddr *guestaddr) +{ + struct sockaddr_in *hostaddrp, *guestaddrp; + const char *proto; + char *p, *host, *guest; + int error; + + error = 0; + *is_udp = 0; + + p = strdup(descr); + if (p == NULL) + return (ENOMEM); + + host = strchr(p, ':'); + if (host == NULL) { + error = EINVAL; + goto out; + } + *host++ = '\0'; + + proto = p; + *is_udp = strcmp(proto, "udp") == 0; + + guest = strchr(host, '-'); + if (guest == NULL) { + error = EINVAL; + goto out; + } + *guest++ = '\0'; + + hostaddrp = (struct sockaddr_in *)hostaddr; + error = parse_addr(host, hostaddrp); + if (error != 0) + goto out; + + guestaddrp = (struct sockaddr_in *)guestaddr; + error = parse_addr(guest, guestaddrp); + if (error != 0) + goto out; + +out: + free(p); + return (error); +} + +static int +config_one_hostfwd(struct slirp_priv *priv, const char *rule) +{ + struct sockaddr hostaddr, guestaddr; + int error, is_udp; + + error = parse_hostfwd_rule(rule, &is_udp, &hostaddr, &guestaddr); + if (error != 0) { + EPRINTLN("Unable to parse hostfwd rule '%s': %s", + rule, strerror(error)); + return (error); + } + + error = slirp_add_hostxfwd_p(priv->slirp, &hostaddr, hostaddr.sa_len, + &guestaddr, guestaddr.sa_len, is_udp ? SLIRP_HOSTFWD_UDP : 0); + if (error != 0) { + EPRINTLN("Unable to add hostfwd rule '%s': %s", + rule, strerror(errno)); + return (error); + } + + return (0); +} + +static int +_slirp_init(struct net_backend *be, const char *devname __unused, + nvlist_t *nvl, net_be_rxeof_t cb, void *param) +{ + struct slirp_priv *priv = NET_BE_PRIV(be); + SlirpConfig config = { + .version = 4, *** 192 LINES SKIPPED *** From nobody Wed Nov 22 20:20:02 2023 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 4SbCKH0C6xz51npS; Wed, 22 Nov 2023 20:20:03 +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 4SbCKG5Dw0z4QdP; Wed, 22 Nov 2023 20:20:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700684402; 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=7vnwrkPhbbGfcpwGj1ipW+GFOiKxsOi1m8v0if1ylz0=; b=jcDZz3+KQA1zNL2706CflBJpLKtwpwRy2vt7ALRywJR3FgKZWFe3Fe45KGrfPgpe0OiRnr D8NT9EhZzMxQG8L7I71vD66CgFWX7UbFSHMz1AFYQS2nNamMmYGxuhnYL+YGE4Tfh4o8xG D41mw6T2WAxiLr09U33j+trA1JSon3tRDxv4I6ssiNsZ6SERZvdr8153jZ72ONg2gYT5U2 wEuCvupQHeNyLubdY8FJ7NuQEUPAbU2YrShUSqKsseWYjtycne4ojg4H0LJUstsWmgCJba JWkLciBJXu4bPmdPRrpG0ajhWaQ1LF4sSw+PQQjRkVK/TVtmKoUUILRqobOIEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700684402; 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=7vnwrkPhbbGfcpwGj1ipW+GFOiKxsOi1m8v0if1ylz0=; b=M8oANUDrunQVBuRMZJqhOA/pCu2ROjSFU3i6wbqX0e6PmY0o2Bwg3/SwRRt62Zg9a3cEAj 37ft4SlPo43l3J8RTKphqjLD2aPZ8iibMIv5lMzD95BlXD8MQyvJq50SCSt6cpH5vAuzRm 4dRyQF8l/eZgBiq9JUpcIO8SxOW99Q0rmxlEKJZ+QcGPoTMHQ9A55O34ham64lxIXFTpls SOgMCwdB9OImS1GzzCR0hwNQtYmCRhWXW8DbPZuPErHzWZLisCvCXGV7WNXGbQXrhjMWLH 4LR4nOiCnO0in/9Cw2XxOY3exiyqQRuXyEElSNZyzBL4e/iwPyrS/iI2JIVOFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700684402; a=rsa-sha256; cv=none; b=txMhIaQPXwjGCE2g7ugOH0Fm3QPhWdjp0OblkU0ZcCauGQByD21GfEnzxSdUPlETQf0YLm 6l4bXuljpTQonSbSQ9+G379p6XGRc54j8EwoQ7YJUx8CqtdrkDxDaEl4crBueDTfXP5g1y P0PiIWcmdi79NU7zCj1pPic6K6e6Z9C5GuqYYdcOhhu6j/HeNhWnKC/fXQ5fHQw0QsiaMW Pi7INMYLNq8gOO0HMbwQIQcwe9aehCRaOk6j5sgkQ6Uuquaizt4kJCwNixbfjV7jkZmyei 1LdL5bCPMa0aHzXzYOyx1yOMbnYpI9NxLGbzWDSpnKrlHzEDZ1F2eSUAU4f6WA== 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 4SbCKG3zL7zYgv; Wed, 22 Nov 2023 20:20:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMKK2Un022704; Wed, 22 Nov 2023 20:20:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMKK2aL022699; Wed, 22 Nov 2023 20:20:02 GMT (envelope-from git) Date: Wed, 22 Nov 2023 20:20:02 GMT Message-Id: <202311222020.3AMKK2aL022699@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 33c2bd534a22 - main - RELNOTES: Add an entry about bhyve's slirp backend 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 33c2bd534a22b9d2d9f76c3ef5c6b304c99a6d2b Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=33c2bd534a22b9d2d9f76c3ef5c6b304c99a6d2b commit 33c2bd534a22b9d2d9f76c3ef5c6b304c99a6d2b Author: Mark Johnston AuthorDate: 2023-11-22 19:14:53 +0000 Commit: Mark Johnston CommitDate: 2023-11-22 20:19:10 +0000 RELNOTES: Add an entry about bhyve's slirp backend Sponsored by: Innovate UK --- RELNOTES | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/RELNOTES b/RELNOTES index c5c20fe37975..a1dd1e1130fa 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,12 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +c5359e2af5ab: + bhyve(8) has a new network backend, "slirp", which makes use of the + libslirp package to provide a userspace network stack. This backend + makes it possible to access the guest network from the host without + requiring any extra network configuration on the host. + bb830e346bd5: Set the IUTF8 flag by default in tty(4). From nobody Wed Nov 22 20:33:55 2023 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 4SbCdH39kkz51r3p; Wed, 22 Nov 2023 20:33:55 +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 4SbCdH2kLLz4VRD; Wed, 22 Nov 2023 20:33:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700685235; 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=jCGo3lipq/ixRQWmFs3RmlO8TuyseXNdn+h5WbuhLFE=; b=KXpH/Qil6/33FPaYsVYTpZapqE/BA78A5b2uQmXEDMeuLGM3EbKKA068Tvqoo8cD92mtce aCM1gEp/Jj5YlEs09kzwG6qAK6mwehBXrTmjfv5PeGXjq0Oq4Aq4TCbZX5CgtAr2IeSOt3 o7DGTd6YOalwjMuox7vu2vZMAEP3qvkPAQaU0MBy2xy20EYQh9KeSP7A8Tx2WfdV+SvCVC kp1OpLLIwwxyGnq1WuWmtqMuzaE9B1gj0wdNauRisEsAauLV64N2usqrukdsQuSJCCIxek h+VThtxxeBEWv93VXU2UIZYs75sp5vd8uX0TbKtrEVPJFcI+HVN1k9xdHJkOqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700685235; 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=jCGo3lipq/ixRQWmFs3RmlO8TuyseXNdn+h5WbuhLFE=; b=PZAqnuJpJIUlxSviHTUcXFeRY8lGlvCIKLWWX0OeP4rW7lbcdliq9a+DciFmlZkbyHrwCY N9F7kHvsJ//ICewjKEn6xLIO3g9hC1fl5+1GeFngZs7sHcsj+O7uZ6nFnDtkHfQ7Mfss9H lEBuqKxJkjPo814bRExitEojycQbcf4xUPWib+2DeinJ3CX143pBJ6C5RAkC53LSz8exnU AYMzSPZH3KBz0hewegA/mhiS7BXkV7TnawFaXnMCI1RNyGlCi+pvWtR5e4BMv5SwIqt7n/ RJuVijhsZWTlEN6P4drDNfytRyaLP0pwKrkW9rZqT1BjLnSDKXGqKgN46hwHNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700685235; a=rsa-sha256; cv=none; b=SBIBlaRumTGneGAYd+oQenPsLPzC71rvoXy/J5qIVTVVUEcqOUsG3S8sfwrZ4g27f2b6sV vyjyewcbsPprB6TC6XNwSx3g6jXCRIUvMDVvAQIEjrGPT9swhx901vHz/HU41DFkwmVxvb wCoWLbb2/YMcEFF//9BEnkP2cNbWuOGnLYDE/ckyeX8NvloSg5d1cu3y6B/HV6GAT8qMgl gt/l/9YXNdoJbujpIH9jUsSkxdcP6mMRJ9cFZfm24pRNXyDw82ed/uTZzJanfUYGUPUy4o LwstwTU0khRVCWQwEhfFw2FuWDzpiqpXhsSU+z4orDVsI4zc1tv2FKX6iG3/bA== 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 4SbCdH1VbgzZ8t; Wed, 22 Nov 2023 20:33:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMKXt5B053251; Wed, 22 Nov 2023 20:33:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMKXtqM053248; Wed, 22 Nov 2023 20:33:55 GMT (envelope-from git) Date: Wed, 22 Nov 2023 20:33:55 GMT Message-Id: <202311222033.3AMKXtqM053248@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: 1b44079584dc - main - CAM: Use sbuf_new_for_sysctl() in more places 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1b44079584dc317230cf810c0fe0a8c401a5c791 Auto-Submitted: auto-generated The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=1b44079584dc317230cf810c0fe0a8c401a5c791 commit 1b44079584dc317230cf810c0fe0a8c401a5c791 Author: Alexander Motin AuthorDate: 2023-11-22 20:32:16 +0000 Commit: Alexander Motin CommitDate: 2023-11-22 20:33:48 +0000 CAM: Use sbuf_new_for_sysctl() in more places There is no need to allocate buffer, worry about overflows, etc. MFC after: 2 weeks --- sys/cam/ata/ata_da.c | 12 ++++-------- sys/cam/scsi/scsi_da.c | 12 ++++-------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c index db2dc3a23b34..caaded5be7ba 100644 --- a/sys/cam/ata/ata_da.c +++ b/sys/cam/ata/ata_da.c @@ -1425,7 +1425,6 @@ adazonemodesysctl(SYSCTL_HANDLER_ARGS) static int adazonesupsysctl(SYSCTL_HANDLER_ARGS) { - char tmpbuf[180]; struct ada_softc *softc; struct sbuf sb; int error, first; @@ -1433,15 +1432,14 @@ adazonesupsysctl(SYSCTL_HANDLER_ARGS) softc = (struct ada_softc *)arg1; - error = 0; first = 1; - sbuf_new(&sb, tmpbuf, sizeof(tmpbuf), 0); + sbuf_new_for_sysctl(&sb, NULL, 0, req); for (i = 0; i < sizeof(ada_zone_desc_table) / sizeof(ada_zone_desc_table[0]); i++) { if (softc->zone_flags & ada_zone_desc_table[i].value) { if (first == 0) - sbuf_printf(&sb, ", "); + sbuf_cat(&sb, ", "); else first = 0; sbuf_cat(&sb, ada_zone_desc_table[i].desc); @@ -1451,10 +1449,8 @@ adazonesupsysctl(SYSCTL_HANDLER_ARGS) if (first == 1) sbuf_printf(&sb, "None"); - sbuf_finish(&sb); - - error = sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req); - + error = sbuf_finish(&sb); + sbuf_delete(&sb); return (error); } diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c index e795cecb5d11..175774d83015 100644 --- a/sys/cam/scsi/scsi_da.c +++ b/sys/cam/scsi/scsi_da.c @@ -2734,7 +2734,6 @@ dazonemodesysctl(SYSCTL_HANDLER_ARGS) static int dazonesupsysctl(SYSCTL_HANDLER_ARGS) { - char tmpbuf[180]; struct da_softc *softc; struct sbuf sb; int error, first; @@ -2742,15 +2741,14 @@ dazonesupsysctl(SYSCTL_HANDLER_ARGS) softc = (struct da_softc *)arg1; - error = 0; first = 1; - sbuf_new(&sb, tmpbuf, sizeof(tmpbuf), 0); + sbuf_new_for_sysctl(&sb, NULL, 0, req); for (i = 0; i < sizeof(da_zone_desc_table) / sizeof(da_zone_desc_table[0]); i++) { if (softc->zone_flags & da_zone_desc_table[i].value) { if (first == 0) - sbuf_printf(&sb, ", "); + sbuf_cat(&sb, ", "); else first = 0; sbuf_cat(&sb, da_zone_desc_table[i].desc); @@ -2760,10 +2758,8 @@ dazonesupsysctl(SYSCTL_HANDLER_ARGS) if (first == 1) sbuf_printf(&sb, "None"); - sbuf_finish(&sb); - - error = sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req); - + error = sbuf_finish(&sb); + sbuf_delete(&sb); return (error); } From nobody Wed Nov 22 22:28:07 2023 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 4SbG942YDYz51GDl; Wed, 22 Nov 2023 22:28:08 +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 4SbG940Fvvz4m6Q; Wed, 22 Nov 2023 22:28:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700692088; 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=9N0xuz8D3xjeSCHQoNWDzi66LAPnKs4ASlPAOJf281g=; b=QiZ3hnYGzcM35c3ZZ+2xHapaYnf7OB19UKH6G4XWRwuHo3jExRmDaao5ptDuPq2DDuyQbV 7buz1mtPN93TKL2MA8wq7J8D07dkjtrDsDrTQd0jbMQemMyF9bpkknQeqbxsNCBH5fTFG/ SjCSNyrcW3rgul4/rbCmESw2ZafSm5ySEULG73Fv7RiMJMvUdtKJno1Uw0zNFZAbhfZtkK mB54F1e3JmQRbXcmw5fSfiCls2kQkefashXatPaqrJiN2xOQfDYukewefFPV8dg2V1wwZq n/oUV4kfBIlwgM60l/NbU1HtjqVSQHPNk8ARPDpqlpF9PHXlmvkWkVXC5vIPnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700692088; 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=9N0xuz8D3xjeSCHQoNWDzi66LAPnKs4ASlPAOJf281g=; b=p3tO7H1N60Uxx1tqm6sz93EJJq4c8xtW+zDSTzyDUyN5y9pmPqb1pD4sceQl4kBE5PuZpZ ee0iCGWoNICzO8ZTKJdJl/1/3h63nvCx4yFymGcyxveIDex2YZJQ6sE59WLvqJwocFDlVD OI7zheT3Iczhpk0arF77gb9kubifHT0reSOZstatGb7oxebdIP5YwnSKQXj2flEhYmGw1/ XFJlDhdEMsP/dc28WvyAJ2yuh05c/FbYfPTMazh47BaPLm9Nz3uOPxMbPn71qkzGPtu/Xv WXUHncVIxqUabom5xlwGroICeqvCuPRUzZcOeYCDl3NulJntg4AUmQ9OkLucTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700692088; a=rsa-sha256; cv=none; b=HUBvEa5N0fefG0385nFL5c8WvDVRFx6+mhaQgaNK5ziVUMpHejuWsCOIXw53pT6g3c74UW odANhp3M/ExkbKA3RlV3Yf1G10+Kjeamrv/Kf0ulLV2rSDIPAE5TNH5WOGIOoTWOSkhV07 EWxqpduYbTUc8eOz08HqS/Hp86/32JqrBRF9RzscE8nlaFOLdSmUXVUREesHpTWDSGlqvv uk9rSn55L3JJPLGhuE09g/M+nF52zabfxMsf6Nj5DSnywU0gQ2PZFGNS0E0KF7EzrIkrGN ZQlyGdg4yFHDHQDRjeKmsVf2MdDOYxsDVXuNAXHPpknA6StX+gEbV6ZI9D26yA== 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 4SbG934XNszcd4; Wed, 22 Nov 2023 22:28:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMMS7g6036770; Wed, 22 Nov 2023 22:28:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMMS7Bt036767; Wed, 22 Nov 2023 22:28:07 GMT (envelope-from git) Date: Wed, 22 Nov 2023 22:28:07 GMT Message-Id: <202311222228.3AMMS7Bt036767@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: 0a7139485ccb - main - Replace random sbuf_printf() with cheaper cat/putc. 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0a7139485ccb8192e7c7c6d93653da92bfcdc196 Auto-Submitted: auto-generated The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=0a7139485ccb8192e7c7c6d93653da92bfcdc196 commit 0a7139485ccb8192e7c7c6d93653da92bfcdc196 Author: Alexander Motin AuthorDate: 2023-11-22 22:27:17 +0000 Commit: Alexander Motin CommitDate: 2023-11-22 22:27:17 +0000 Replace random sbuf_printf() with cheaper cat/putc. --- sys/kern/kern_cons.c | 2 +- sys/kern/kern_exit.c | 8 ++++---- sys/kern/kern_fail.c | 12 ++++++------ sys/kern/kern_rctl.c | 16 ++++++++-------- sys/kern/kern_sig.c | 12 ++++++------ sys/kern/kern_sysctl.c | 4 ++-- sys/kern/kern_tslog.c | 12 ++++++------ sys/kern/sched_ule.c | 18 +++++++++--------- sys/kern/subr_blist.c | 6 +++--- sys/kern/subr_bus.c | 2 +- sys/kern/subr_prf.c | 14 +++++++------- sys/kern/subr_sleepqueue.c | 4 ++-- sys/kern/subr_stats.c | 6 +++--- sys/kern/subr_witness.c | 6 +++--- sys/kern/tty_info.c | 6 +++--- sys/kern/vfs_mountroot.c | 12 ++++++------ 16 files changed, 70 insertions(+), 70 deletions(-) diff --git a/sys/kern/kern_cons.c b/sys/kern/kern_cons.c index 24952561449b..a8f6b689bff7 100644 --- a/sys/kern/kern_cons.c +++ b/sys/kern/kern_cons.c @@ -333,7 +333,7 @@ sysctl_kern_console(SYSCTL_HANDLER_ARGS) sbuf_clear(sb); STAILQ_FOREACH(cnd, &cn_devlist, cnd_next) sbuf_printf(sb, "%s,", cnd->cnd_cn->cn_name); - sbuf_printf(sb, "/"); + sbuf_putc(sb, '/'); SET_FOREACH(list, cons_set) { cp = *list; if (cp->cn_name[0] != '\0') diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index f9445a481d92..112f9c7b0f33 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -804,13 +804,13 @@ kern_abort2(struct thread *td, const char *why, int nargs, void **uargs) if (error < 0) goto out; } else { - sbuf_printf(sb, "(null)"); + sbuf_cat(sb, "(null)"); } if (nargs > 0) { - sbuf_printf(sb, "("); + sbuf_putc(sb, '('); for (i = 0;i < nargs; i++) sbuf_printf(sb, "%s%p", i == 0 ? "" : ", ", uargs[i]); - sbuf_printf(sb, ")"); + sbuf_putc(sb, ')'); } /* * Final stage: arguments were proper, string has been @@ -821,7 +821,7 @@ kern_abort2(struct thread *td, const char *why, int nargs, void **uargs) out: if (sig == SIGKILL) { sbuf_trim(sb); - sbuf_printf(sb, " (Reason text inaccessible)"); + sbuf_cat(sb, " (Reason text inaccessible)"); } sbuf_cat(sb, "\n"); sbuf_finish(sb); diff --git a/sys/kern/kern_fail.c b/sys/kern/kern_fail.c index f60500b22ef4..883b664aef0d 100644 --- a/sys/kern/kern_fail.c +++ b/sys/kern/kern_fail.c @@ -721,31 +721,31 @@ fail_point_get(struct fail_point *fp, struct sbuf *sb, if (ent->fe_pid != NO_PID) sbuf_printf(sb, "[pid %d]", ent->fe_pid); if (TAILQ_NEXT(ent, fe_entries)) - sbuf_printf(sb, "->"); + sbuf_cat(sb, "->"); } if (!printed_entry_count) - sbuf_printf(sb, "off"); + sbuf_cat(sb, "off"); fp_free(fp_entry_cpy); if (verbose) { #ifdef STACK /* Print number of sleeping threads. queue=0 is the argument * used by msleep when sending our threads to sleep. */ - sbuf_printf(sb, "\nsleeping_thread_stacks = {\n"); + sbuf_cat(sb, "\nsleeping_thread_stacks = {\n"); sleepq_sbuf_print_stacks(sb, FP_SLEEP_CHANNEL(fp), 0, &cnt_sleeping); - sbuf_printf(sb, "},\n"); + sbuf_cat(sb, "},\n"); #endif sbuf_printf(sb, "sleeping_thread_count = %d,\n", cnt_sleeping); #ifdef STACK - sbuf_printf(sb, "paused_thread_stacks = {\n"); + sbuf_cat(sb, "paused_thread_stacks = {\n"); sleepq_sbuf_print_stacks(sb, FP_PAUSE_CHANNEL(fp), 0, &cnt_sleeping); - sbuf_printf(sb, "},\n"); + sbuf_cat(sb, "},\n"); #endif sbuf_printf(sb, "paused_thread_count = %d\n", cnt_sleeping); diff --git a/sys/kern/kern_rctl.c b/sys/kern/kern_rctl.c index 8e65fabeddc9..f6f781ade697 100644 --- a/sys/kern/kern_rctl.c +++ b/sys/kern/kern_rctl.c @@ -580,7 +580,7 @@ rctl_enforce(struct proc *p, int resource, uint64_t amount) continue; } sbuf_new(&sb, buf, RCTL_LOG_BUFSIZE, SBUF_FIXEDLEN); - sbuf_printf(&sb, "rule="); + sbuf_cat(&sb, "rule="); rctl_rule_to_sbuf(&sb, rule); sbuf_printf(&sb, " pid=%d ruid=%d jail=%s", p->p_pid, p->p_ucred->cr_ruid, @@ -1484,28 +1484,28 @@ rctl_rule_to_sbuf(struct sbuf *sb, const struct rctl_rule *rule) switch (rule->rr_subject_type) { case RCTL_SUBJECT_TYPE_PROCESS: if (rule->rr_subject.rs_proc == NULL) - sbuf_printf(sb, ":"); + sbuf_putc(sb, ':'); else sbuf_printf(sb, "%d:", rule->rr_subject.rs_proc->p_pid); break; case RCTL_SUBJECT_TYPE_USER: if (rule->rr_subject.rs_uip == NULL) - sbuf_printf(sb, ":"); + sbuf_putc(sb, ':'); else sbuf_printf(sb, "%d:", rule->rr_subject.rs_uip->ui_uid); break; case RCTL_SUBJECT_TYPE_LOGINCLASS: if (rule->rr_subject.rs_loginclass == NULL) - sbuf_printf(sb, ":"); + sbuf_putc(sb, ':'); else sbuf_printf(sb, "%s:", rule->rr_subject.rs_loginclass->lc_name); break; case RCTL_SUBJECT_TYPE_JAIL: if (rule->rr_subject.rs_prison_racct == NULL) - sbuf_printf(sb, ":"); + sbuf_putc(sb, ':'); else sbuf_printf(sb, "%s:", rule->rr_subject.rs_prison_racct->prr_name); @@ -1697,7 +1697,7 @@ rctl_get_rules_callback(struct racct *racct, void *arg2, void *arg3) if (!rctl_rule_matches(link->rrl_rule, filter)) continue; rctl_rule_to_sbuf(sb, link->rrl_rule); - sbuf_printf(sb, ","); + sbuf_putc(sb, ','); } } @@ -1754,7 +1754,7 @@ sys_rctl_get_rules(struct thread *td, struct rctl_get_rules_args *uap) if (!rctl_rule_matches(link->rrl_rule, filter)) continue; rctl_rule_to_sbuf(sb, link->rrl_rule); - sbuf_printf(sb, ","); + sbuf_putc(sb, ','); } RACCT_UNLOCK(); } @@ -1847,7 +1847,7 @@ sys_rctl_get_limits(struct thread *td, struct rctl_get_limits_args *uap) LIST_FOREACH(link, &filter->rr_subject.rs_proc->p_racct->r_rule_links, rrl_next) { rctl_rule_to_sbuf(sb, link->rrl_rule); - sbuf_printf(sb, ","); + sbuf_putc(sb, ','); } RACCT_UNLOCK(); if (sbuf_error(sb) == ENOMEM) { diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index c847783cd3da..8726c35e15a5 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -3971,7 +3971,7 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, } getcredhostname(td->td_ucred, hostname, MAXHOSTNAMELEN); - sbuf_printf(&sb, "%s", hostname); + sbuf_cat(&sb, hostname); break; case 'I': /* autoincrementing index */ if (indexpos != -1) { @@ -4010,9 +4010,9 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td, sx_sunlock(&corefilename_lock); free(hostname, M_TEMP); if (compress == COMPRESS_GZIP) - sbuf_printf(&sb, GZIP_SUFFIX); + sbuf_cat(&sb, GZIP_SUFFIX); else if (compress == COMPRESS_ZSTD) - sbuf_printf(&sb, ZSTD_SUFFIX); + sbuf_cat(&sb, ZSTD_SUFFIX); if (sbuf_error(&sb) != 0) { log(LOG_ERR, "pid %ld (%s), uid (%lu): corename is too " "long\n", (long)pid, comm, (u_long)uid); @@ -4168,10 +4168,10 @@ coredump(struct thread *td) sb = sbuf_new_auto(); if (vn_fullpath_global(p->p_textvp, &fullpath, &freepath) != 0) goto out2; - sbuf_printf(sb, "comm=\""); + sbuf_cat(sb, "comm=\""); devctl_safe_quote_sb(sb, fullpath); free(freepath, M_TEMP); - sbuf_printf(sb, "\" core=\""); + sbuf_cat(sb, "\" core=\""); /* * We can't lookup core file vp directly. When we're replacing a core, and @@ -4190,7 +4190,7 @@ coredump(struct thread *td) sbuf_putc(sb, '/'); } devctl_safe_quote_sb(sb, name); - sbuf_printf(sb, "\""); + sbuf_putc(sb, '"'); if (sbuf_finish(sb) == 0) devctl_notify("kernel", "signal", "coredump", sbuf_data(sb)); out2: diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index a4bfe8e21aed..8baa78951501 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -421,9 +421,9 @@ sysctl_warn_reuse(const char *func, struct sysctl_oid *leaf) sbuf_printf(&sb, "%s%.*s", nodes[i]->oid_name, i != (rc - 1), "."); } else { - sbuf_printf(&sb, "%s", leaf->oid_name); + sbuf_cat(&sb, leaf->oid_name); } - sbuf_printf(&sb, ")!\n"); + sbuf_cat(&sb, ")!\n"); (void)sbuf_finish(&sb); } diff --git a/sys/kern/kern_tslog.c b/sys/kern/kern_tslog.c index a22370b85b02..7b0847d5d187 100644 --- a/sys/kern/kern_tslog.c +++ b/sys/kern/kern_tslog.c @@ -110,23 +110,23 @@ sysctl_debug_tslog(SYSCTL_HANDLER_ARGS) (unsigned long long)timestamps[i].tsc); switch (timestamps[i].type) { case TS_ENTER: - sbuf_printf(sb, " ENTER"); + sbuf_cat(sb, " ENTER"); break; case TS_EXIT: - sbuf_printf(sb, " EXIT"); + sbuf_cat(sb, " EXIT"); break; case TS_THREAD: - sbuf_printf(sb, " THREAD"); + sbuf_cat(sb, " THREAD"); break; case TS_EVENT: - sbuf_printf(sb, " EVENT"); + sbuf_cat(sb, " EVENT"); break; } sbuf_printf(sb, " %s", timestamps[i].f ? timestamps[i].f : "(null)"); if (timestamps[i].s) sbuf_printf(sb, " %s\n", timestamps[i].s); else - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } error = sbuf_finish(sb); sbuf_delete(sb); @@ -210,7 +210,7 @@ sysctl_debug_tslog_user(SYSCTL_HANDLER_ARGS) procs[pid].execname : ""); sbuf_printf(sb, " \"%s\"", procs[pid].namei ? procs[pid].namei : ""); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } error = sbuf_finish(sb); sbuf_delete(sb); diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index 20515f4e430b..ebd7139fa612 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -3229,25 +3229,25 @@ sysctl_kern_sched_topology_spec_internal(struct sbuf *sb, struct cpu_group *cg, for (i = cg->cg_first; i <= cg->cg_last; i++) { if (CPU_ISSET(i, &cg->cg_mask)) { if (!first) - sbuf_printf(sb, ", "); + sbuf_cat(sb, ", "); else first = FALSE; sbuf_printf(sb, "%d", i); } } - sbuf_printf(sb, "\n"); + sbuf_cat(sb, "\n"); if (cg->cg_flags != 0) { sbuf_printf(sb, "%*s ", indent, ""); if ((cg->cg_flags & CG_FLAG_HTT) != 0) - sbuf_printf(sb, "HTT group"); + sbuf_cat(sb, "HTT group"); if ((cg->cg_flags & CG_FLAG_THREAD) != 0) - sbuf_printf(sb, "THREAD group"); + sbuf_cat(sb, "THREAD group"); if ((cg->cg_flags & CG_FLAG_SMT) != 0) - sbuf_printf(sb, "SMT group"); + sbuf_cat(sb, "SMT group"); if ((cg->cg_flags & CG_FLAG_NODE) != 0) - sbuf_printf(sb, "NUMA node"); - sbuf_printf(sb, "\n"); + sbuf_cat(sb, "NUMA node"); + sbuf_cat(sb, "\n"); } if (cg->cg_children > 0) { @@ -3277,9 +3277,9 @@ sysctl_kern_sched_topology_spec(SYSCTL_HANDLER_ARGS) if (topo == NULL) return (ENOMEM); - sbuf_printf(topo, "\n"); + sbuf_cat(topo, "\n"); err = sysctl_kern_sched_topology_spec_internal(topo, cpu_top, 1); - sbuf_printf(topo, "\n"); + sbuf_cat(topo, "\n"); if (err == 0) { err = sbuf_finish(topo); diff --git a/sys/kern/subr_blist.c b/sys/kern/subr_blist.c index 9b04518010e3..ac9d73ce3c6c 100644 --- a/sys/kern/subr_blist.c +++ b/sys/kern/subr_blist.c @@ -479,9 +479,9 @@ dump_gap_stats(const struct gap_stats *stats, struct sbuf *s) sbuf_printf(s, "largest free range: %jd\n", (intmax_t)stats->max); sbuf_printf(s, "average maximal free range size: %jd\n", (intmax_t)stats->avg); - sbuf_printf(s, "number of maximal free ranges of different sizes:\n"); - sbuf_printf(s, " count | size range\n"); - sbuf_printf(s, " ----- | ----------\n"); + sbuf_cat(s, "number of maximal free ranges of different sizes:\n"); + sbuf_cat(s, " count | size range\n"); + sbuf_cat(s, " ----- | ----------\n"); for (i = 0; i < stats->max_bucket; i++) { if (stats->histo[i] != 0) { sbuf_printf(s, "%20jd | ", diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 8caab20cf709..648394abd026 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -5332,7 +5332,7 @@ device_get_path(device_t dev, const char *locator, struct sbuf *sb) KASSERT(sb != NULL, ("sb is NULL")); parent = device_get_parent(dev); if (parent == NULL) { - error = sbuf_printf(sb, "/"); + error = sbuf_putc(sb, '/'); } else { error = BUS_GET_DEVICE_PATH(parent, dev, locator, sb); if (error == 0) { diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index 5c06bf8270f6..5136ece359e5 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -1240,24 +1240,24 @@ sbuf_hexdump(struct sbuf *sb, const void *ptr, int length, const char *hdr, if (k < length) sbuf_printf(sb, "%c%02x", delim, cp[k]); else - sbuf_printf(sb, " "); + sbuf_cat(sb, " "); } } if ((flags & HD_OMIT_CHARS) == 0) { - sbuf_printf(sb, " |"); + sbuf_cat(sb, " |"); for (j = 0; j < cols; j++) { k = i + j; if (k >= length) - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); else if (cp[k] >= ' ' && cp[k] <= '~') - sbuf_printf(sb, "%c", cp[k]); + sbuf_putc(sb, cp[k]); else - sbuf_printf(sb, "."); + sbuf_putc(sb, '.'); } - sbuf_printf(sb, "|"); + sbuf_putc(sb, '|'); } - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } } diff --git a/sys/kern/subr_sleepqueue.c b/sys/kern/subr_sleepqueue.c index bbbf753e3df0..15dbf396c557 100644 --- a/sys/kern/subr_sleepqueue.c +++ b/sys/kern/subr_sleepqueue.c @@ -1281,7 +1281,7 @@ sleepq_sbuf_print_stacks(struct sbuf *sb, const void *wchan, int queue, sbuf_finish(td_infos[i]); sbuf_printf(sb, "--- thread %s: ---\n", sbuf_data(td_infos[i])); stack_sbuf_print(sb, st[i]); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); error = sbuf_error(sb); if (error == 0) @@ -1426,7 +1426,7 @@ dump_sleepq_prof_stats(SYSCTL_HANDLER_ARGS) if (error != 0) return (error); sb = sbuf_new_for_sysctl(NULL, NULL, SLEEPQ_SBUFSIZE, req); - sbuf_printf(sb, "\nwmesg\tcount\n"); + sbuf_cat(sb, "\nwmesg\tcount\n"); enabled = prof_enabled; mtx_lock_spin(&sleepq_prof_lock); prof_enabled = 0; diff --git a/sys/kern/subr_stats.c b/sys/kern/subr_stats.c index 0e7d2fad5f68..6e8ec44681e7 100644 --- a/sys/kern/subr_stats.c +++ b/sys/kern/subr_stats.c @@ -2077,7 +2077,7 @@ stats_v1_itercb_tostr_freeform(struct statsblobv1 *sb, struct voi *v, "data_off=%hu", vs->flags, vsd_dtype2name[vs->dtype], vs->dsz, vs->data_off); - sbuf_printf(buf, "\n\t\t\tvoistatdata: "); + sbuf_cat(buf, "\n\t\t\tvoistatdata: "); stats_voistatdata_tostr(vsd, v->dtype, vs->dtype, vs->dsz, sctx->fmt, buf, dump); } @@ -2124,7 +2124,7 @@ stats_v1_itercb_tostr_json(struct statsblobv1 *sb, struct voi *v, struct voistat sbuf_printf(buf, "\"[%d]\":{\"id\":%d", ctx->vslot, v->id); if (v->id < 0) { - sbuf_printf(buf, "},"); + sbuf_cat(buf, "},"); return; } @@ -2156,7 +2156,7 @@ stats_v1_itercb_tostr_json(struct statsblobv1 *sb, struct voi *v, struct voistat if (dump) { sbuf_printf(buf, "\"[%hhd]\":", ctx->vsslot); if (vs->stype < 0) { - sbuf_printf(buf, "{\"stype\":-1},"); + sbuf_cat(buf, "{\"stype\":-1},"); return; } sbuf_printf(buf, "{\"stype\":\"%s\",\"errs\":%hu,\"flags\":%hu," diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c index 5b9f8afd9565..aa189e8cd057 100644 --- a/sys/kern/subr_witness.c +++ b/sys/kern/subr_witness.c @@ -2759,7 +2759,7 @@ restart: tmp_w1->w_name, tmp_w1->w_class->lc_name, tmp_w2->w_name, tmp_w2->w_class->lc_name); stack_sbuf_print(sb, &tmp_data1->wlod_stack); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } if (data2 && data2 != data1) { sbuf_printf(sb, @@ -2767,7 +2767,7 @@ restart: tmp_w2->w_name, tmp_w2->w_class->lc_name, tmp_w1->w_name, tmp_w1->w_class->lc_name); stack_sbuf_print(sb, &tmp_data2->wlod_stack); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } } } @@ -2905,7 +2905,7 @@ sysctl_debug_witness_fullgraph(SYSCTL_HANDLER_ARGS) sb = sbuf_new_for_sysctl(NULL, NULL, FULLGRAPH_SBUF_SIZE, req); if (sb == NULL) return (ENOMEM); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); mtx_lock_spin(&w_mtx); STAILQ_FOREACH(w, &w_all, w_list) diff --git a/sys/kern/tty_info.c b/sys/kern/tty_info.c index 15ba5995cea9..f54fc3a30f5e 100644 --- a/sys/kern/tty_info.c +++ b/sys/kern/tty_info.c @@ -309,17 +309,17 @@ tty_info(struct tty *tp) load / 100, load % 100); if (tp->t_session == NULL) { - sbuf_printf(&sb, "not a controlling terminal\n"); + sbuf_cat(&sb, "not a controlling terminal\n"); goto out; } if (tp->t_pgrp == NULL) { - sbuf_printf(&sb, "no foreground process group\n"); + sbuf_cat(&sb, "no foreground process group\n"); goto out; } PGRP_LOCK(tp->t_pgrp); if (LIST_EMPTY(&tp->t_pgrp->pg_members)) { PGRP_UNLOCK(tp->t_pgrp); - sbuf_printf(&sb, "empty foreground process group\n"); + sbuf_cat(&sb, "empty foreground process group\n"); goto out; } diff --git a/sys/kern/vfs_mountroot.c b/sys/kern/vfs_mountroot.c index 7a429e6392b5..569f8560788c 100644 --- a/sys/kern/vfs_mountroot.c +++ b/sys/kern/vfs_mountroot.c @@ -895,18 +895,18 @@ vfs_mountroot_conf0(struct sbuf *sb) char *s, *tok, *mnt, *opt; int error; - sbuf_printf(sb, ".onfail panic\n"); + sbuf_cat(sb, ".onfail panic\n"); sbuf_printf(sb, ".timeout %d\n", root_mount_timeout); if (boothowto & RB_ASKNAME) - sbuf_printf(sb, ".ask\n"); + sbuf_cat(sb, ".ask\n"); #ifdef ROOTDEVNAME if (boothowto & RB_DFLTROOT) sbuf_printf(sb, "%s\n", ROOTDEVNAME); #endif if (boothowto & RB_CDROM) { - sbuf_printf(sb, "cd9660:/dev/cd0 ro\n"); - sbuf_printf(sb, ".timeout 0\n"); - sbuf_printf(sb, "cd9660:/dev/cd1 ro\n"); + sbuf_cat(sb, "cd9660:/dev/cd0 ro\n"); + sbuf_cat(sb, ".timeout 0\n"); + sbuf_cat(sb, "cd9660:/dev/cd1 ro\n"); sbuf_printf(sb, ".timeout %d\n", root_mount_timeout); } s = kern_getenv("vfs.root.mountfrom"); @@ -933,7 +933,7 @@ vfs_mountroot_conf0(struct sbuf *sb) sbuf_printf(sb, "%s\n", ROOTDEVNAME); #endif if (!(boothowto & RB_ASKNAME)) - sbuf_printf(sb, ".ask\n"); + sbuf_cat(sb, ".ask\n"); } static int From nobody Wed Nov 22 22:31:11 2023 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 4SbGDc0Gkyz51Gm5; Wed, 22 Nov 2023 22:31:12 +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 4SbGDc01F2z4nRr; Wed, 22 Nov 2023 22:31:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700692272; 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=ZPIOneLP5Z+wHAsuVhdvAaH6TwY1kF7Os0zTEjKv1Ek=; b=Gz0dEVPNIlAT+jCvO/XGTp6H02OXbzxkXfBeN52knr3U8nsSroLBqg4mSe3g1+XMVoA5vW SZMmDvTT5axOUd1IpLIlGW099kp5s6LbP4isnrtQMPYUH9fIjfXhLW628yOzXcrrb4NEkx SPpwI88SAhTfszffMBMAkXV1cHkASfkLhBImvilc4jFaZbzG5FRwY07NOT6nqeY3QuwV0P NP2RvmE99XY22+aoT9XOJzcgrMI+w2H6PCDwpOMwX6kWNcPNk0hjYhTEaXQqBXY+u0ZQtV jb2TkiIK9OOPTjugFCssAm5oeZYvblOo31V+77PE6n0UGWDivCsXQlCKJpjwKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700692272; 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=ZPIOneLP5Z+wHAsuVhdvAaH6TwY1kF7Os0zTEjKv1Ek=; b=g2FLR2zEt7y4OT6zztDw9G2ETXrdm1kzMMRTb2WHTpsb5z7M16miJPx/lNBUzCEQqttzQV ZXNIsk5QsyQQl6zwBcuP8/WtL3BjWu5KJZrzoODzHvXfqLt4rzQFnLwoyls5VqEbiBXBec tvSWFd7tntUxf8MIpY0LnfuCxVtU6rjrAjphPK8UJsaRQqpsuxZNabkRt5PK1GE+5azMLE um9OotBtkg7qZTZ/aMyIIjidVk87dSKjK4XbOu4H6B3hZ2CIyaQMpCL+jTsWwVDOEKDbJO rUK/wm+2Y9KNQeF2iek5O24mE6l4XPIcEURlrk6VzjOSpgbNP1WTIxJCaOhANQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700692272; a=rsa-sha256; cv=none; b=K9D25EGEyPnKGD/eRFezT/tkwYZB6Oju91T9KLX4yyjgBtSqNrc+v3is8vVUf370hsqigM 7YYSEFZ/SyNA0SA/biyGNpZkBSJWTdeJoq6ARKTeRANO1I/hWMRa7GuXqDF11fhXwAZYUD NJP3f73oBiYKq38IJ2FEYU83zhdieex8YjCy+eWB5g7jqRcyiPgkmzA5OEbX1lEA0HXI/B MvTGuLl/aungimwAU4HnOkMoJFn1bVhbm2zaqrF+JlE9O7RtmIxf/iM7o3/fCj1DUq3A0A vH/7xtd/8+ksGdDCqW2gTjaVgPSZgJmLUWGBh7GKs8y3rCt3BVCqPSG18p4KAw== 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 4SbGDb5tk1zcg8; Wed, 22 Nov 2023 22:31:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMMVB6t050073; Wed, 22 Nov 2023 22:31:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMMVB1M050070; Wed, 22 Nov 2023 22:31:11 GMT (envelope-from git) Date: Wed, 22 Nov 2023 22:31:11 GMT Message-Id: <202311222231.3AMMVB1M050070@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: c56f45f2a9da - main - bitstring: Support large bit strings. 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: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c56f45f2a9da7d989b79fd6c34b63100609ff9ae Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c56f45f2a9da7d989b79fd6c34b63100609ff9ae commit c56f45f2a9da7d989b79fd6c34b63100609ff9ae Author: Dag-Erling Smørgrav AuthorDate: 2023-11-22 22:30:03 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2023-11-22 22:30:03 +0000 bitstring: Support large bit strings. Replace int with either size_t or ssize_t (depending on context) in order to support bit strings up to SSIZE_MAX bits in length. Since some of the arguments that need to change type are pointers, we must resort to light preprocessor trickery to avoid breaking existing code. MFC after: 3 weeks Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D42698 --- share/man/man3/bitstring.3 | 50 ++++++------- sys/sys/bitstring.h | 158 +++++++++++++++++------------------------ tests/sys/sys/bitstring_test.c | 90 ++++++++++++++++++++++- 3 files changed, 181 insertions(+), 117 deletions(-) diff --git a/share/man/man3/bitstring.3 b/share/man/man3/bitstring.3 index ac87ac6d9124..808cd48f384b 100644 --- a/share/man/man3/bitstring.3 +++ b/share/man/man3/bitstring.3 @@ -57,7 +57,7 @@ .\" .\" @(#)bitstring.3 8.1 (Berkeley) 7/19/93 .\" -.Dd August 8, 2021 +.Dd November 21, 2023 .Dt BITSTRING 3 .Os .Sh NAME @@ -85,49 +85,49 @@ .Sh SYNOPSIS .In bitstring.h .Ft bitstr_t * -.Fn bit_alloc "int nbits" +.Fn bit_alloc "size_t nbits" .Ft void -.Fn bit_decl "bitstr_t *name" "int nbits" +.Fn bit_decl "bitstr_t *name" "size_t nbits" .Ft void -.Fn bit_clear "bitstr_t *name" "int bit" +.Fn bit_clear "bitstr_t *name" "size_t bit" .Ft void -.Fn bit_count "bitstr_t *name" "int count" "int nbits" "int *value" +.Fn bit_count "bitstr_t *name" "size_t count" "size_t nbits" "ssize_t *value" .Ft void -.Fn bit_ffc "bitstr_t *name" "int nbits" "int *value" +.Fn bit_ffc "bitstr_t *name" "size_t nbits" "ssize_t *value" .Ft void -.Fn bit_ffs "bitstr_t *name" "int nbits" "int *value" +.Fn bit_ffs "bitstr_t *name" "size_t nbits" "ssize_t *value" .Ft void -.Fn bit_ffc_at "bitstr_t *name" "int start" "int nbits" "int *value" +.Fn bit_ffc_at "bitstr_t *name" "size_t start" "size_t nbits" "ssize_t *value" .Ft void -.Fn bit_ffs_at "bitstr_t *name" "int start" "int nbits" "int *value" +.Fn bit_ffs_at "bitstr_t *name" "size_t start" "size_t nbits" "ssize_t *value" .Ft void -.Fn bit_ff_at "bitstr_t *name" "int start" "int nbits" "int match" "int *value" +.Fn bit_ff_at "bitstr_t *name" "size_t start" "size_t nbits" "int match" "ssize_t *value" .Ft void -.Fn bit_ffc_area "bitstr_t *name" "int nbits" "int size" "int *value" +.Fn bit_ffc_area "bitstr_t *name" "size_t nbits" "size_t size" "ssize_t *value" .Ft void -.Fn bit_ffs_area "bitstr_t *name" "int nbits" "int size" "int *value" +.Fn bit_ffs_area "bitstr_t *name" "size_t nbits" "size_t size" "ssize_t *value" .Ft void -.Fn bit_ffc_area_at "bitstr_t *name" "int start" "int nbits" "int size" "int *value" +.Fn bit_ffc_area_at "bitstr_t *name" "size_t start" "size_t nbits" "size_t size" "ssize_t *value" .Ft void -.Fn bit_ffs_area_at "bitstr_t *name" "int start" "int nbits" "int size" "int *value" +.Fn bit_ffs_area_at "bitstr_t *name" "size_t start" "size_t nbits" "size_t size" "ssize_t *value" .Ft void -.Fn bit_ff_area_at "bitstr_t *name" "int start" "int nbits" "int size" "int match" "int *value" -.Fn bit_foreach "bitstr_t *name" "int nbits" "int var" -.Fn bit_foreach_at "bitstr_t *name" "int start" "int nbits" "int var" -.Fn bit_foreach_unset "bitstr_t *name" "int nbits" "int var" -.Fn bit_foreach_unset_at "bitstr_t *name" "int start" "int nbits" "int var" +.Fn bit_ff_area_at "bitstr_t *name" "size_t start" "size_t nbits" "size_t size" "int match" "ssize_t *value" +.Fn bit_foreach "bitstr_t *name" "size_t nbits" "size_t var" +.Fn bit_foreach_at "bitstr_t *name" "size_t start" "size_t nbits" "size_t var" +.Fn bit_foreach_unset "bitstr_t *name" "size_t nbits" "size_t var" +.Fn bit_foreach_unset_at "bitstr_t *name" "size_t start" "size_t nbits" "size_t var" .Ft void -.Fn bit_nclear "bitstr_t *name" "int start" "int stop" +.Fn bit_nclear "bitstr_t *name" "size_t start" "size_t stop" .Ft void -.Fn bit_nset "bitstr_t *name" "int start" "int stop" +.Fn bit_nset "bitstr_t *name" "size_t start" "size_t stop" .Ft int -.Fn bit_ntest "bitstr_t *name" "int start" "int stop" "int match" +.Fn bit_ntest "bitstr_t *name" "size_t start" "size_t stop" "int match" .Ft void -.Fn bit_set "bitstr_t *name" "int bit" +.Fn bit_set "bitstr_t *name" "size_t bit" .Ft int -.Fn bitstr_size "int nbits" +.Fn bitstr_size "size_t nbits" .Ft int -.Fn bit_test "bitstr_t *name" "int bit" +.Fn bit_test "bitstr_t *name" "size_t bit" .Sh DESCRIPTION These macros operate on strings of bits. .Pp diff --git a/sys/sys/bitstring.h b/sys/sys/bitstring.h index 127de2ebc419..8a976962dd36 100644 --- a/sys/sys/bitstring.h +++ b/sys/sys/bitstring.h @@ -75,35 +75,33 @@ typedef unsigned long bitstr_t; #define _BITSTR_MASK (~0UL) #define _BITSTR_BITS (sizeof(bitstr_t) * 8) -#ifdef roundup2 -#define _bit_roundup2 roundup2 -#else -#define _bit_roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */ -#endif +/* round up x to the next multiple of y if y is a power of two */ +#define _bit_roundup2(x, y) \ + (((size_t)(x) + (y) - 1) & ~((size_t)(y) - 1)) /* bitstr_t in bit string containing the bit. */ -static inline int -_bit_idx(int _bit) +static inline size_t +_bit_idx(size_t _bit) { return (_bit / _BITSTR_BITS); } /* bit number within bitstr_t at _bit_idx(_bit). */ -static inline int -_bit_offset(int _bit) +static inline size_t +_bit_offset(size_t _bit) { return (_bit % _BITSTR_BITS); } /* Mask for the bit within its long. */ static inline bitstr_t -_bit_mask(int _bit) +_bit_mask(size_t _bit) { return (1UL << _bit_offset(_bit)); } static inline bitstr_t -_bit_make_mask(int _start, int _stop) +_bit_make_mask(size_t _start, size_t _stop) { return ((_BITSTR_MASK << _bit_offset(_start)) & (_BITSTR_MASK >> (_BITSTR_BITS - _bit_offset(_stop) - 1))); @@ -111,18 +109,18 @@ _bit_make_mask(int _start, int _stop) /*----------------------------- Public Interface -----------------------------*/ /* Number of bytes allocated for a bit string of nbits bits */ -#define bitstr_size(_nbits) (_bit_roundup2(_nbits, _BITSTR_BITS) / 8) +#define bitstr_size(_nbits) (_bit_roundup2((_nbits), _BITSTR_BITS) / 8) /* Allocate a bit string initialized with no bits set. */ #ifdef _KERNEL static inline bitstr_t * -bit_alloc(int _nbits, struct malloc_type *type, int flags) +bit_alloc(size_t _nbits, struct malloc_type *type, int flags) { return ((bitstr_t *)malloc(bitstr_size(_nbits), type, flags | M_ZERO)); } #else static inline bitstr_t * -bit_alloc(int _nbits) +bit_alloc(size_t _nbits) { return ((bitstr_t *)calloc(bitstr_size(_nbits), 1)); } @@ -134,28 +132,28 @@ bit_alloc(int _nbits) /* Is bit N of bit string set? */ static inline int -bit_test(const bitstr_t *_bitstr, int _bit) +bit_test(const bitstr_t *_bitstr, size_t _bit) { return ((_bitstr[_bit_idx(_bit)] & _bit_mask(_bit)) != 0); } /* Set bit N of bit string. */ static inline void -bit_set(bitstr_t *_bitstr, int _bit) +bit_set(bitstr_t *_bitstr, size_t _bit) { _bitstr[_bit_idx(_bit)] |= _bit_mask(_bit); } /* clear bit N of bit string name */ static inline void -bit_clear(bitstr_t *_bitstr, int _bit) +bit_clear(bitstr_t *_bitstr, size_t _bit) { _bitstr[_bit_idx(_bit)] &= ~_bit_mask(_bit); } /* Are bits in [start ... stop] in bit string all 0 or all 1? */ static inline int -bit_ntest(const bitstr_t *_bitstr, int _start, int _stop, int _match) +bit_ntest(const bitstr_t *_bitstr, size_t _start, size_t _stop, int _match) { const bitstr_t *_stopbitstr; bitstr_t _mask; @@ -183,7 +181,7 @@ bit_ntest(const bitstr_t *_bitstr, int _start, int _stop, int _match) /* Set bits start ... stop inclusive in bit string. */ static inline void -bit_nset(bitstr_t *_bitstr, int _start, int _stop) +bit_nset(bitstr_t *_bitstr, size_t _start, size_t _stop) { bitstr_t *_stopbitstr; @@ -206,7 +204,7 @@ bit_nset(bitstr_t *_bitstr, int _start, int _stop) /* Clear bits start ... stop inclusive in bit string. */ static inline void -bit_nclear(bitstr_t *_bitstr, int _start, int _stop) +bit_nclear(bitstr_t *_bitstr, size_t _start, size_t _stop) { bitstr_t *_stopbitstr; @@ -228,20 +226,17 @@ bit_nclear(bitstr_t *_bitstr, int _start, int _stop) } /* Find the first '_match'-bit in bit string at or after bit start. */ -static inline void -bit_ff_at(bitstr_t *_bitstr, int _start, int _nbits, int _match, - int *_result) +static inline ssize_t +bit_ff_at_(bitstr_t *_bitstr, size_t _start, size_t _nbits, int _match) { bitstr_t *_curbitstr; bitstr_t *_stopbitstr; bitstr_t _mask; bitstr_t _test; - int _value; + ssize_t _value; - if (_start >= _nbits || _nbits <= 0) { - *_result = -1; - return; - } + if (_start >= _nbits || _nbits <= 0) + return (-1); _curbitstr = _bitstr + _bit_idx(_start); _stopbitstr = _bitstr + _bit_idx(_nbits - 1); @@ -255,51 +250,40 @@ bit_ff_at(bitstr_t *_bitstr, int _start, int _nbits, int _match, _value = ((_curbitstr - _bitstr) * _BITSTR_BITS) + ffsl(_test) - 1; if (_test == 0 || - (_bit_offset(_nbits) != 0 && _value >= _nbits)) + (_bit_offset(_nbits) != 0 && (size_t)_value >= _nbits)) _value = -1; - *_result = _value; + return (_value); } +#define bit_ff_at(_bitstr, _start, _nbits, _match, _resultp) \ + *(_resultp) = bit_ff_at_((_bitstr), (_start), (_nbits), (_match)) /* Find the first bit set in bit string at or after bit start. */ -static inline void -bit_ffs_at(bitstr_t *_bitstr, int _start, int _nbits, int *_result) -{ - bit_ff_at(_bitstr, _start, _nbits, 1, _result); -} +#define bit_ffs_at(_bitstr, _start, _nbits, _resultp) \ + *(_resultp) = bit_ff_at_((_bitstr), (_start), (_nbits), 1) /* Find the first bit clear in bit string at or after bit start. */ -static inline void -bit_ffc_at(bitstr_t *_bitstr, int _start, int _nbits, int *_result) -{ - bit_ff_at(_bitstr, _start, _nbits, 0, _result); -} +#define bit_ffc_at(_bitstr, _start, _nbits, _resultp) \ + *(_resultp) = bit_ff_at_((_bitstr), (_start), (_nbits), 0) /* Find the first bit set in bit string. */ -static inline void -bit_ffs(bitstr_t *_bitstr, int _nbits, int *_result) -{ - bit_ffs_at(_bitstr, /*start*/0, _nbits, _result); -} +#define bit_ffs(_bitstr, _nbits, _resultp) \ + *(_resultp) = bit_ff_at_((_bitstr), 0, (_nbits), 1) /* Find the first bit clear in bit string. */ -static inline void -bit_ffc(bitstr_t *_bitstr, int _nbits, int *_result) -{ - bit_ffc_at(_bitstr, /*start*/0, _nbits, _result); -} +#define bit_ffc(_bitstr, _nbits, _resultp) \ + *(_resultp) = bit_ff_at_((_bitstr), 0, (_nbits), 0) /* Find contiguous sequence of at least size '_match'-bits at or after start */ -static inline void -bit_ff_area_at(bitstr_t *_bitstr, int _start, int _nbits, int _size, - int _match, int *_result) +static inline ssize_t +bit_ff_area_at_(bitstr_t *_bitstr, size_t _start, size_t _nbits, size_t _size, + int _match) { bitstr_t *_curbitstr, _mask, _test; - int _value, _last, _shft, _maxshft; + size_t _last, _shft, _maxshft; + ssize_t _value; - if (_start + _size > _nbits || _nbits <= 0) { - *_result = -1; - return; - } + if (_start + _size > _nbits || _nbits <= 0) + return (-1); _mask = _match ? _BITSTR_MASK : 0; _maxshft = _bit_idx(_size - 1) == 0 ? _size : (int)_BITSTR_BITS; @@ -330,48 +314,37 @@ bit_ff_area_at(bitstr_t *_bitstr, int _start, int _nbits, int _size, break; /* A solution here needs bits from the next word. */ } - *_result = _value; + return (_value); } +#define bit_ff_area_at(_bitstr, _start, _nbits, _size, _match, _resultp) \ + *(_resultp) = bit_ff_area_at_(_bitstr, _start, _nbits, _size, _match); /* Find contiguous sequence of at least size set bits at or after start */ -static inline void -bit_ffs_area_at(bitstr_t *_bitstr, int _start, int _nbits, int _size, - int *_result) -{ - bit_ff_area_at(_bitstr, _start, _nbits, _size, 1, _result); -} +#define bit_ffs_area_at(_bitstr, _start, _nbits, _size, _resultp) \ + *(_resultp) = bit_ff_area_at_((_bitstr), (_start), (_nbits), (_size), 1) /* Find contiguous sequence of at least size cleared bits at or after start */ -static inline void -bit_ffc_area_at(bitstr_t *_bitstr, int _start, int _nbits, int _size, - int *_result) -{ - bit_ff_area_at(_bitstr, _start, _nbits, _size, 0, _result); -} +#define bit_ffc_area_at(_bitstr, _start, _nbits, _size, _resultp) \ + *(_resultp) = bit_ff_area_at_((_bitstr), (_start), (_nbits), (_size), 0) /* Find contiguous sequence of at least size set bits in bit string */ -static inline void -bit_ffs_area(bitstr_t *_bitstr, int _nbits, int _size, int *_result) -{ - bit_ffs_area_at(_bitstr, /*start*/0, _nbits, _size, _result); -} +#define bit_ffs_area(_bitstr, _nbits, _size, _resultp) \ + *(_resultp) = bit_ff_area_at_((_bitstr), 0, (_nbits), (_size), 1) /* Find contiguous sequence of at least size cleared bits in bit string */ -static inline void -bit_ffc_area(bitstr_t *_bitstr, int _nbits, int _size, int *_result) -{ - bit_ffc_area_at(_bitstr, /*start*/0, _nbits, _size, _result); -} +#define bit_ffc_area(_bitstr, _nbits, _size, _resultp) \ + *(_resultp) = bit_ff_area_at_((_bitstr), 0, (_nbits), (_size), 0) /* Count the number of bits set in a bitstr of size _nbits at or after _start */ -static inline void -bit_count(bitstr_t *_bitstr, int _start, int _nbits, int *_result) +static inline ssize_t +bit_count_(bitstr_t *_bitstr, size_t _start, size_t _nbits) { bitstr_t *_curbitstr, mask; - int _value = 0, curbitstr_len; + size_t curbitstr_len; + ssize_t _value = 0; if (_start >= _nbits) - goto out; + return (0); _curbitstr = _bitstr + _bit_idx(_start); _nbits -= _BITSTR_BITS * _bit_idx(_start); @@ -383,6 +356,8 @@ bit_count(bitstr_t *_bitstr, int _start, int _nbits, int *_result) mask = _bit_make_mask(_start, _bit_offset(curbitstr_len - 1)); _value += __bitcountl(*_curbitstr & mask); _curbitstr++; + if (_nbits < _BITSTR_BITS) + return (_value); _nbits -= _BITSTR_BITS; } while (_nbits >= (int)_BITSTR_BITS) { @@ -395,23 +370,24 @@ bit_count(bitstr_t *_bitstr, int _start, int _nbits, int *_result) _value += __bitcountl(*_curbitstr & mask); } -out: - *_result = _value; + return (_value); } +#define bit_count(_bitstr, _start, _nbits, _resultp) \ + *(_resultp) = bit_count_((_bitstr), (_start), (_nbits)) /* Traverse all set bits, assigning each location in turn to iter */ #define bit_foreach_at(_bitstr, _start, _nbits, _iter) \ - for (bit_ffs_at((_bitstr), (_start), (_nbits), &(_iter)); \ + for ((_iter) = bit_ff_at_((_bitstr), (_start), (_nbits), 1); \ (_iter) != -1; \ - bit_ffs_at((_bitstr), (_iter) + 1, (_nbits), &(_iter))) + (_iter) = bit_ff_at_((_bitstr), (_iter) + 1, (_nbits), 1)) #define bit_foreach(_bitstr, _nbits, _iter) \ bit_foreach_at(_bitstr, /*start*/0, _nbits, _iter) /* Traverse all unset bits, assigning each location in turn to iter */ #define bit_foreach_unset_at(_bitstr, _start, _nbits, _iter) \ - for (bit_ffc_at((_bitstr), (_start), (_nbits), &(_iter)); \ + for ((_iter) = bit_ff_at_((_bitstr), (_start), (_nbits), 0); \ (_iter) != -1; \ - bit_ffc_at((_bitstr), (_iter) + 1, (_nbits), &(_iter))) + (_iter) = bit_ff_at_((_bitstr), (_iter) + 1, (_nbits), 0)) #define bit_foreach_unset(_bitstr, _nbits, _iter) \ bit_foreach_unset_at(_bitstr, /*start*/0, _nbits, _iter) diff --git a/tests/sys/sys/bitstring_test.c b/tests/sys/sys/bitstring_test.c index 0c214b9e67a7..a48042a4a063 100644 --- a/tests/sys/sys/bitstring_test.c +++ b/tests/sys/sys/bitstring_test.c @@ -1,5 +1,6 @@ /*- * Copyright (c) 2014 Spectra Logic Corporation + * Copyright (c) 2023 Klara, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,7 +32,7 @@ #include #include -#include +#include #include @@ -51,6 +52,7 @@ bitstring_run_heap_test(testfunc_t *test, int nbits) bitstr_t *bitstr = bit_alloc(nbits); test(bitstr, nbits, "heap"); + free(bitstr); } static void @@ -862,6 +864,91 @@ BITSTRING_TC_DEFINE(bit_foreach_unset_at) } } +/* + * Perform various tests on large bit strings. We can't simply add larger + * sizes to bitstring_runner as most of the existing tests are exhaustive + * and would take forever to run for large values of nbits. + * + * On 32-bit platforms, we use nbits = SSIZE_MAX (2147483647) bits, which + * is the largest we can hope to support; on 64-bit platforms, we use + * nbits = INT_MAX + 30 (2147483677), which is small enough to be + * practicable yet large enough to reveal arithmetic overflow bugs. + */ +ATF_TC_WITHOUT_HEAD(bitstr_large); +ATF_TC_BODY(bitstr_large, tc) +{ + size_t nbits = INT_MAX < SSIZE_MAX ? (size_t)INT_MAX + 30 : SSIZE_MAX; + size_t early = 5, late = nbits - 5; + ssize_t fc, fs; + bitstr_t *b; + + /* Check for overflow in size calculation */ + ATF_REQUIRE(nbits >= (size_t)INT_MAX); + ATF_REQUIRE(bitstr_size(nbits) >= nbits / 8); + + /* Allocate the bit string */ + ATF_REQUIRE(b = bit_alloc(nbits)); + + /* Check that we allocated enough */ + ATF_REQUIRE(malloc_usable_size(b) >= bitstr_size(nbits)); + + /* Check ffc, ffs on all-zeroes string */ + bit_ffc(b, nbits, &fc); + ATF_CHECK_EQ(0L, fc); + bit_ffs(b, nbits, &fs); + ATF_CHECK_EQ(-1L, fs); + + /* Set, test, and clear an early bit */ + bit_set(b, early); + bit_ffs(b, nbits, &fs); + ATF_CHECK_EQ((ssize_t)early, fs); + ATF_CHECK_EQ(0, bit_test(b, early - 1)); + ATF_CHECK(bit_test(b, early) != 0); + ATF_CHECK_EQ(0, bit_test(b, early + 1)); + bit_clear(b, early); + ATF_CHECK_EQ(0, bit_test(b, early)); + + /* Set, test, and clear an early bit range */ + bit_nset(b, early - 1, early + 1); + bit_ffs(b, nbits, &fs); + ATF_CHECK_EQ((ssize_t)early - 1, fs); + ATF_CHECK_EQ(0, bit_test(b, early - 2)); + ATF_CHECK(bit_test(b, early - 1)); + ATF_CHECK(bit_test(b, early)); + ATF_CHECK(bit_test(b, early + 1)); + ATF_CHECK_EQ(0, bit_test(b, early + 2)); + bit_nclear(b, early - 1, early + 1); + ATF_CHECK_EQ(0, bit_test(b, early - 1)); + ATF_CHECK_EQ(0, bit_test(b, early)); + ATF_CHECK_EQ(0, bit_test(b, early + 1)); + + /* Set, test, and clear a late bit */ + bit_set(b, late); + bit_ffs(b, nbits, &fs); + ATF_CHECK_EQ((ssize_t)late, fs); + ATF_CHECK_EQ(0, bit_test(b, late - 1)); + ATF_CHECK(bit_test(b, late) != 0); + ATF_CHECK_EQ(0, bit_test(b, late + 1)); + bit_clear(b, late); + ATF_CHECK_EQ(0, bit_test(b, late)); + + /* Set, test, and clear a late bit range */ + bit_nset(b, late - 1, late + 1); + bit_ffs(b, nbits, &fs); + ATF_CHECK_EQ((ssize_t)late - 1, fs); + ATF_CHECK_EQ(0, bit_test(b, late - 2)); + ATF_CHECK(bit_test(b, late - 1)); + ATF_CHECK(bit_test(b, late)); + ATF_CHECK(bit_test(b, late + 1)); + ATF_CHECK_EQ(0, bit_test(b, late + 2)); + bit_nclear(b, late - 1, late + 1); + ATF_CHECK_EQ(0, bit_test(b, late - 1)); + ATF_CHECK_EQ(0, bit_test(b, late)); + ATF_CHECK_EQ(0, bit_test(b, late + 1)); + + free(b); +} + ATF_TP_ADD_TCS(tp) { @@ -884,6 +971,7 @@ ATF_TP_ADD_TCS(tp) BITSTRING_TC_ADD(tp, bit_foreach_at); BITSTRING_TC_ADD(tp, bit_foreach_unset); BITSTRING_TC_ADD(tp, bit_foreach_unset_at); + ATF_TP_ADD_TC(tp, bitstr_large); return (atf_no_error()); } From nobody Wed Nov 22 22:51:47 2023 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 4SbGhd2M9yz51Lhl for ; Wed, 22 Nov 2023 22:52:01 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SbGhc6sV4z4rdG for ; Wed, 22 Nov 2023 22:52:00 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4083dbc43cfso1576865e9.3 for ; Wed, 22 Nov 2023 14:52:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700693519; x=1701298319; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=keXlrQ7E7WLzoJ8gehp56PufF/vrawSK0eJo1fCC3kg=; b=qWuMlyLmkcPAbajAGRZ/haffA6hLyZJweho/+XdlrG8LTLPIRTi3qdifX1WGhGxoH8 pOsivqTEsPfCn1kKq+Q34o06d4wIFsnTv9bZ0qXf+IkDk9T1KlSKjZHecg33JvwZ0KNn z92mOt3WQOxIOJyxozSvPIsmyROrNLieOACLUb/uVzAHV3I7P44MvZpmyN2povGo6gXg /kxyPtS55L6T3gjiPNN0LaEilnEXC+3endqNDSAMxNjHjPGd1l6ZhPb5f7s2YckFsLh0 odx47NcQZiLD8cOIx6mb627MDiamxuEc2ka//HlPE63nk/BXlpIJPAgd/HtnJstdwDj1 BzVA== X-Gm-Message-State: AOJu0YzfbvKjz4Aj06yroVUohnqeCV6Ttcf0NsTyysas9ZC9kuRPRCfN tUDoGs0YKW4oL8UrOL1qt8ol9Q== X-Google-Smtp-Source: AGHT+IF/xFA/a4pgTMGZNbOhDhED6cK74kBCpZkDEqcdI7QbhDWivG9qHsT0gYMoHnbcv2t8q+6ExQ== X-Received: by 2002:a05:600c:4f16:b0:406:5344:4212 with SMTP id l22-20020a05600c4f1600b0040653444212mr3280943wmq.41.1700693518390; Wed, 22 Nov 2023 14:51:58 -0800 (PST) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id a14-20020a056000100e00b00332c0aace23sm475273wrx.105.2023.11.22.14.51.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Nov 2023 14:51:57 -0800 (PST) Content-Type: text/plain; charset=utf-8 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 (Mac OS X Mail 16.0 \(3774.200.91.1.1\)) Subject: Re: git: c56f45f2a9da - main - bitstring: Support large bit strings. From: Jessica Clarke In-Reply-To: <202311222231.3AMMVB1M050070@gitrepo.freebsd.org> Date: Wed, 22 Nov 2023 22:51:47 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <4C6024C7-D786-424E-8866-152339FB96D6@freebsd.org> References: <202311222231.3AMMVB1M050070@gitrepo.freebsd.org> To: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= X-Mailer: Apple Mail (2.3774.200.91.1.1) X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4SbGhc6sV4z4rdG On 22 Nov 2023, at 22:31, Dag-Erling Sm=C3=B8rgrav = wrote: >=20 > The branch main has been updated by des: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dc56f45f2a9da7d989b79fd6c34b63100= 609ff9ae >=20 > commit c56f45f2a9da7d989b79fd6c34b63100609ff9ae > Author: Dag-Erling Sm=C3=B8rgrav > AuthorDate: 2023-11-22 22:30:03 +0000 > Commit: Dag-Erling Sm=C3=B8rgrav > CommitDate: 2023-11-22 22:30:03 +0000 >=20 > bitstring: Support large bit strings. >=20 > Replace int with either size_t or ssize_t (depending on context) in > order to support bit strings up to SSIZE_MAX bits in length. Since > some of the arguments that need to change type are pointers, we = must > resort to light preprocessor trickery to avoid breaking existing = code. You want more than 2^31 bits, i.e. 256 MiB, in a single bitstring? I mean, sure, there=E2=80=99s no reason the code shouldn=E2=80=99t support = that, but I have serious questions about how sensible that is to do in reality... Jess > MFC after: 3 weeks > Sponsored by: Klara, Inc. > Reviewed by: kevans > Differential Revision: https://reviews.freebsd.org/D42698 > --- > share/man/man3/bitstring.3 | 50 ++++++------- > sys/sys/bitstring.h | 158 = +++++++++++++++++------------------------ > tests/sys/sys/bitstring_test.c | 90 ++++++++++++++++++++++- > 3 files changed, 181 insertions(+), 117 deletions(-) >=20 > diff --git a/share/man/man3/bitstring.3 b/share/man/man3/bitstring.3 > index ac87ac6d9124..808cd48f384b 100644 > --- a/share/man/man3/bitstring.3 > +++ b/share/man/man3/bitstring.3 > @@ -57,7 +57,7 @@ > .\" > .\" @(#)bitstring.3 8.1 (Berkeley) 7/19/93 > .\" > -.Dd August 8, 2021 > +.Dd November 21, 2023 > .Dt BITSTRING 3 > .Os > .Sh NAME > @@ -85,49 +85,49 @@ > .Sh SYNOPSIS > .In bitstring.h > .Ft bitstr_t * > -.Fn bit_alloc "int nbits" > +.Fn bit_alloc "size_t nbits" > .Ft void > -.Fn bit_decl "bitstr_t *name" "int nbits" > +.Fn bit_decl "bitstr_t *name" "size_t nbits" > .Ft void > -.Fn bit_clear "bitstr_t *name" "int bit" > +.Fn bit_clear "bitstr_t *name" "size_t bit" > .Ft void > -.Fn bit_count "bitstr_t *name" "int count" "int nbits" "int *value" > +.Fn bit_count "bitstr_t *name" "size_t count" "size_t nbits" "ssize_t = *value" > .Ft void > -.Fn bit_ffc "bitstr_t *name" "int nbits" "int *value" > +.Fn bit_ffc "bitstr_t *name" "size_t nbits" "ssize_t *value" > .Ft void > -.Fn bit_ffs "bitstr_t *name" "int nbits" "int *value" > +.Fn bit_ffs "bitstr_t *name" "size_t nbits" "ssize_t *value" > .Ft void > -.Fn bit_ffc_at "bitstr_t *name" "int start" "int nbits" "int *value" > +.Fn bit_ffc_at "bitstr_t *name" "size_t start" "size_t nbits" = "ssize_t *value" > .Ft void > -.Fn bit_ffs_at "bitstr_t *name" "int start" "int nbits" "int *value" > +.Fn bit_ffs_at "bitstr_t *name" "size_t start" "size_t nbits" = "ssize_t *value" > .Ft void > -.Fn bit_ff_at "bitstr_t *name" "int start" "int nbits" "int match" = "int *value" > +.Fn bit_ff_at "bitstr_t *name" "size_t start" "size_t nbits" "int = match" "ssize_t *value" > .Ft void > -.Fn bit_ffc_area "bitstr_t *name" "int nbits" "int size" "int *value" > +.Fn bit_ffc_area "bitstr_t *name" "size_t nbits" "size_t size" = "ssize_t *value" > .Ft void > -.Fn bit_ffs_area "bitstr_t *name" "int nbits" "int size" "int *value" > +.Fn bit_ffs_area "bitstr_t *name" "size_t nbits" "size_t size" = "ssize_t *value" > .Ft void > -.Fn bit_ffc_area_at "bitstr_t *name" "int start" "int nbits" "int = size" "int *value" > +.Fn bit_ffc_area_at "bitstr_t *name" "size_t start" "size_t nbits" = "size_t size" "ssize_t *value" > .Ft void > -.Fn bit_ffs_area_at "bitstr_t *name" "int start" "int nbits" "int = size" "int *value" > +.Fn bit_ffs_area_at "bitstr_t *name" "size_t start" "size_t nbits" = "size_t size" "ssize_t *value" > .Ft void > -.Fn bit_ff_area_at "bitstr_t *name" "int start" "int nbits" "int = size" "int match" "int *value" > -.Fn bit_foreach "bitstr_t *name" "int nbits" "int var" > -.Fn bit_foreach_at "bitstr_t *name" "int start" "int nbits" "int var" > -.Fn bit_foreach_unset "bitstr_t *name" "int nbits" "int var" > -.Fn bit_foreach_unset_at "bitstr_t *name" "int start" "int nbits" = "int var" > +.Fn bit_ff_area_at "bitstr_t *name" "size_t start" "size_t nbits" = "size_t size" "int match" "ssize_t *value" > +.Fn bit_foreach "bitstr_t *name" "size_t nbits" "size_t var" > +.Fn bit_foreach_at "bitstr_t *name" "size_t start" "size_t nbits" = "size_t var" > +.Fn bit_foreach_unset "bitstr_t *name" "size_t nbits" "size_t var" > +.Fn bit_foreach_unset_at "bitstr_t *name" "size_t start" "size_t = nbits" "size_t var" > .Ft void > -.Fn bit_nclear "bitstr_t *name" "int start" "int stop" > +.Fn bit_nclear "bitstr_t *name" "size_t start" "size_t stop" > .Ft void > -.Fn bit_nset "bitstr_t *name" "int start" "int stop" > +.Fn bit_nset "bitstr_t *name" "size_t start" "size_t stop" > .Ft int > -.Fn bit_ntest "bitstr_t *name" "int start" "int stop" "int match" > +.Fn bit_ntest "bitstr_t *name" "size_t start" "size_t stop" "int = match" > .Ft void > -.Fn bit_set "bitstr_t *name" "int bit" > +.Fn bit_set "bitstr_t *name" "size_t bit" > .Ft int > -.Fn bitstr_size "int nbits" > +.Fn bitstr_size "size_t nbits" > .Ft int > -.Fn bit_test "bitstr_t *name" "int bit" > +.Fn bit_test "bitstr_t *name" "size_t bit" > .Sh DESCRIPTION > These macros operate on strings of bits. > .Pp > diff --git a/sys/sys/bitstring.h b/sys/sys/bitstring.h > index 127de2ebc419..8a976962dd36 100644 > --- a/sys/sys/bitstring.h > +++ b/sys/sys/bitstring.h > @@ -75,35 +75,33 @@ typedef unsigned long bitstr_t; > #define _BITSTR_MASK (~0UL) > #define _BITSTR_BITS (sizeof(bitstr_t) * 8) >=20 > -#ifdef roundup2 > -#define _bit_roundup2 roundup2 > -#else > -#define _bit_roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) = /* if y is powers of two */ > -#endif > +/* round up x to the next multiple of y if y is a power of two */ > +#define _bit_roundup2(x, y) \ > + (((size_t)(x) + (y) - 1) & ~((size_t)(y) - 1)) >=20 > /* bitstr_t in bit string containing the bit. */ > -static inline int > -_bit_idx(int _bit) > +static inline size_t > +_bit_idx(size_t _bit) > { > return (_bit / _BITSTR_BITS); > } >=20 > /* bit number within bitstr_t at _bit_idx(_bit). */ > -static inline int > -_bit_offset(int _bit) > +static inline size_t > +_bit_offset(size_t _bit) > { > return (_bit % _BITSTR_BITS); > } >=20 > /* Mask for the bit within its long. */ > static inline bitstr_t > -_bit_mask(int _bit) > +_bit_mask(size_t _bit) > { > return (1UL << _bit_offset(_bit)); > } >=20 > static inline bitstr_t > -_bit_make_mask(int _start, int _stop) > +_bit_make_mask(size_t _start, size_t _stop) > { > return ((_BITSTR_MASK << _bit_offset(_start)) & > (_BITSTR_MASK >> (_BITSTR_BITS - _bit_offset(_stop) - 1))); > @@ -111,18 +109,18 @@ _bit_make_mask(int _start, int _stop) >=20 > /*----------------------------- Public Interface = -----------------------------*/ > /* Number of bytes allocated for a bit string of nbits bits */ > -#define bitstr_size(_nbits) (_bit_roundup2(_nbits, _BITSTR_BITS) / 8) > +#define bitstr_size(_nbits) (_bit_roundup2((_nbits), _BITSTR_BITS) / = 8) >=20 > /* Allocate a bit string initialized with no bits set. */ > #ifdef _KERNEL > static inline bitstr_t * > -bit_alloc(int _nbits, struct malloc_type *type, int flags) > +bit_alloc(size_t _nbits, struct malloc_type *type, int flags) > { > return ((bitstr_t *)malloc(bitstr_size(_nbits), type, flags | = M_ZERO)); > } > #else > static inline bitstr_t * > -bit_alloc(int _nbits) > +bit_alloc(size_t _nbits) > { > return ((bitstr_t *)calloc(bitstr_size(_nbits), 1)); > } > @@ -134,28 +132,28 @@ bit_alloc(int _nbits) >=20 > /* Is bit N of bit string set? */ > static inline int > -bit_test(const bitstr_t *_bitstr, int _bit) > +bit_test(const bitstr_t *_bitstr, size_t _bit) > { > return ((_bitstr[_bit_idx(_bit)] & _bit_mask(_bit)) !=3D 0); > } >=20 > /* Set bit N of bit string. */ > static inline void > -bit_set(bitstr_t *_bitstr, int _bit) > +bit_set(bitstr_t *_bitstr, size_t _bit) > { > _bitstr[_bit_idx(_bit)] |=3D _bit_mask(_bit); > } >=20 > /* clear bit N of bit string name */ > static inline void > -bit_clear(bitstr_t *_bitstr, int _bit) > +bit_clear(bitstr_t *_bitstr, size_t _bit) > { > _bitstr[_bit_idx(_bit)] &=3D ~_bit_mask(_bit); > } >=20 > /* Are bits in [start ... stop] in bit string all 0 or all 1? */ > static inline int > -bit_ntest(const bitstr_t *_bitstr, int _start, int _stop, int _match) > +bit_ntest(const bitstr_t *_bitstr, size_t _start, size_t _stop, int = _match) > { > const bitstr_t *_stopbitstr; > bitstr_t _mask; > @@ -183,7 +181,7 @@ bit_ntest(const bitstr_t *_bitstr, int _start, int = _stop, int _match) >=20 > /* Set bits start ... stop inclusive in bit string. */ > static inline void > -bit_nset(bitstr_t *_bitstr, int _start, int _stop) > +bit_nset(bitstr_t *_bitstr, size_t _start, size_t _stop) > { > bitstr_t *_stopbitstr; >=20 > @@ -206,7 +204,7 @@ bit_nset(bitstr_t *_bitstr, int _start, int _stop) >=20 > /* Clear bits start ... stop inclusive in bit string. */ > static inline void > -bit_nclear(bitstr_t *_bitstr, int _start, int _stop) > +bit_nclear(bitstr_t *_bitstr, size_t _start, size_t _stop) > { > bitstr_t *_stopbitstr; >=20 > @@ -228,20 +226,17 @@ bit_nclear(bitstr_t *_bitstr, int _start, int = _stop) > } >=20 > /* Find the first '_match'-bit in bit string at or after bit start. */ > -static inline void > -bit_ff_at(bitstr_t *_bitstr, int _start, int _nbits, int _match, > - int *_result) > +static inline ssize_t > +bit_ff_at_(bitstr_t *_bitstr, size_t _start, size_t _nbits, int = _match) > { > bitstr_t *_curbitstr; > bitstr_t *_stopbitstr; > bitstr_t _mask; > bitstr_t _test; > - int _value; > + ssize_t _value; >=20 > - if (_start >=3D _nbits || _nbits <=3D 0) { > - *_result =3D -1; > - return; > - } > + if (_start >=3D _nbits || _nbits <=3D 0) > + return (-1); >=20 > _curbitstr =3D _bitstr + _bit_idx(_start); > _stopbitstr =3D _bitstr + _bit_idx(_nbits - 1); > @@ -255,51 +250,40 @@ bit_ff_at(bitstr_t *_bitstr, int _start, int = _nbits, int _match, >=20 > _value =3D ((_curbitstr - _bitstr) * _BITSTR_BITS) + ffsl(_test) - 1; > if (_test =3D=3D 0 || > - (_bit_offset(_nbits) !=3D 0 && _value >=3D _nbits)) > + (_bit_offset(_nbits) !=3D 0 && (size_t)_value >=3D _nbits)) > _value =3D -1; > - *_result =3D _value; > + return (_value); > } > +#define bit_ff_at(_bitstr, _start, _nbits, _match, _resultp) \ > + *(_resultp) =3D bit_ff_at_((_bitstr), (_start), (_nbits), (_match)) >=20 > /* Find the first bit set in bit string at or after bit start. */ > -static inline void > -bit_ffs_at(bitstr_t *_bitstr, int _start, int _nbits, int *_result) > -{ > - bit_ff_at(_bitstr, _start, _nbits, 1, _result); > -} > +#define bit_ffs_at(_bitstr, _start, _nbits, _resultp) \ > + *(_resultp) =3D bit_ff_at_((_bitstr), (_start), (_nbits), 1) >=20 > /* Find the first bit clear in bit string at or after bit start. */ > -static inline void > -bit_ffc_at(bitstr_t *_bitstr, int _start, int _nbits, int *_result) > -{ > - bit_ff_at(_bitstr, _start, _nbits, 0, _result); > -} > +#define bit_ffc_at(_bitstr, _start, _nbits, _resultp) \ > + *(_resultp) =3D bit_ff_at_((_bitstr), (_start), (_nbits), 0) >=20 > /* Find the first bit set in bit string. */ > -static inline void > -bit_ffs(bitstr_t *_bitstr, int _nbits, int *_result) > -{ > - bit_ffs_at(_bitstr, /*start*/0, _nbits, _result); > -} > +#define bit_ffs(_bitstr, _nbits, _resultp) \ > + *(_resultp) =3D bit_ff_at_((_bitstr), 0, (_nbits), 1) >=20 > /* Find the first bit clear in bit string. */ > -static inline void > -bit_ffc(bitstr_t *_bitstr, int _nbits, int *_result) > -{ > - bit_ffc_at(_bitstr, /*start*/0, _nbits, _result); > -} > +#define bit_ffc(_bitstr, _nbits, _resultp) \ > + *(_resultp) =3D bit_ff_at_((_bitstr), 0, (_nbits), 0) >=20 > /* Find contiguous sequence of at least size '_match'-bits at or after = start */ > -static inline void > -bit_ff_area_at(bitstr_t *_bitstr, int _start, int _nbits, int _size, > - int _match, int *_result) > +static inline ssize_t > +bit_ff_area_at_(bitstr_t *_bitstr, size_t _start, size_t _nbits, = size_t _size, > + int _match) > { > bitstr_t *_curbitstr, _mask, _test; > - int _value, _last, _shft, _maxshft; > + size_t _last, _shft, _maxshft; > + ssize_t _value; >=20 > - if (_start + _size > _nbits || _nbits <=3D 0) { > - *_result =3D -1; > - return; > - } > + if (_start + _size > _nbits || _nbits <=3D 0) > + return (-1); >=20 > _mask =3D _match ? _BITSTR_MASK : 0; > _maxshft =3D _bit_idx(_size - 1) =3D=3D 0 ? _size : (int)_BITSTR_BITS; > @@ -330,48 +314,37 @@ bit_ff_area_at(bitstr_t *_bitstr, int _start, = int _nbits, int _size, > break; > /* A solution here needs bits from the next word. */ > } > - *_result =3D _value; > + return (_value); > } > +#define bit_ff_area_at(_bitstr, _start, _nbits, _size, _match, = _resultp) \ > + *(_resultp) =3D bit_ff_area_at_(_bitstr, _start, _nbits, _size, = _match); >=20 > /* Find contiguous sequence of at least size set bits at or after = start */ > -static inline void > -bit_ffs_area_at(bitstr_t *_bitstr, int _start, int _nbits, int _size, > - int *_result) > -{ > - bit_ff_area_at(_bitstr, _start, _nbits, _size, 1, _result); > -} > +#define bit_ffs_area_at(_bitstr, _start, _nbits, _size, _resultp) \ > + *(_resultp) =3D bit_ff_area_at_((_bitstr), (_start), (_nbits), = (_size), 1) >=20 > /* Find contiguous sequence of at least size cleared bits at or after = start */ > -static inline void > -bit_ffc_area_at(bitstr_t *_bitstr, int _start, int _nbits, int _size, > - int *_result) > -{ > - bit_ff_area_at(_bitstr, _start, _nbits, _size, 0, _result); > -} > +#define bit_ffc_area_at(_bitstr, _start, _nbits, _size, _resultp) \ > + *(_resultp) =3D bit_ff_area_at_((_bitstr), (_start), (_nbits), = (_size), 0) >=20 > /* Find contiguous sequence of at least size set bits in bit string */ > -static inline void > -bit_ffs_area(bitstr_t *_bitstr, int _nbits, int _size, int *_result) > -{ > - bit_ffs_area_at(_bitstr, /*start*/0, _nbits, _size, _result); > -} > +#define bit_ffs_area(_bitstr, _nbits, _size, _resultp) \ > + *(_resultp) =3D bit_ff_area_at_((_bitstr), 0, (_nbits), (_size), 1) >=20 > /* Find contiguous sequence of at least size cleared bits in bit = string */ > -static inline void > -bit_ffc_area(bitstr_t *_bitstr, int _nbits, int _size, int *_result) > -{ > - bit_ffc_area_at(_bitstr, /*start*/0, _nbits, _size, _result); > -} > +#define bit_ffc_area(_bitstr, _nbits, _size, _resultp) \ > + *(_resultp) =3D bit_ff_area_at_((_bitstr), 0, (_nbits), (_size), 0) >=20 > /* Count the number of bits set in a bitstr of size _nbits at or after = _start */ > -static inline void > -bit_count(bitstr_t *_bitstr, int _start, int _nbits, int *_result) > +static inline ssize_t > +bit_count_(bitstr_t *_bitstr, size_t _start, size_t _nbits) > { > bitstr_t *_curbitstr, mask; > - int _value =3D 0, curbitstr_len; > + size_t curbitstr_len; > + ssize_t _value =3D 0; >=20 > if (_start >=3D _nbits) > - goto out; > + return (0); >=20 > _curbitstr =3D _bitstr + _bit_idx(_start); > _nbits -=3D _BITSTR_BITS * _bit_idx(_start); > @@ -383,6 +356,8 @@ bit_count(bitstr_t *_bitstr, int _start, int = _nbits, int *_result) > mask =3D _bit_make_mask(_start, _bit_offset(curbitstr_len - 1)); > _value +=3D __bitcountl(*_curbitstr & mask); > _curbitstr++; > + if (_nbits < _BITSTR_BITS) > + return (_value); > _nbits -=3D _BITSTR_BITS; > } > while (_nbits >=3D (int)_BITSTR_BITS) { > @@ -395,23 +370,24 @@ bit_count(bitstr_t *_bitstr, int _start, int = _nbits, int *_result) > _value +=3D __bitcountl(*_curbitstr & mask); > } >=20 > -out: > - *_result =3D _value; > + return (_value); > } > +#define bit_count(_bitstr, _start, _nbits, _resultp) \ > + *(_resultp) =3D bit_count_((_bitstr), (_start), (_nbits)) >=20 > /* Traverse all set bits, assigning each location in turn to iter */ > #define bit_foreach_at(_bitstr, _start, _nbits, _iter) \ > - for (bit_ffs_at((_bitstr), (_start), (_nbits), &(_iter)); \ > + for ((_iter) =3D bit_ff_at_((_bitstr), (_start), (_nbits), 1); \ > (_iter) !=3D -1; \ > - bit_ffs_at((_bitstr), (_iter) + 1, (_nbits), &(_iter))) > + (_iter) =3D bit_ff_at_((_bitstr), (_iter) + 1, (_nbits), 1)) > #define bit_foreach(_bitstr, _nbits, _iter) \ > bit_foreach_at(_bitstr, /*start*/0, _nbits, _iter) >=20 > /* Traverse all unset bits, assigning each location in turn to iter */ > #define bit_foreach_unset_at(_bitstr, _start, _nbits, _iter) \ > - for (bit_ffc_at((_bitstr), (_start), (_nbits), &(_iter)); \ > + for ((_iter) =3D bit_ff_at_((_bitstr), (_start), (_nbits), 0); \ > (_iter) !=3D -1; \ > - bit_ffc_at((_bitstr), (_iter) + 1, (_nbits), &(_iter))) > + (_iter) =3D bit_ff_at_((_bitstr), (_iter) + 1, (_nbits), 0)) > #define bit_foreach_unset(_bitstr, _nbits, _iter) \ > bit_foreach_unset_at(_bitstr, /*start*/0, _nbits, _iter) >=20 > diff --git a/tests/sys/sys/bitstring_test.c = b/tests/sys/sys/bitstring_test.c > index 0c214b9e67a7..a48042a4a063 100644 > --- a/tests/sys/sys/bitstring_test.c > +++ b/tests/sys/sys/bitstring_test.c > @@ -1,5 +1,6 @@ > /*- > * Copyright (c) 2014 Spectra Logic Corporation > + * Copyright (c) 2023 Klara, Inc. > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > @@ -31,7 +32,7 @@ > #include >=20 > #include > -#include > +#include >=20 > #include >=20 > @@ -51,6 +52,7 @@ bitstring_run_heap_test(testfunc_t *test, int nbits) > bitstr_t *bitstr =3D bit_alloc(nbits); >=20 > test(bitstr, nbits, "heap"); > + free(bitstr); > } >=20 > static void > @@ -862,6 +864,91 @@ BITSTRING_TC_DEFINE(bit_foreach_unset_at) > } > } >=20 > +/* > + * Perform various tests on large bit strings. We can't simply add = larger > + * sizes to bitstring_runner as most of the existing tests are = exhaustive > + * and would take forever to run for large values of nbits. > + * > + * On 32-bit platforms, we use nbits =3D SSIZE_MAX (2147483647) bits, = which > + * is the largest we can hope to support; on 64-bit platforms, we use > + * nbits =3D INT_MAX + 30 (2147483677), which is small enough to be > + * practicable yet large enough to reveal arithmetic overflow bugs. > + */ > +ATF_TC_WITHOUT_HEAD(bitstr_large); > +ATF_TC_BODY(bitstr_large, tc) > +{ > + size_t nbits =3D INT_MAX < SSIZE_MAX ? (size_t)INT_MAX + 30 : = SSIZE_MAX; > + size_t early =3D 5, late =3D nbits - 5; > + ssize_t fc, fs; > + bitstr_t *b; > + > + /* Check for overflow in size calculation */ > + ATF_REQUIRE(nbits >=3D (size_t)INT_MAX); > + ATF_REQUIRE(bitstr_size(nbits) >=3D nbits / 8); > + > + /* Allocate the bit string */ > + ATF_REQUIRE(b =3D bit_alloc(nbits)); > + > + /* Check that we allocated enough */ > + ATF_REQUIRE(malloc_usable_size(b) >=3D bitstr_size(nbits)); > + > + /* Check ffc, ffs on all-zeroes string */ > + bit_ffc(b, nbits, &fc); > + ATF_CHECK_EQ(0L, fc); > + bit_ffs(b, nbits, &fs); > + ATF_CHECK_EQ(-1L, fs); > + > + /* Set, test, and clear an early bit */ > + bit_set(b, early); > + bit_ffs(b, nbits, &fs); > + ATF_CHECK_EQ((ssize_t)early, fs); > + ATF_CHECK_EQ(0, bit_test(b, early - 1)); > + ATF_CHECK(bit_test(b, early) !=3D 0); > + ATF_CHECK_EQ(0, bit_test(b, early + 1)); > + bit_clear(b, early); > + ATF_CHECK_EQ(0, bit_test(b, early)); > + > + /* Set, test, and clear an early bit range */ > + bit_nset(b, early - 1, early + 1); > + bit_ffs(b, nbits, &fs); > + ATF_CHECK_EQ((ssize_t)early - 1, fs); > + ATF_CHECK_EQ(0, bit_test(b, early - 2)); > + ATF_CHECK(bit_test(b, early - 1)); > + ATF_CHECK(bit_test(b, early)); > + ATF_CHECK(bit_test(b, early + 1)); > + ATF_CHECK_EQ(0, bit_test(b, early + 2)); > + bit_nclear(b, early - 1, early + 1); > + ATF_CHECK_EQ(0, bit_test(b, early - 1)); > + ATF_CHECK_EQ(0, bit_test(b, early)); > + ATF_CHECK_EQ(0, bit_test(b, early + 1)); > + > + /* Set, test, and clear a late bit */ > + bit_set(b, late); > + bit_ffs(b, nbits, &fs); > + ATF_CHECK_EQ((ssize_t)late, fs); > + ATF_CHECK_EQ(0, bit_test(b, late - 1)); > + ATF_CHECK(bit_test(b, late) !=3D 0); > + ATF_CHECK_EQ(0, bit_test(b, late + 1)); > + bit_clear(b, late); > + ATF_CHECK_EQ(0, bit_test(b, late)); > + > + /* Set, test, and clear a late bit range */ > + bit_nset(b, late - 1, late + 1); > + bit_ffs(b, nbits, &fs); > + ATF_CHECK_EQ((ssize_t)late - 1, fs); > + ATF_CHECK_EQ(0, bit_test(b, late - 2)); > + ATF_CHECK(bit_test(b, late - 1)); > + ATF_CHECK(bit_test(b, late)); > + ATF_CHECK(bit_test(b, late + 1)); > + ATF_CHECK_EQ(0, bit_test(b, late + 2)); > + bit_nclear(b, late - 1, late + 1); > + ATF_CHECK_EQ(0, bit_test(b, late - 1)); > + ATF_CHECK_EQ(0, bit_test(b, late)); > + ATF_CHECK_EQ(0, bit_test(b, late + 1)); > + > + free(b); > +} > + > ATF_TP_ADD_TCS(tp) > { >=20 > @@ -884,6 +971,7 @@ ATF_TP_ADD_TCS(tp) > BITSTRING_TC_ADD(tp, bit_foreach_at); > BITSTRING_TC_ADD(tp, bit_foreach_unset); > BITSTRING_TC_ADD(tp, bit_foreach_unset_at); > + ATF_TP_ADD_TC(tp, bitstr_large); >=20 > return (atf_no_error()); > } From nobody Wed Nov 22 23:04:28 2023 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 4SbGz10kxTz51PPZ; Wed, 22 Nov 2023 23:04:29 +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 4SbGz10QrJz4t4c; Wed, 22 Nov 2023 23:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700694269; 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=n9u9toNvUXIS0G55qL8WUtAeZEXH28Y8TfDkbh6U508=; b=QQkHJ5BgxZ3l4Tpb0KEwms2AybXuWmUQk2MZUcsRdRGtZyB7smt+rtITdQliK/F0qTpNX8 6tFo2KEcFr6s9cCQQLztnvqr4L7B/pN/mx0dlVVvwmz/cqOKv7zZyQdpXhrHuqtGS3cde0 xjqzupwPEnMHz+NXNvd4MhHtW6K6AXKOiUzLWZmd7q7JuwGk02bYnFYBNHQQXVW5DqhstQ Kb3UK3zARmtFJI42qproKiNHOPt8LN1ie/kdf7TPajV+yxmXbVN2FmwDv2YLuy/pR0GX8g Iww+nHyUmGw0zk8nE8pIcArAht9YfpDNvs9hMEZGvKwT0rNRq+nPIyo8IDF3ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700694269; 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=n9u9toNvUXIS0G55qL8WUtAeZEXH28Y8TfDkbh6U508=; b=DNmnXWNcC3p4gKGb496FCpIgSHGRfmF/d8S6wzq7jReT1B95itvp1tBTvsOl7llZtZv7F3 w2eoDZYHOqmosq8LBgweCUM0qzNBV57aozzL455tGH9cMKiJ7taRdvxZTWYsNPHaTL2wuO jOV+Daw84qlWonILnZDgUMwpToDhE3OQXjZ+6TSTaB29WApemTTJAsJyQ/qk0mpjdKG+ks Ii+MTIiZjHX9/nZAQ/t8/U1G9A8wYwPr4eVPyrBEMc5KA232A12A9UVa5kRcD6QwHervGN QpyMl6SfgrD5k00bRxWAE4bS7swpXyK5v1wwlitJ7YFvUSn1Rla6YJ8K+XRMvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700694269; a=rsa-sha256; cv=none; b=LsxbAKGNtq8+LUFAMqohO1jQbII20A135XGQz9ni5ZSNvM2oqr2VEzd2tm5q+2ggraWiaK OaVi7Qdl/8uq/aIxYddWkcDYW7X9afWOcrbW/sitN5wQ7vSPn40s4JDuZ18ZEQp08+z2Nl h/teMfgui1wHdr5h7xrliPdvD4ds/y1E2pAAlrRD9h/jpWvskj9SJnjx9Ca7hrDbQhYFbE bNZZpwT1bnaJGeDujMrtCQzPIEdgeWUYkZXP8xkMNYHSYvu6dD1Zlyb3danfz1bbcpkYXl DCEtAMNgB0FSJN8nw7CFbcpGih3aVYTszeONc7/Ks6cZiSHQiruRo9w0q/N0OQ== 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 4SbGz06TFfzdWq; Wed, 22 Nov 2023 23:04:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AMN4Snb004334; Wed, 22 Nov 2023 23:04:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AMN4SvX004331; Wed, 22 Nov 2023 23:04:28 GMT (envelope-from git) Date: Wed, 22 Nov 2023 23:04:28 GMT Message-Id: <202311222304.3AMN4SvX004331@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: 519b24f02968 - main - CAM: Replace random sbuf_printf() with cheaper cat/putc. 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 519b24f02968da4930d859288c2f5263c1ad17e1 Auto-Submitted: auto-generated The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=519b24f02968da4930d859288c2f5263c1ad17e1 commit 519b24f02968da4930d859288c2f5263c1ad17e1 Author: Alexander Motin AuthorDate: 2023-11-22 23:04:05 +0000 Commit: Alexander Motin CommitDate: 2023-11-22 23:04:05 +0000 CAM: Replace random sbuf_printf() with cheaper cat/putc. --- sys/cam/ata/ata_all.c | 24 +++++++-------- sys/cam/ata/ata_da.c | 4 +-- sys/cam/ata/ata_xpt.c | 12 ++++---- sys/cam/cam.c | 8 ++--- sys/cam/cam_periph.c | 16 +++++----- sys/cam/cam_xpt.c | 16 +++++----- sys/cam/ctl/ctl.c | 48 ++++++++++++++--------------- sys/cam/ctl/ctl_backend_block.c | 4 +-- sys/cam/ctl/ctl_frontend_iscsi.c | 4 +-- sys/cam/ctl/ctl_scsi_all.c | 2 +- sys/cam/ctl/ctl_util.c | 2 +- sys/cam/mmc/mmc_xpt.c | 6 ++-- sys/cam/nvme/nvme_all.c | 10 +++--- sys/cam/nvme/nvme_da.c | 2 +- sys/cam/nvme/nvme_xpt.c | 2 +- sys/cam/scsi/scsi_all.c | 66 ++++++++++++++++++++-------------------- sys/cam/scsi/scsi_da.c | 4 +-- sys/cam/scsi/scsi_enc_ses.c | 18 +++++------ sys/cam/scsi/scsi_xpt.c | 8 ++--- sys/cam/scsi/smp_all.c | 14 ++++----- 20 files changed, 135 insertions(+), 135 deletions(-) diff --git a/sys/cam/ata/ata_all.c b/sys/cam/ata/ata_all.c index aff7cafcdbad..f9a2b86f0c06 100644 --- a/sys/cam/ata/ata_all.c +++ b/sys/cam/ata/ata_all.c @@ -464,7 +464,7 @@ ata_print_ident_sbuf(struct ata_params *ident_data, struct sbuf *sb) int version; ata_print_ident_short_sbuf(ident_data, sb); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); proto = (ident_data->config == ATA_PROTO_CFA) ? "CFA" : (ident_data->config & ATA_PROTO_ATAPI) ? "ATAPI" : "ATA"; @@ -521,11 +521,11 @@ void ata_print_ident_short_sbuf(struct ata_params *ident_data, struct sbuf *sb) { - sbuf_printf(sb, "<"); + sbuf_putc(sb, '<'); cam_strvis_sbuf(sb, ident_data->model, sizeof(ident_data->model), 0); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); cam_strvis_sbuf(sb, ident_data->revision, sizeof(ident_data->revision), 0); - sbuf_printf(sb, ">"); + sbuf_putc(sb, '>'); } void @@ -545,11 +545,11 @@ semb_print_ident_sbuf(struct sep_identify_data *ident_data, struct sbuf *sb) semb_print_ident_short_sbuf(ident_data, sb); - sbuf_printf(sb, " SEMB "); + sbuf_cat(sb, " SEMB "); cam_strvis_sbuf(sb, ident_data->interface_id, 6, 0); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); cam_strvis_sbuf(sb, ident_data->interface_rev, 4, 0); - sbuf_printf(sb, " device\n"); + sbuf_cat(sb, " device\n"); } void @@ -568,15 +568,15 @@ void semb_print_ident_short_sbuf(struct sep_identify_data *ident_data, struct sbuf *sb) { - sbuf_printf(sb, "<"); + sbuf_putc(sb, '<'); cam_strvis_sbuf(sb, ident_data->vendor_id, 8, 0); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); cam_strvis_sbuf(sb, ident_data->product_id, 16, 0); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); cam_strvis_sbuf(sb, ident_data->product_rev, 4, 0); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); cam_strvis_sbuf(sb, ident_data->firmware_rev, 4, 0); - sbuf_printf(sb, ">"); + sbuf_putc(sb, '>'); } uint32_t diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c index caaded5be7ba..ba02f33082b0 100644 --- a/sys/cam/ata/ata_da.c +++ b/sys/cam/ata/ata_da.c @@ -1447,7 +1447,7 @@ adazonesupsysctl(SYSCTL_HANDLER_ARGS) } if (first == 1) - sbuf_printf(&sb, "None"); + sbuf_cat(&sb, "None"); error = sbuf_finish(&sb); sbuf_delete(&sb); @@ -1677,7 +1677,7 @@ adaflagssysctl(SYSCTL_HANDLER_ARGS) if (softc->flags != 0) sbuf_printf(&sbuf, "0x%b", (unsigned)softc->flags, ADA_FLAG_STRING); else - sbuf_printf(&sbuf, "0"); + sbuf_putc(&sbuf, '0'); error = sbuf_finish(&sbuf); sbuf_delete(&sbuf); diff --git a/sys/cam/ata/ata_xpt.c b/sys/cam/ata/ata_xpt.c index 1b759f55ee8a..7bdddc98511b 100644 --- a/sys/cam/ata/ata_xpt.c +++ b/sys/cam/ata/ata_xpt.c @@ -2141,33 +2141,33 @@ ata_announce_periph_sbuf(struct cam_periph *periph, struct sbuf *sb) struct ccb_trans_settings_pata *pata = &cts.xport_specific.ata; - sbuf_printf(sb, " ("); + sbuf_cat(sb, " ("); if (pata->valid & CTS_ATA_VALID_MODE) sbuf_printf(sb, "%s, ", ata_mode2string(pata->mode)); if ((pata->valid & CTS_ATA_VALID_ATAPI) && pata->atapi != 0) sbuf_printf(sb, "ATAPI %dbytes, ", pata->atapi); if (pata->valid & CTS_ATA_VALID_BYTECOUNT) sbuf_printf(sb, "PIO %dbytes", pata->bytecount); - sbuf_printf(sb, ")"); + sbuf_putc(sb, ')'); } if (cts.transport == XPORT_SATA) { struct ccb_trans_settings_sata *sata = &cts.xport_specific.sata; - sbuf_printf(sb, " ("); + sbuf_cat(sb, " ("); if (sata->valid & CTS_SATA_VALID_REVISION) sbuf_printf(sb, "SATA %d.x, ", sata->revision); else - sbuf_printf(sb, "SATA, "); + sbuf_cat(sb, "SATA, "); if (sata->valid & CTS_SATA_VALID_MODE) sbuf_printf(sb, "%s, ", ata_mode2string(sata->mode)); if ((sata->valid & CTS_ATA_VALID_ATAPI) && sata->atapi != 0) sbuf_printf(sb, "ATAPI %dbytes, ", sata->atapi); if (sata->valid & CTS_SATA_VALID_BYTECOUNT) sbuf_printf(sb, "PIO %dbytes", sata->bytecount); - sbuf_printf(sb, ")"); + sbuf_putc(sb, ')'); } - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } static void diff --git a/sys/cam/cam.c b/sys/cam/cam.c index 01a5b3c3b36c..d9cff3468da0 100644 --- a/sys/cam/cam.c +++ b/sys/cam/cam.c @@ -418,7 +418,7 @@ cam_error_string(struct cam_device *device, union ccb *ccb, char *str, ccb->ccb_h.func_code); break; } - sbuf_printf(&sb, "\n"); + sbuf_putc(&sb, '\n'); } if (flags & CAM_ESF_CAM_STATUS) { @@ -449,13 +449,13 @@ cam_error_string(struct cam_device *device, union ccb *ccb, char *str, if (proto_flags & CAM_EAF_PRINT_STATUS) { sbuf_cat(&sb, path_str); ata_status_sbuf(&ccb->ataio, &sb); - sbuf_printf(&sb, "\n"); + sbuf_putc(&sb, '\n'); } if (proto_flags & CAM_EAF_PRINT_RESULT) { sbuf_cat(&sb, path_str); - sbuf_printf(&sb, "RES: "); + sbuf_cat(&sb, "RES: "); ata_res_sbuf(&ccb->ataio.res, &sb); - sbuf_printf(&sb, "\n"); + sbuf_putc(&sb, '\n'); } break; diff --git a/sys/cam/cam_periph.c b/sys/cam/cam_periph.c index 165929347a68..920e5f0471c7 100644 --- a/sys/cam/cam_periph.c +++ b/sys/cam/cam_periph.c @@ -2139,7 +2139,7 @@ cam_periph_devctl_notify(union ccb *ccb) sbuf_printf(&sb, "device=%s%d ", periph->periph_name, periph->unit_number); - sbuf_printf(&sb, "serial=\""); + sbuf_cat(&sb, "serial=\""); if ((cgd = (struct ccb_getdev *)xpt_alloc_ccb_nowait()) != NULL) { xpt_setup_ccb(&cgd->ccb_h, ccb->ccb_h.path, CAM_PRIORITY_NORMAL); @@ -2150,7 +2150,7 @@ cam_periph_devctl_notify(union ccb *ccb) sbuf_bcat(&sb, cgd->serial_num, cgd->serial_num_len); xpt_free_ccb((union ccb *)cgd); } - sbuf_printf(&sb, "\" "); + sbuf_cat(&sb, "\" "); sbuf_printf(&sb, "cam_status=\"0x%x\" ", ccb->ccb_h.status); switch (ccb->ccb_h.status & CAM_STATUS_MASK) { @@ -2166,9 +2166,9 @@ cam_periph_devctl_notify(union ccb *ccb) type = "error"; break; case CAM_ATA_STATUS_ERROR: - sbuf_printf(&sb, "RES=\""); + sbuf_cat(&sb, "RES=\""); ata_res_sbuf(&ccb->ataio.res, &sb); - sbuf_printf(&sb, "\" "); + sbuf_cat(&sb, "\" "); type = "error"; break; case CAM_NVME_STATUS_ERROR: @@ -2189,14 +2189,14 @@ cam_periph_devctl_notify(union ccb *ccb) switch (ccb->ccb_h.func_code) { case XPT_SCSI_IO: - sbuf_printf(&sb, "CDB=\""); + sbuf_cat(&sb, "CDB=\""); scsi_cdb_sbuf(scsiio_cdb_ptr(&ccb->csio), &sb); - sbuf_printf(&sb, "\" "); + sbuf_cat(&sb, "\" "); break; case XPT_ATA_IO: - sbuf_printf(&sb, "ACB=\""); + sbuf_cat(&sb, "ACB=\""); ata_cmd_sbuf(&ccb->ataio.cmd, &sb); - sbuf_printf(&sb, "\" "); + sbuf_cat(&sb, "\" "); break; case XPT_NVME_IO: case XPT_NVME_ADMIN: diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index 22d6c89f5b46..de3630c35374 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -1150,7 +1150,7 @@ xpt_denounce_periph_sbuf(struct cam_periph *periph, struct sbuf *sb) path->device->protocol); if (path->device->serial_num_len > 0) sbuf_printf(sb, " s/n %.60s", path->device->serial_num); - sbuf_printf(sb, " detached\n"); + sbuf_cat(sb, " detached\n"); } int @@ -3713,7 +3713,7 @@ static void xpt_device_sbuf(struct cam_ed *device, struct sbuf *sb) { if (device == NULL) - sbuf_printf(sb, "(nopath): "); + sbuf_cat(sb, "(nopath): "); else { sbuf_printf(sb, "(noperiph:%s%d:%d:%d:%jx): ", device->sim->sim_name, @@ -3759,31 +3759,31 @@ xpt_path_sbuf(struct cam_path *path, struct sbuf *sb) { if (path == NULL) - sbuf_printf(sb, "(nopath): "); + sbuf_cat(sb, "(nopath): "); else { if (path->periph != NULL) sbuf_printf(sb, "(%s%d:", path->periph->periph_name, path->periph->unit_number); else - sbuf_printf(sb, "(noperiph:"); + sbuf_cat(sb, "(noperiph:"); if (path->bus != NULL) sbuf_printf(sb, "%s%d:%d:", path->bus->sim->sim_name, path->bus->sim->unit_number, path->bus->sim->bus_id); else - sbuf_printf(sb, "nobus:"); + sbuf_cat(sb, "nobus:"); if (path->target != NULL) sbuf_printf(sb, "%d:", path->target->target_id); else - sbuf_printf(sb, "X:"); + sbuf_cat(sb, "X:"); if (path->device != NULL) sbuf_printf(sb, "%jx): ", (uintmax_t)path->device->lun_id); else - sbuf_printf(sb, "X): "); + sbuf_cat(sb, "X): "); } } @@ -5585,7 +5585,7 @@ xpt_cam_debug(const char *fmt, ...) va_list ap; sbuf_set_drain(sb, sbuf_printf_drain, NULL); - sbuf_printf(sb, "cam_debug: "); + sbuf_cat(sb, "cam_debug: "); va_start(ap, fmt); sbuf_vprintf(sb, fmt, ap); va_end(ap); diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index 7ad7912ef323..3d6eb0382cc9 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -2534,13 +2534,13 @@ ctl_sbuf_printf_esc(struct sbuf *sb, char *str, int size) for (; *str && str < end; str++) { switch (*str) { case '&': - retval = sbuf_printf(sb, "&"); + retval = sbuf_cat(sb, "&"); break; case '>': - retval = sbuf_printf(sb, ">"); + retval = sbuf_cat(sb, ">"); break; case '<': - retval = sbuf_printf(sb, "<"); + retval = sbuf_cat(sb, "<"); break; default: retval = sbuf_putc(sb, *str); @@ -2565,13 +2565,13 @@ ctl_id_sbuf(struct ctl_devid *id, struct sbuf *sb) desc = (struct scsi_vpd_id_descriptor *)id->data; switch (desc->id_type & SVPD_ID_TYPE_MASK) { case SVPD_ID_TYPE_T10: - sbuf_printf(sb, "t10."); + sbuf_cat(sb, "t10."); break; case SVPD_ID_TYPE_EUI64: - sbuf_printf(sb, "eui."); + sbuf_cat(sb, "eui."); break; case SVPD_ID_TYPE_NAA: - sbuf_printf(sb, "naa."); + sbuf_cat(sb, "naa."); break; case SVPD_ID_TYPE_SCSI_NAME: break; @@ -2586,7 +2586,7 @@ ctl_id_sbuf(struct ctl_devid *id, struct sbuf *sb) (char *)desc->identifier); break; case SVPD_ID_CODESET_UTF8: - sbuf_printf(sb, "%s", (char *)desc->identifier); + sbuf_cat(sb, (char *)desc->identifier); break; } } @@ -3088,7 +3088,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, break; } - sbuf_printf(sb, "\n"); + sbuf_cat(sb, "\n"); mtx_lock(&softc->ctl_lock); STAILQ_FOREACH(lun, &softc->lun_list, links) { @@ -3118,7 +3118,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, break; if (lun->backend == NULL) { - retval = sbuf_printf(sb, "\n"); + retval = sbuf_cat(sb, "\n"); if (retval != 0) break; continue; @@ -3137,7 +3137,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, if (retval != 0) break; - retval = sbuf_printf(sb, "\t"); + retval = sbuf_cat(sb, "\t"); if (retval != 0) break; @@ -3149,12 +3149,12 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, if (retval != 0) break; - retval = sbuf_printf(sb, "\n"); + retval = sbuf_cat(sb, "\n"); if (retval != 0) break; - retval = sbuf_printf(sb, "\t"); + retval = sbuf_cat(sb, "\t"); if (retval != 0) break; @@ -3166,7 +3166,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, if (retval != 0) break; - retval = sbuf_printf(sb, "\n"); + retval = sbuf_cat(sb, "\n"); if (retval != 0) break; @@ -3186,13 +3186,13 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, value = dnvlist_get_string( lun->be_lun->options, name, NULL); if (value != NULL) - sbuf_printf(sb, "%s", value); + sbuf_cat(sb, value); } sbuf_printf(sb, "\n", name); } - retval = sbuf_printf(sb, "\n"); + retval = sbuf_cat(sb, "\n"); if (retval != 0) break; @@ -3203,7 +3203,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, mtx_unlock(&softc->ctl_lock); if ((retval != 0) - || ((retval = sbuf_printf(sb, "\n")) != 0)) { + || ((retval = sbuf_cat(sb, "\n")) != 0)) { retval = 0; sbuf_delete(sb); list->status = CTL_LUN_LIST_NEED_MORE_SPACE; @@ -3353,7 +3353,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, break; } - sbuf_printf(sb, "\n"); + sbuf_cat(sb, "\n"); mtx_lock(&softc->ctl_lock); STAILQ_FOREACH(port, &softc->port_list, links) { @@ -3398,15 +3398,15 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, break; if (port->target_devid != NULL) { - sbuf_printf(sb, "\t"); + sbuf_cat(sb, "\t"); ctl_id_sbuf(port->target_devid, sb); - sbuf_printf(sb, "\n"); + sbuf_cat(sb, "\n"); } if (port->port_devid != NULL) { - sbuf_printf(sb, "\t"); + sbuf_cat(sb, "\t"); ctl_id_sbuf(port->port_devid, sb); - sbuf_printf(sb, "\n"); + sbuf_cat(sb, "\n"); } if (port->port_info != NULL) { @@ -3431,7 +3431,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, } if (port->lun_map != NULL) { - sbuf_printf(sb, "\ton\n"); + sbuf_cat(sb, "\ton\n"); for (j = 0; j < port->lun_map_size; j++) { plun = ctl_lun_map_from_port(port, j); if (plun == UINT32_MAX) @@ -3462,14 +3462,14 @@ ctl_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, if (retval != 0) break; - retval = sbuf_printf(sb, "\n"); + retval = sbuf_cat(sb, "\n"); if (retval != 0) break; } mtx_unlock(&softc->ctl_lock); if ((retval != 0) - || ((retval = sbuf_printf(sb, "\n")) != 0)) { + || ((retval = sbuf_cat(sb, "\n")) != 0)) { retval = 0; sbuf_delete(sb); list->status = CTL_LUN_LIST_NEED_MORE_SPACE; diff --git a/sys/cam/ctl/ctl_backend_block.c b/sys/cam/ctl/ctl_backend_block.c index 4b8ea04cca27..7381202e2c54 100644 --- a/sys/cam/ctl/ctl_backend_block.c +++ b/sys/cam/ctl/ctl_backend_block.c @@ -2826,13 +2826,13 @@ ctl_be_block_lun_info(struct ctl_be_lun *cbe_lun, struct sbuf *sb) struct ctl_be_block_lun *lun = (struct ctl_be_block_lun *)cbe_lun; int retval; - retval = sbuf_printf(sb, "\t"); + retval = sbuf_cat(sb, "\t"); if (retval != 0) goto bailout; retval = sbuf_printf(sb, "%d", lun->num_threads); if (retval != 0) goto bailout; - retval = sbuf_printf(sb, "\n"); + retval = sbuf_cat(sb, "\n"); bailout: return (retval); diff --git a/sys/cam/ctl/ctl_frontend_iscsi.c b/sys/cam/ctl/ctl_frontend_iscsi.c index 019026d78d67..fe3b1a943206 100644 --- a/sys/cam/ctl/ctl_frontend_iscsi.c +++ b/sys/cam/ctl/ctl_frontend_iscsi.c @@ -1721,7 +1721,7 @@ cfiscsi_ioctl_list(struct ctl_iscsi *ci) return; } - sbuf_printf(sb, "\n"); + sbuf_cat(sb, "\n"); mtx_lock(&softc->lock); TAILQ_FOREACH(cs, &softc->sessions, cs_next) { if (cs->cs_target == NULL) @@ -1760,7 +1760,7 @@ cfiscsi_ioctl_list(struct ctl_iscsi *ci) break; } mtx_unlock(&softc->lock); - error = sbuf_printf(sb, "\n"); + error = sbuf_cat(sb, "\n"); if (error != 0) { sbuf_delete(sb); ci->status = CTL_ISCSI_LIST_NEED_MORE_SPACE; diff --git a/sys/cam/ctl/ctl_scsi_all.c b/sys/cam/ctl/ctl_scsi_all.c index d712377e3389..5c55907cb27c 100644 --- a/sys/cam/ctl/ctl_scsi_all.c +++ b/sys/cam/ctl/ctl_scsi_all.c @@ -137,7 +137,7 @@ ctl_scsi_sense_sbuf(struct ctl_scsiio *ctsio, ctl_scsi_command_string(ctsio, inq_data, sb); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } scsi_sense_only_sbuf(&ctsio->sense_data, ctsio->sense_len, sb, diff --git a/sys/cam/ctl/ctl_util.c b/sys/cam/ctl/ctl_util.c index 3b0e40311213..76f4aff6bb3d 100644 --- a/sys/cam/ctl/ctl_util.c +++ b/sys/cam/ctl/ctl_util.c @@ -755,7 +755,7 @@ ctl_io_sbuf(union ctl_io *io, struct sbuf *sb) io->taskio.tag_num, io->taskio.tag_type); break; default: - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); break; } break; diff --git a/sys/cam/mmc/mmc_xpt.c b/sys/cam/mmc/mmc_xpt.c index c8b57c2d8d86..0947e0addf59 100644 --- a/sys/cam/mmc/mmc_xpt.c +++ b/sys/cam/mmc/mmc_xpt.c @@ -428,9 +428,9 @@ mmc_print_ident(struct mmc_params *ident_data, struct sbuf *sb) bool space = false; sbuf_printf(sb, "Relative addr: %08x\n", ident_data->card_rca); - sbuf_printf(sb, "Card features: <"); + sbuf_cat(sb, "Card features: <"); if (ident_data->card_features & CARD_FEATURE_MMC) { - sbuf_printf(sb, "MMC"); + sbuf_cat(sb, "MMC"); space = true; } if (ident_data->card_features & CARD_FEATURE_MEMORY) { @@ -452,7 +452,7 @@ mmc_print_ident(struct mmc_params *ident_data, struct sbuf *sb) if (ident_data->card_features & CARD_FEATURE_18V) { sbuf_printf(sb, "%s1.8-Signaling", space ? " " : ""); } - sbuf_printf(sb, ">\n"); + sbuf_cat(sb, ">\n"); if (ident_data->card_features & CARD_FEATURE_MEMORY) sbuf_printf(sb, "Card memory OCR: %08x\n", diff --git a/sys/cam/nvme/nvme_all.c b/sys/cam/nvme/nvme_all.c index 7f0878c0f288..a3c3d676b349 100644 --- a/sys/cam/nvme/nvme_all.c +++ b/sys/cam/nvme/nvme_all.c @@ -87,23 +87,23 @@ nvme_print_ident(const struct nvme_controller_data *cdata, const struct nvme_namespace_data *data, struct sbuf *sb) { nvme_print_ident_short(cdata, data, sb); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } void nvme_print_ident_short(const struct nvme_controller_data *cdata, const struct nvme_namespace_data *data, struct sbuf *sb) { - sbuf_printf(sb, "<"); + sbuf_putc(sb, '<'); cam_strvis_sbuf(sb, cdata->mn, sizeof(cdata->mn), CAM_STRVIS_FLAG_NONASCII_SPC); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); cam_strvis_sbuf(sb, cdata->fr, sizeof(cdata->fr), CAM_STRVIS_FLAG_NONASCII_SPC); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); cam_strvis_sbuf(sb, cdata->sn, sizeof(cdata->sn), CAM_STRVIS_FLAG_NONASCII_SPC); - sbuf_printf(sb, ">"); + sbuf_putc(sb, '>'); } /* XXX need to do nvme admin opcodes too, but those aren't used yet by nda */ diff --git a/sys/cam/nvme/nvme_da.c b/sys/cam/nvme/nvme_da.c index 89984e3aaf36..73c385b2fe1c 100644 --- a/sys/cam/nvme/nvme_da.c +++ b/sys/cam/nvme/nvme_da.c @@ -810,7 +810,7 @@ ndaflagssysctl(SYSCTL_HANDLER_ARGS) if (softc->flags != 0) sbuf_printf(&sbuf, "0x%b", (unsigned)softc->flags, NDA_FLAG_STRING); else - sbuf_printf(&sbuf, "0"); + sbuf_putc(&sbuf, '0'); error = sbuf_finish(&sbuf); sbuf_delete(&sbuf); diff --git a/sys/cam/nvme/nvme_xpt.c b/sys/cam/nvme/nvme_xpt.c index 8b9fbcd21291..86127aca7b0f 100644 --- a/sys/cam/nvme/nvme_xpt.c +++ b/sys/cam/nvme/nvme_xpt.c @@ -814,7 +814,7 @@ nvme_announce_periph_sbuf(struct cam_periph *periph, struct sbuf *sb) nvmex->lanes, nvmex->max_lanes, nvmex->speed, nvmex->max_speed); } - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } static void diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c index 7cc323595566..07295f313cca 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -4570,9 +4570,9 @@ scsi_stream_sbuf(struct sbuf *sb, uint8_t stream_bits) /* * XXX KDM this needs more descriptive decoding. */ - sbuf_printf(sb, "Stream Command Sense Data: "); + sbuf_cat(sb, "Stream Command Sense Data: "); if (stream_bits & SSD_DESC_STREAM_FM) { - sbuf_printf(sb, "Filemark"); + sbuf_cat(sb, "Filemark"); need_comma = 1; } @@ -4589,9 +4589,9 @@ void scsi_block_sbuf(struct sbuf *sb, uint8_t block_bits) { - sbuf_printf(sb, "Block Command Sense Data: "); + sbuf_cat(sb, "Block Command Sense Data: "); if (block_bits & SSD_DESC_BLOCK_ILI) - sbuf_printf(sb, "ILI"); + sbuf_cat(sb, "ILI"); } void @@ -4925,7 +4925,7 @@ scsi_print_desc_func(struct scsi_sense_data_desc *sense, u_int sense_len, (struct scsi_sense_data *)sense, sense_len, print_info->cdb, print_info->cdb_len, print_info->inq_data, header); - sbuf_printf(print_info->sb, "\n"); + sbuf_putc(print_info->sb, '\n'); break; } } @@ -4950,11 +4950,11 @@ scsi_sense_only_sbuf(struct scsi_sense_data *sense, u_int sense_len, scsi_extract_sense_len(sense, sense_len, &error_code, &sense_key, &asc, &ascq, /*show_errors*/ 1); - sbuf_printf(sb, "SCSI sense: "); + sbuf_cat(sb, "SCSI sense: "); switch (error_code) { case SSD_DEFERRED_ERROR: case SSD_DESC_DEFERRED_ERROR: - sbuf_printf(sb, "Deferred error: "); + sbuf_cat(sb, "Deferred error: "); /* FALLTHROUGH */ case SSD_CURRENT_ERROR: @@ -4991,12 +4991,12 @@ scsi_sense_only_sbuf(struct scsi_sense_data *sense, u_int sense_len, &bits) == 0 && bits != 0) { sbuf_cat(sb, path_str); scsi_block_sbuf(sb, bits); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } else if (scsi_get_stream_info(sense, sense_len, inq_data, &bits) == 0 && bits != 0) { sbuf_cat(sb, path_str); scsi_stream_sbuf(sb, bits); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } /* @@ -5006,7 +5006,7 @@ scsi_sense_only_sbuf(struct scsi_sense_data *sense, u_int sense_len, &val, NULL) == 0) { sbuf_cat(sb, path_str); scsi_info_sbuf(sb, cdb, cdb_len, inq_data, val); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } /* @@ -5016,7 +5016,7 @@ scsi_sense_only_sbuf(struct scsi_sense_data *sense, u_int sense_len, &val, NULL) == 0) { sbuf_cat(sb, path_str); scsi_fru_sbuf(sb, val); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } /* @@ -5026,7 +5026,7 @@ scsi_sense_only_sbuf(struct scsi_sense_data *sense, u_int sense_len, &val, NULL) == 0) { sbuf_cat(sb, path_str); scsi_command_sbuf(sb, cdb, cdb_len, inq_data, val); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } /* @@ -5035,7 +5035,7 @@ scsi_sense_only_sbuf(struct scsi_sense_data *sense, u_int sense_len, if (scsi_get_sks(sense, sense_len, sks) == 0) { sbuf_cat(sb, path_str); scsi_sks_sbuf(sb, sense_key, sks); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } /* @@ -5067,7 +5067,7 @@ scsi_sense_only_sbuf(struct scsi_sense_data *sense, u_int sense_len, * show_errors flag is set and they aren't present in the * sense data. This means that sense_len is 0. */ - sbuf_printf(sb, "No sense data present\n"); + sbuf_cat(sb, "No sense data present\n"); break; default: { sbuf_printf(sb, "Error code 0x%x", error_code); @@ -5085,7 +5085,7 @@ scsi_sense_only_sbuf(struct scsi_sense_data *sense, u_int sense_len, info); } } - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); break; } } @@ -5167,7 +5167,7 @@ scsi_sense_sbuf(struct cam_device *device, struct ccb_scsiio *csio, #else /* !_KERNEL */ scsi_command_string(device, csio, sb); #endif /* _KERNEL/!_KERNEL */ - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } /* @@ -5541,7 +5541,7 @@ scsi_print_inquiry_sbuf(struct sbuf *sb, struct scsi_inquiry_data *inq_data) sbuf_printf(sb, "%s %s ", SID_IS_REMOVABLE(inq_data) ? "Removable" : "Fixed", dtype); if (SID_ANSI_REV(inq_data) == SCSI_REV_0) - sbuf_printf(sb, "SCSI "); + sbuf_cat(sb, "SCSI "); else if (SID_ANSI_REV(inq_data) <= SCSI_REV_SPC) { sbuf_printf(sb, "SCSI-%d ", SID_ANSI_REV(inq_data)); } else { @@ -5566,13 +5566,13 @@ void scsi_print_inquiry_short_sbuf(struct sbuf *sb, struct scsi_inquiry_data *inq_data) { - sbuf_printf(sb, "<"); + sbuf_putc(sb, '<'); cam_strvis_sbuf(sb, inq_data->vendor, sizeof(inq_data->vendor), 0); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); cam_strvis_sbuf(sb, inq_data->product, sizeof(inq_data->product), 0); - sbuf_printf(sb, " "); + sbuf_putc(sb, ' '); cam_strvis_sbuf(sb, inq_data->revision, sizeof(inq_data->revision), 0); - sbuf_printf(sb, "> "); + sbuf_cat(sb, "> "); } void @@ -5872,7 +5872,7 @@ scsi_transportid_sbuf(struct sbuf *sb, struct scsi_transportid_header *hdr, rdma = (struct scsi_transportid_rdma *)hdr; - sbuf_printf(sb, "RDMA address: 0x"); + sbuf_cat(sb, "RDMA address: 0x"); for (i = 0; i < sizeof(rdma->initiator_port_id); i++) sbuf_printf(sb, "%02x", rdma->initiator_port_id[i]); break; @@ -5882,7 +5882,7 @@ scsi_transportid_sbuf(struct sbuf *sb, struct scsi_transportid_header *hdr, uint8_t *iscsi_name = NULL; int nul_found = 0; - sbuf_printf(sb, "iSCSI address: "); + sbuf_cat(sb, "iSCSI address: "); if ((hdr->format_protocol & SCSI_TRN_FORMAT_MASK) == SCSI_TRN_ISCSI_FORMAT_DEVICE) { struct scsi_transportid_iscsi_device *dev; @@ -5917,7 +5917,7 @@ scsi_transportid_sbuf(struct sbuf *sb, struct scsi_transportid_header *hdr, break; } if (add_len == 0) { - sbuf_printf(sb, "not enough data"); + sbuf_cat(sb, "not enough data"); break; } /* @@ -7083,7 +7083,7 @@ scsi_attrib_volcoh_sbuf(struct sbuf *sb, struct scsi_mam_attribute_header *hdr, vcr_len = *cur_ptr; cur_ptr++; - sbuf_printf(sb, "\n\tVolume Change Reference Value:"); + sbuf_cat(sb, "\n\tVolume Change Reference Value:"); switch (vcr_len) { case 0: @@ -7110,7 +7110,7 @@ scsi_attrib_volcoh_sbuf(struct sbuf *sb, struct scsi_mam_attribute_header *hdr, tmp_val = scsi_8btou64(cur_ptr); break; default: - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); sbuf_hexdump(sb, cur_ptr, vcr_len, NULL, 0); break; } @@ -7133,11 +7133,11 @@ scsi_attrib_volcoh_sbuf(struct sbuf *sb, struct scsi_mam_attribute_header *hdr, cur_ptr += sizeof(tmp_val); as_len = scsi_2btoul(cur_ptr); cur_ptr += sizeof(uint16_t); - sbuf_printf(sb, "\tApplication Client Specific Information: "); + sbuf_cat(sb, "\tApplication Client Specific Information: "); if (((as_len == SCSI_LTFS_VER0_LEN) || (as_len == SCSI_LTFS_VER1_LEN)) && (strncmp(cur_ptr, SCSI_LTFS_STR_NAME, SCSI_LTFS_STR_LEN) == 0)) { - sbuf_printf(sb, "LTFS\n"); + sbuf_cat(sb, "LTFS\n"); cur_ptr += SCSI_LTFS_STR_LEN + 1; if (cur_ptr[SCSI_LTFS_UUID_LEN] != '\0') cur_ptr[SCSI_LTFS_UUID_LEN] = '\0'; @@ -7146,7 +7146,7 @@ scsi_attrib_volcoh_sbuf(struct sbuf *sb, struct scsi_mam_attribute_header *hdr, /* XXX KDM check the length */ sbuf_printf(sb, "\tLTFS Version: %d\n", *cur_ptr); } else { - sbuf_printf(sb, "Unknown\n"); + sbuf_cat(sb, "Unknown\n"); sbuf_hexdump(sb, cur_ptr, as_len, NULL, 0); } @@ -7232,7 +7232,7 @@ scsi_attrib_hexdump_sbuf(struct sbuf *sb, struct scsi_mam_attribute_header *hdr, num_ptr = hdr->attribute; if (print_len > 0) { - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); sbuf_hexdump(sb, num_ptr, print_len, NULL, 0); } @@ -7525,7 +7525,7 @@ scsi_attrib_prefix_sbuf(struct sbuf *sb, uint32_t output_flags, if ((output_flags & SCSI_ATTR_OUTPUT_FIELD_DESC) && (desc != NULL)) { - sbuf_printf(sb, "%s", desc); + sbuf_cat(sb, desc); need_space = 1; } @@ -7542,7 +7542,7 @@ scsi_attrib_prefix_sbuf(struct sbuf *sb, uint32_t output_flags, sbuf_printf(sb, "%s(%s)", (need_space) ? " " : "", (hdr->byte2 & SMA_READ_ONLY) ? "RO" : "RW"); } - sbuf_printf(sb, ": "); + sbuf_cat(sb, ": "); } int @@ -7620,7 +7620,7 @@ bailout: sbuf_printf(sb, " %s", entry->suffix); sbuf_trim(sb); - sbuf_printf(sb, "\n"); + sbuf_putc(sb, '\n'); } return (retval); diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c index 175774d83015..35bfd096f3e1 100644 --- a/sys/cam/scsi/scsi_da.c +++ b/sys/cam/scsi/scsi_da.c @@ -2664,7 +2664,7 @@ daflagssysctl(SYSCTL_HANDLER_ARGS) if (softc->flags != 0) sbuf_printf(&sbuf, "0x%b", (unsigned)softc->flags, DA_FLAG_STRING); else - sbuf_printf(&sbuf, "0"); + sbuf_putc(&sbuf, '0'); error = sbuf_finish(&sbuf); sbuf_delete(&sbuf); @@ -2756,7 +2756,7 @@ dazonesupsysctl(SYSCTL_HANDLER_ARGS) } if (first == 1) - sbuf_printf(&sb, "None"); + sbuf_cat(&sb, "None"); error = sbuf_finish(&sb); sbuf_delete(&sb); diff --git a/sys/cam/scsi/scsi_enc_ses.c b/sys/cam/scsi/scsi_enc_ses.c index e122e0d0e0d9..0a3136aa8d10 100644 --- a/sys/cam/scsi/scsi_enc_ses.c +++ b/sys/cam/scsi/scsi_enc_ses.c @@ -2268,12 +2268,12 @@ ses_get_elm_addlstatus_fc(enc_softc_t *enc, enc_cache_t *enc_cache, if (((p) & SES_SASOBJ_DEV_PHY_PROTOMASK) != 0) { \ sbuf_printf(sbp, " %s (", type); \ if ((p) & SES_SASOBJ_DEV_PHY_SMP) \ - sbuf_printf(sbp, " SMP"); \ + sbuf_cat(sbp, " SMP"); \ if ((p) & SES_SASOBJ_DEV_PHY_STP) \ - sbuf_printf(sbp, " STP"); \ + sbuf_cat(sbp, " STP"); \ if ((p) & SES_SASOBJ_DEV_PHY_SSP) \ - sbuf_printf(sbp, " SSP"); \ - sbuf_printf(sbp, " )"); \ + sbuf_cat(sbp, " SSP"); \ + sbuf_cat(sbp, " )"); \ } \ } while(0) @@ -2302,7 +2302,7 @@ ses_print_addl_data_sas_type0(char *sesname, struct sbuf *sbp, if (ses_elm_addlstatus_eip(addl->hdr)) sbuf_printf(sbp, " at slot %d", addl->proto_hdr.sas->type0_eip.dev_slot_num); - sbuf_printf(sbp, "\n"); + sbuf_putc(sbp, '\n'); if (addl->proto_data.sasdev_phys == NULL) return; for (i = 0;i < addl->proto_hdr.sas->base_hdr.num_phys;i++) { @@ -2310,13 +2310,13 @@ ses_print_addl_data_sas_type0(char *sesname, struct sbuf *sbp, sbuf_printf(sbp, "%s: phy %d:", sesname, i); if (ses_elm_sas_dev_phy_sata_dev(phy)) /* Spec says all other fields are specific values */ - sbuf_printf(sbp, " SATA device\n"); + sbuf_cat(sbp, " SATA device\n"); else { sbuf_printf(sbp, " SAS device type %d phy %d", ses_elm_sas_dev_phy_dev_type(phy), phy->phy_id); SES_PRINT_PORTS(phy->initiator_ports, "Initiator"); SES_PRINT_PORTS(phy->target_ports, "Target"); - sbuf_printf(sbp, "\n"); + sbuf_putc(sbp, '\n'); } sbuf_printf(sbp, "%s: phy %d: parent %jx addr %jx\n", sesname, i, @@ -2346,7 +2346,7 @@ ses_print_addl_data_sas_type1(char *sesname, struct sbuf *sbp, elmpriv = obj->elm_private; addl = &(elmpriv->addl); - sbuf_printf(sbp, ", SAS "); + sbuf_cat(sbp, ", SAS "); if (obj->elm_type == ELMTYP_SAS_EXP) { num_phys = addl->proto_hdr.sas->base_hdr.num_phys; sbuf_printf(sbp, "Expander: %d phys", num_phys); @@ -2419,7 +2419,7 @@ ses_print_addl_data(enc_softc_t *enc, enc_element_t *obj) sbuf_new(&out, NULL, 512, SBUF_AUTOEXTEND); ses_paths_iter(enc, obj, ses_elmdevname_callback, &name); if (sbuf_len(&name) == 0) *** 101 LINES SKIPPED *** From nobody Thu Nov 23 04:01:01 2023 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 4SbPY9307Nz51C75; Thu, 23 Nov 2023 04:01:01 +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 4SbPY92W5Qz4Nwh; Thu, 23 Nov 2023 04:01:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712061; 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=c/wucx1diwwKRokDWAWq1oEfWXdh256o4iBi91tGQ/U=; b=vpgyjw0peYq6jo3KA3KZCgUqroDqDTtcmbipo0jsfH+OZDPWxmigszwI1zo4z3sqsg9yec 6kTGR7x7I3oPsk/lQg5B5Da3nBjYjlLt4VO4k8BINqzKrMMhWOMWil/uUWqcuz3FRGu8sH XfKWVnm+KTCfV2p1o0+e/1xFPc6Puj71rvwRYsFchIcIiazd11xLrl5XGB+uoYcefcblp/ Ed2RCsqUFlh822ek2NTMnnUEkUBsUAj7oYxgW8irkoM5wk84x5+tvhzp2DrWnkydKNaJTN HtqmcmnugOr8im7jQIixoDpZA/uSCCUFzTr9ZQj9SJNIEPA+xo50yuynxxA60g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712061; 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=c/wucx1diwwKRokDWAWq1oEfWXdh256o4iBi91tGQ/U=; b=iomgxsgkyAI2BfcCgpAa7AQAEievRWvku/jr6vVeSEqo360Y6IWgWj38IyU7CbbWnl+RID JSx0yT7NlKexBfAnlhGRdP/liIXck2CQ4O8qMTNHM41RR3NTQC6oKXa/LE4zYl7cUK3ZKZ S+mD+Ta7iPOd3Qdyk1SAykvVnWp4YsTlLCQBxHi46q+S0jsfOjL83H1D4KC/v4J6jNNLEm Z/lbh0VRX0QsX42K0Gr/kLK32cuHBbnKm1jqt8iJ3YKrqYu6hfsvlxcOWw1+abNvT/sOjE vwgUyMekk7cwpLP74A/Zg1LW/8LJH6C2TWm8gJWgaC47NPt1GJ1knOnJbRUF9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712061; a=rsa-sha256; cv=none; b=o2vUKYVWSso6O8DyEYPk9xSkHEwJo8nzWgcxlBvmqbhMGNhqNLlnahL+okcCcpVJegJ8Ux WWe2hQuMFL5sOMQCGeUfkNVu1W0xb9FjNO/cElale5/5Q03oMcSDRDBxhf44a8TlcfI6up JywzdkpHwEq/U+XUqNpfy4EZbffZKc0QTXG4RGjKHk3mBeclSB1QGkkXWckV4un4Z543OL cpuyPNWFpp9xOzkPT598QFWpbEKHSyOWeldRPGUwKI37WoTrG4dg6ksLz1wtRg78isj/0Y k695J9XHWw7G5dPcCmv9u0jElPAHyye6zlAX/AfuI92wDG9SoAetesU/gcs2dg== 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 4SbPY91ZJZzmbM; Thu, 23 Nov 2023 04:01:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN411rd098597; Thu, 23 Nov 2023 04:01:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN411OM098594; Thu, 23 Nov 2023 04:01:01 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:01:01 GMT Message-Id: <202311230401.3AN411OM098594@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 5889b1f052fe - stable/14 - arm64: do not register elf32 brand if hardware cannot exec aarch32 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 5889b1f052fef73cd75dbb71e05d855fa8a10bb4 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5889b1f052fef73cd75dbb71e05d855fa8a10bb4 commit 5889b1f052fef73cd75dbb71e05d855fa8a10bb4 Author: Konstantin Belousov AuthorDate: 2023-11-16 19:45:52 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-23 04:00:36 +0000 arm64: do not register elf32 brand if hardware cannot exec aarch32 (cherry picked from commit 0aa93010c571b88a6402405be22745fa05a5baab) --- sys/arm64/arm64/elf32_machdep.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/sys/arm64/arm64/elf32_machdep.c b/sys/arm64/arm64/elf32_machdep.c index 26aa2cddfdb2..4acb68b09108 100644 --- a/sys/arm64/arm64/elf32_machdep.c +++ b/sys/arm64/arm64/elf32_machdep.c @@ -153,8 +153,16 @@ static Elf32_Brandinfo freebsd32_brand_info = { .header_supported= elf32_arm_abi_supported, }; -SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST, - (sysinit_cfunc_t)elf32_insert_brand_entry, &freebsd32_brand_info); +static void +register_elf32_brand(void *arg) +{ + /* Check if we support AArch32 */ + if (ID_AA64PFR0_EL0_VAL(READ_SPECIALREG(id_aa64pfr0_el1)) == + ID_AA64PFR0_EL0_64_32) { + elf32_insert_brand_entry(&freebsd32_brand_info); + } +} +SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST, register_elf32_brand, NULL); static bool elf32_arm_abi_supported(struct image_params *imgp, int32_t *osrel __unused, @@ -162,11 +170,6 @@ elf32_arm_abi_supported(struct image_params *imgp, int32_t *osrel __unused, { const Elf32_Ehdr *hdr; - /* Check if we support AArch32 */ - if (ID_AA64PFR0_EL0_VAL(READ_SPECIALREG(id_aa64pfr0_el1)) != - ID_AA64PFR0_EL0_64_32) - return (false); - #define EF_ARM_EABI_FREEBSD_MIN EF_ARM_EABI_VER4 hdr = (const Elf32_Ehdr *)imgp->image_header; if (EF_ARM_EABI_VERSION(hdr->e_flags) < EF_ARM_EABI_FREEBSD_MIN) { From nobody Thu Nov 23 04:01:02 2023 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 4SbPYB48dHz51C94; Thu, 23 Nov 2023 04:01:02 +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 4SbPYB3jSfz4NxC; Thu, 23 Nov 2023 04:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712062; 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=BQGjBcdJx04bcHQqocdFyEL38FVTJMrxGwFKw+4BH1o=; b=CBUBwpoZmSkkNlAR6WUxbnkoYoht4ZCHbo47DaVoaiyt+euhfWflJtfVvbTkBODBz/LEBM 2kQEBvqnCxEps3Hv8xSqs2BMHeRZW5Ox1spqMTb+kA7BZDYSiYGN8cmHHFjy2L7iWTGCJB G18MyII/x/4l3sWno8sEJPFPgcx378UC3A8UNX9XQUEVcoFDx9TBYbkd/3Vl4nrnXkMCPe LnPIoxnWe2mi24yJ9yQpEHRsQA1b5Ii38VW/p4gI9UNDTJLKQTc9mgvE3NnUmYKByCFYtz Tkod+JdULXHn643a3jjf3Wj7QRuBXstZPOvqpHDGBEzrHdcxQzX5ayrHTd2u3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712062; 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=BQGjBcdJx04bcHQqocdFyEL38FVTJMrxGwFKw+4BH1o=; b=b0MFSufcLyEBRccRB64wuoM1JFN+ShzPncTXRzBBMfFwTSez5WIRGgvma9DzbLpBzSpy3J m5SUugcadfUpqgUe39kgfu4MXPVHuE4hjvJkr93L7ki7ixCqmt4tXezeeqvreGf6yy7LF5 orA1sWjY4mQdTXpqgP0Na3qw/Y3ainzdHrnuG40bniyxleZImSrpAz/JSNH2+H220Ck9wP UncvdXY8BByCaVBtlW0iCGmqZMDXzVaU98VMlBe1kbjPZI4W6CpHpyFkuLgUODKgSqR5Rr ER0pLH4llMVmYWUvRUqrdkjHZVjJdRtqAy2GrGHzeCXK3vO2ctocZ4KS8smPAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712062; a=rsa-sha256; cv=none; b=ZJwBFSvevFIFERmbgkzETq1QSM67peNZIlXQymjPlfy0X5eHnF5Cde2Km1uAUjZS8DVAD/ Ol1ialg+XzQq1LGtpeyrXBXaM72bLB+85kSWMb7JWuKvouVPCSz6y+FhM486Hg8MIeEFb3 5Qz5R7pIP1DpwSiWeCcObswvu9heibtHcpYRFs5jFgtTAqzfkrKoGedYUe9zI4SpxacQ3c PyD21m38mXxmDm2Vm+9BkiWtx6Nl/U+ht6WJgXL/VKmiYcLTj0/MtS85cNi5iAZkEfHYPL 5K/cAHzRb8DYFXK7bT45d2WTKV7qauJMSfx1fOl9fAKDJmkDrrdQ5VES7YIBBw== 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 4SbPYB2pfVzmMd; Thu, 23 Nov 2023 04:01:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN412CJ098642; Thu, 23 Nov 2023 04:01:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN412eX098639; Thu, 23 Nov 2023 04:01:02 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:01:02 GMT Message-Id: <202311230401.3AN412eX098639@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 9d7412604d63 - stable/14 - kernel: add missed FEATUREs compat_freebsd 8-14 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9d7412604d631c0a6ab7f24fc69a644ff93b4ac7 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9d7412604d631c0a6ab7f24fc69a644ff93b4ac7 commit 9d7412604d631c0a6ab7f24fc69a644ff93b4ac7 Author: Konstantin Belousov AuthorDate: 2023-11-16 20:47:18 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-23 04:00:36 +0000 kernel: add missed FEATUREs compat_freebsd 8-14 (cherry picked from commit e256f71389fbf0ef6cf8f547342d5f789e69f918) --- sys/kern/kern_mib.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index 2298f942da6b..9094d09550ee 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -630,6 +630,30 @@ FEATURE(compat_freebsd6, "Compatible with FreeBSD 6"); FEATURE(compat_freebsd7, "Compatible with FreeBSD 7"); #endif +#ifdef COMPAT_FREEBSD8 +FEATURE(compat_freebsd8, "Compatible with FreeBSD 8"); +#endif + +#ifdef COMPAT_FREEBSD9 +FEATURE(compat_freebsd9, "Compatible with FreeBSD 9"); +#endif + +#ifdef COMPAT_FREEBSD10 +FEATURE(compat_freebsd10, "Compatible with FreeBSD 10"); +#endif + +#ifdef COMPAT_FREEBSD11 +FEATURE(compat_freebsd11, "Compatible with FreeBSD 11"); +#endif + +#ifdef COMPAT_FREEBSD12 +FEATURE(compat_freebsd12, "Compatible with FreeBSD 12"); +#endif + +#ifdef COMPAT_FREEBSD13 +FEATURE(compat_freebsd13, "Compatible with FreeBSD 13"); +#endif + /* * This is really cheating. These actually live in the libc, something * which I'm not quite sure is a good idea anyway, but in order for From nobody Thu Nov 23 04:01:03 2023 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 4SbPYC5WDyz51C27; Thu, 23 Nov 2023 04:01:03 +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 4SbPYC4m7Wz4Nxq; Thu, 23 Nov 2023 04:01:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712063; 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=bhLuLVhWbzLx4PQG/k6WUEYPbB2WCFa2w+K3L/HLSw0=; b=RXxTrhZjT0NaS3916KUBhyfyYSBG6UDyElZ57kYZXTF5uArYSWy1zC5BOglZcuyVE1qR4b xcBrN7zbK4SxENBo3eoXUAc6+qvcil7hE96see7wAfJP08ivoVDr+d3pEp3x9JvymrnCeV 2YGp+FEecYuuiYVxj7fKwYfAVJZaS6T0ApvvDdcRqR1k1WzbIZIs+oZLldmhzN1PA66VqR hwB2nddy+75UacbfAiAuItU/GA7dfC0nBHHUR1oeiomzv/ShNWv4zv9T92UqvrPaoE7/GZ r6M5GokNVzzKXZUSiIi89RKm+iogXcakNHzQFf0u4MiJ9mavnf2YVUTMoStvIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712063; 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=bhLuLVhWbzLx4PQG/k6WUEYPbB2WCFa2w+K3L/HLSw0=; b=fgmg7/1yNKcGufYxFDmJ2G+dimUkxGyx/EIEJYhXR0emeZJymZuSYKtBk1HYNZMMucIxMA O+5P/PgdfIiLsXtnn3Wl1eQkUd2IcLL7a1BStX+2xw1jr3dW7q6hoG5K2FGeWhBKlqmX/e jECEW7xrgzgJxE8D7J+NWlJhJE3TOey+sKaZOYthyx2C6VgJjvhx0ae3ROv+EU64G4rwy5 wnPnOalsilwCrlTWzILfSlV8Y4agSiZWzIqe/Q5DU18rZxF8w7Dr5PlX4i9pLIkTVIzc15 toM6YOZX1afxBQy+jU7FuKGjqqT/x8I2wBx9yRv3ds3b08reZf8VEjZYNOAokQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712063; a=rsa-sha256; cv=none; b=UlbFWEN1xrEAPJurEowRMJ3nxWyfkSKC/2+UuYBEAhLAh34FR+SBufdNaJ5ULyQPDzyRLm aq2VMc3K65Gv85umWhpG+h6E8qqjBYpLPznYwsVUq1zDjsf/Seoi7Izs8FLMJYzDG0WOHK jpx+LN9SBdFeZVF+O/9X8QLwBd/4bbW9ZF5FJNeh3zCQqr9tdyOWhaXVfdqrZXFEyHeIgY qVsP3PNVoRujX4Fc6UgF4Dlvnz15qW9HDLRyCqKDeWu28+6ynynpoP54yenLz9cs0/LULj KAYmOL/hgUsQx68jrJRCmTG0WSTfyqZ+q9bZG3eX1GVrf1r84zUa7ut7p9wCvw== 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 4SbPYC3Sx1zmfN; Thu, 23 Nov 2023 04:01:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN413uJ098692; Thu, 23 Nov 2023 04:01:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN413J0098689; Thu, 23 Nov 2023 04:01:03 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:01:03 GMT Message-Id: <202311230401.3AN413J0098689@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 3114e149b020 - stable/14 - vn_lock_pair(): reasonably handle vp1 == vp2 case 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3114e149b02016f7231c9f2fc774b7a61af191c4 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3114e149b02016f7231c9f2fc774b7a61af191c4 commit 3114e149b02016f7231c9f2fc774b7a61af191c4 Author: Konstantin Belousov AuthorDate: 2023-11-16 22:42:25 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-23 04:00:36 +0000 vn_lock_pair(): reasonably handle vp1 == vp2 case (cherry picked from commit 22bac49b09a9f975330dc0d811436599ce740890) --- sys/kern/vfs_vnops.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 27ce5401f15f..f81516608eeb 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -4042,10 +4042,10 @@ vn_lock_pair_pause(const char *wmesg) } /* - * Lock pair of vnodes vp1, vp2, avoiding lock order reversal. - * vp1_locked indicates whether vp1 is locked; if not, vp1 must be - * unlocked. Same for vp2 and vp2_locked. One of the vnodes can be - * NULL. + * Lock pair of (possibly same) vnodes vp1, vp2, avoiding lock order + * reversal. vp1_locked indicates whether vp1 is locked; if not, vp1 + * must be unlocked. Same for vp2 and vp2_locked. One of the vnodes + * can be NULL. * * The function returns with both vnodes exclusively or shared locked, * according to corresponding lkflags, and guarantees that it does not @@ -4056,12 +4056,14 @@ vn_lock_pair_pause(const char *wmesg) * * Only one of LK_SHARED and LK_EXCLUSIVE must be specified. * LK_NODDLKTREAT can be optionally passed. + * + * If vp1 == vp2, only one, most exclusive, lock is obtained on it. */ void vn_lock_pair(struct vnode *vp1, bool vp1_locked, int lkflags1, struct vnode *vp2, bool vp2_locked, int lkflags2) { - int error; + int error, locked1; MPASS(((lkflags1 & LK_SHARED) != 0) ^ ((lkflags1 & LK_EXCLUSIVE) != 0)); MPASS((lkflags1 & ~(LK_SHARED | LK_EXCLUSIVE | LK_NODDLKTREAT)) == 0); @@ -4071,6 +4073,35 @@ vn_lock_pair(struct vnode *vp1, bool vp1_locked, int lkflags1, if (vp1 == NULL && vp2 == NULL) return; + if (vp1 == vp2) { + MPASS(vp1_locked == vp2_locked); + + /* Select the most exclusive mode for lock. */ + if ((lkflags1 & LK_TYPE_MASK) != (lkflags2 & LK_TYPE_MASK)) + lkflags1 = (lkflags1 & ~LK_SHARED) | LK_EXCLUSIVE; + + if (vp1_locked) { + ASSERT_VOP_LOCKED(vp1, "vp1"); + + /* No need to relock if any lock is exclusive. */ + if ((vp1->v_vnlock->lock_object.lo_flags & + LK_NOSHARE) != 0) + return; + + locked1 = VOP_ISLOCKED(vp1); + if (((lkflags1 & LK_SHARED) != 0 && + locked1 != LK_EXCLUSIVE) || + ((lkflags1 & LK_EXCLUSIVE) != 0 && + locked1 == LK_EXCLUSIVE)) + return; + VOP_UNLOCK(vp1); + } + + ASSERT_VOP_UNLOCKED(vp1, "vp1"); + vn_lock(vp1, lkflags1 | LK_RETRY); + return; + } + if (vp1 != NULL) { if ((lkflags1 & LK_SHARED) != 0 && (vp1->v_vnlock->lock_object.lo_flags & LK_NOSHARE) != 0) From nobody Thu Nov 23 04:01:04 2023 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 4SbPYD68SJz51CLZ; Thu, 23 Nov 2023 04:01:04 +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 4SbPYD5Zjhz4P8X; Thu, 23 Nov 2023 04:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712064; 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=kJbKosrVjZM6/+786W7sn27/fpKfy8Mk2KGHbiNnWWE=; b=P3bezc10BznnWrI4QUPQBn5UP8nJwbopNUE67KuGLGlxPHKuJb0nJFYbRAtJimyvwYLFml GEG0yTyGJohW2Jq8IINWMOyiYj3TFVbhe4iifhDjXsO2ha/O+8oX4qF3pHqpghpWN7OOvx oIj6BqbCNqzl8TQDXaLvaBBHEhb7iPE62irUKAd7n97orbMTSzfqUS50kbWfY/yZRQwh+k PWirMkZ7BQ81R8qVqHfMEa8BV7i9WT8m9FNWiR9YY+J9Scn1oxRMAHrG501ximufcKLJvD B9SOh8TvIvZFoMa/YeUeb6jjiL71s/rZ5ARnPfw98iS4dKtjwXmE7JtaBSFDGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712064; 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=kJbKosrVjZM6/+786W7sn27/fpKfy8Mk2KGHbiNnWWE=; b=QbhwdGI5JxMfZVBxCOAU4JIJQGT8S7OhLX0+qC3l9IluR3l012bFUANpJ13zMcJw3GQLjJ AnIJK0FUVYy3kPriVKN2GZuHlzaSZGZlEN7Mk3fFh5dStiwO9nngruUYYEHvS0C3Fg59X4 x0zjJu0KYiCPmUNw3PqWy5IlNiP1Sstzdg/mMD2wATsOoz+amomSUZuC8DDOt5Ot37kFnA qHuW4JmJjiBhFLiTXubLmidx9gvnLwktjy6nZnD45NxIWkBSeBfqWj5GYhu0s/vRrQYO0n 5RQptkHTEHvS3U8k5b2Hcen8oGZFJSNxYtnj+RKAqSwlpNQ2KZfNIMY7JIPMBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712064; a=rsa-sha256; cv=none; b=DkaUBmIFrIj8xUL0eqihuq/T+XP2hRxDdFgZLO0JQowene8k0D/Z5LqT+S7nj5mL9NT6Yk 7a1ULZvbA0ngOWIdW5AoNVKq+QOenSznx+xibZPv2PbQm7zDgkDZ9C/w5wJvmMD0DDKxuQ DdrIeqAGqBnAmoDCxvJyeCScBnZWOJgPs7wIHD3qte0ANWnWzwPZpSnfoQP/7yhaA/j9oM kPANjGbeatNPHTzhqvMzhSC/IYBawHOyyi7XJpgM5Q1CZZBzQTAot0T4YnboCDFmlzX78j b3Ss6CT3RmgGsTGyQwq1EV8TrV8zskcFFv1BGM1yOe/+qTV7Sj43FLEdyn4IUA== 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 4SbPYD4fbCzmpT; Thu, 23 Nov 2023 04:01:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN414gi098728; Thu, 23 Nov 2023 04:01:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN414Tq098725; Thu, 23 Nov 2023 04:01:04 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:01:04 GMT Message-Id: <202311230401.3AN414Tq098725@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 4603a50fa323 - stable/14 - fuse_vnop_copy_file_range(): use vn_lock_pair() 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4603a50fa32346f838c1f304d755e1204f6ad59a Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4603a50fa32346f838c1f304d755e1204f6ad59a commit 4603a50fa32346f838c1f304d755e1204f6ad59a Author: Konstantin Belousov AuthorDate: 2023-11-14 22:48:47 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-23 04:00:36 +0000 fuse_vnop_copy_file_range(): use vn_lock_pair() (cherry picked from commit 318c56714aa8c170132ebe008f52904e0f119b5f) --- sys/fs/fuse/fuse_vnops.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index 3249e5988801..aead188276ec 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -879,23 +879,11 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap) td = ap->a_fsizetd; pid = td->td_proc->p_pid; - /* Lock both vnodes, avoiding risk of deadlock. */ - do { - err = vn_lock(outvp, LK_EXCLUSIVE); - if (invp == outvp) - break; - if (err == 0) { - err = vn_lock(invp, LK_SHARED | LK_NOWAIT); - if (err == 0) - break; - VOP_UNLOCK(outvp); - err = vn_lock(invp, LK_SHARED); - if (err == 0) - VOP_UNLOCK(invp); - } - } while (err == 0); - if (err != 0) - return (err); + vn_lock_pair(invp, false, LK_SHARED, outvp, false, LK_EXCLUSIVE); + if (invp->v_data == NULL || outvp->v_data == NULL) { + err = EBADF; + goto unlock; + } err = fuse_filehandle_getrw(invp, FREAD, &infufh, incred, pid); if (err) From nobody Thu Nov 23 04:01:05 2023 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 4SbPYG1FrBz51C2G; Thu, 23 Nov 2023 04:01:06 +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 4SbPYF6gVMz4PKp; Thu, 23 Nov 2023 04:01:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712065; 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=wGCV5ojvavGsirvLgCjW2Jor9sgVQpsYup6XvUB+evE=; b=gFymZJkakyhS4LFi/cEJh3++HJxqm/EZF02SvbYhKJjw6H7zdlHW/wbeW2A9fhd2tl+tIa l8Hq3kKN0xUZ1cxd91C4KruDrhepM3scx/1mtfsmCP9dPikZpgvEMyl6g8Ves01anXt5TD EroxCwLr4zWVBVXFT1+lFbausZGl+CwQe+ze6s43C6uUzHsoWSkJD3CUUdNOXLGA6aIoo9 PRYMmnyTXz2DUFjxp0PMrQNBRkp+xbehyUxTlaLrX2m6dGmj1KNnPTxPNp6ZtjKQ1sGPm+ udE02RWeNj92V43UDZP+SqOsmnVC6o22Gu+Jqup/I39ZRvhObNXFw/uuC30JvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712065; 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=wGCV5ojvavGsirvLgCjW2Jor9sgVQpsYup6XvUB+evE=; b=btmnE/TJj1LejhLYKaOKG5Ip+46ONsKlYppcA9MHUwXo+2rt2l42xHd5n5zHugqulOjwZj uZ50ihhcCzYCTJNIP4E9/2a+6IgpU6xPb3jeC12D3FkajGmXT1WxuHJNzhDORf/l0Cm6Ru +IeS4X8tX+mfP0IVyzchIxmpKFtIGvkeM09L8vTks3Huywu4CzsBumMvt9jTWxHkcE2veU H0ighzYmXpjrMXDpFPIv6gyU4htlpscSXMosccQCtj/XQATZoafSn80Zt0Y+8018SHaSCV IUMTTY12taq0WMrMkZsAJJB70sGVzViSa/67dIFWH4JkuewjX/tS2X++mP1pew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712065; a=rsa-sha256; cv=none; b=Xa9sMUrQHrMTpa7699X+mKf6INxGl7Glf3b1+xSqZisMhIUnOxXGkzJdiBnwNhUqICnU+c bHYeRY3Sb9H6CvAFtplj7TNOIx04Cddkj27skLiBUeUR4DFwc10pjV7WJVGmbRvlkICaa/ OIijGnhQIkolN73miGnbV8Yhc6+ohnPb/i7BNyEvBUxwuGQS9EBUbV+SBnkpopeGXW4qWC Cm3smjcj2Tg7FTJrqbuDg8dxF98xpSOa94/jRZAFwv9px8AGJedlPED2zLkV5/qt82oxpq /R2EJy6egOCxxjxI+6wFzCraYC2mHu20dgAgBM0pmnpfDsCTkXaYdpzuXy1wkQ== 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 4SbPYF5Zp0zmQV; Thu, 23 Nov 2023 04:01:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN415Ct098775; Thu, 23 Nov 2023 04:01:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN4151D098772; Thu, 23 Nov 2023 04:01:05 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:01:05 GMT Message-Id: <202311230401.3AN4151D098772@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 7f8ec7791b73 - stable/14 - fuse_vnop_copy_file_range(): add safety 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7f8ec7791b73b79d608b6670646a16fbce392c0e Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7f8ec7791b73b79d608b6670646a16fbce392c0e commit 7f8ec7791b73b79d608b6670646a16fbce392c0e Author: Konstantin Belousov AuthorDate: 2023-11-14 22:49:35 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-23 04:00:36 +0000 fuse_vnop_copy_file_range(): add safety (cherry picked from commit 4c6cded2166111079c6b5e8b2353171dcc7ed0c4) --- sys/fs/fuse/fuse_vnops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index aead188276ec..b9e4e48e6dbd 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -861,7 +861,7 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap) pid_t pid; int err; - if (mp != vnode_mount(outvp)) + if (mp == NULL || mp != vnode_mount(outvp)) goto fallback; if (incred->cr_uid != outcred->cr_uid) @@ -870,6 +870,7 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap) if (incred->cr_groups[0] != outcred->cr_groups[0]) goto fallback; + /* Caller busied mp, mnt_data can be safely accessed. */ if (fsess_not_impl(mp, FUSE_COPY_FILE_RANGE)) goto fallback; From nobody Thu Nov 23 04:02:33 2023 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 4SbPZy0Zb5z51C8N; Thu, 23 Nov 2023 04:02:34 +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 4SbPZy04rPz4QYH; Thu, 23 Nov 2023 04:02:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712154; 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=tqBfYoZJ53SYPv0INbRW8KzX6j5UADgdD4PbHWXQ19Y=; b=c7p73OuyQpZz14erpBs1H4QDl0igrmOMmxpmvAF8inz8aZFB4Cv5Re7U+W/M41cWxMK6o3 2fFm8LuyoNXKQf589TI+Cy74H5TYJmrQJxhEdq1XOqS0CCQODswpay3Vbsj4Gj5bnBZSv0 MyRidOYjlcOVN9LGXOcRq1XhSykwGIFLiA1sgfN70D3bPQqTJ9Ah0raGUzwmX0F8pbCav9 ws2SHnvM8YPDdAlHUtMatFHEPkcO81JS8nsd797MuYPGKMxss3tmq+59Y66badrVtMBjRE 6dfLi/d7lQEgr0Dz24a1dOjjQS7d72vdaWCk7JIwXtkCW5LNCfjPwYdJmZ3mCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712154; 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=tqBfYoZJ53SYPv0INbRW8KzX6j5UADgdD4PbHWXQ19Y=; b=hBgRUA2kRhaJLYZ7pRqo5Ch/Q+DY3wsxaAPBhayCL2pC6/MT4zaIdwgw2n1EtHTXDIfbiw rZxllftPofaKz0pi3AoTTetw9oP3wmBRUr8HwgIHh54/7LUqSvCNqLGCRPnYtDExYGq7pq tVouyxpSKgkaKCyD/7qLiY05OVrImQ40PIbKmWTp5U8ZuRI1p5eBSGc7jsjKj62H9+Bs64 /qVuU307UYy+bj6yTMSYzCBBCezJjPpTMysqBKv3kSle4DXHmt3GA8lQ4UqZrNzygzOgxh Y19yyCwdtGoiQIsvGbZh7RgrHpman3lGIUrfkBKUWNAHgLy1TPEONjHjPZikyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712154; a=rsa-sha256; cv=none; b=PxrhH/Q0RU38UD2ffKmmzq4RXfpI+jnuqjosFQZkG+F01s8ImISxWBojIrkEPkCeWMi99m 6sZX8whwObA4lmWRq7kBS9P+F4hvJAurcJJjPZy7mjVjnXP6WPWbPEw2xNcoKdj6I7Tb3c jFwke1eUX9SgvQ5UML0zWReuk6SFWT20lKnYV8F1czF6eTTVx9LMAV2u1eJDM71P/4UNKm kN9kB9DExFk1ZIE5AYPPBYg6zOjAchSiAUqHrPgSzxug7fClimsswi5Ses3YVx10xOaSry 6k6tVL4q7X2bOMy9TIC6DhPFwqh8mqmeDSVGgJbUwA4ADWvclVCyovEltsYRaQ== 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 4SbPZx617WzmN1; Thu, 23 Nov 2023 04:02:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN42X0x005475; Thu, 23 Nov 2023 04:02:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN42X1C005472; Thu, 23 Nov 2023 04:02:33 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:02:33 GMT Message-Id: <202311230402.3AN42X1C005472@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: a0ae6258c8e1 - stable/13 - vn_lock_pair(): reasonably handle vp1 == vp2 case 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a0ae6258c8e1340b9371b85ba0a13c3633e37723 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a0ae6258c8e1340b9371b85ba0a13c3633e37723 commit a0ae6258c8e1340b9371b85ba0a13c3633e37723 Author: Konstantin Belousov AuthorDate: 2023-11-16 22:42:25 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-23 04:02:00 +0000 vn_lock_pair(): reasonably handle vp1 == vp2 case (cherry picked from commit 22bac49b09a9f975330dc0d811436599ce740890) --- sys/kern/vfs_vnops.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 7af4df16252c..48737be64beb 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -3901,10 +3901,10 @@ vn_lock_pair_pause(const char *wmesg) } /* - * Lock pair of vnodes vp1, vp2, avoiding lock order reversal. - * vp1_locked indicates whether vp1 is locked; if not, vp1 must be - * unlocked. Same for vp2 and vp2_locked. One of the vnodes can be - * NULL. + * Lock pair of (possibly same) vnodes vp1, vp2, avoiding lock order + * reversal. vp1_locked indicates whether vp1 is locked; if not, vp1 + * must be unlocked. Same for vp2 and vp2_locked. One of the vnodes + * can be NULL. * * The function returns with both vnodes exclusively or shared locked, * according to corresponding lkflags, and guarantees that it does not @@ -3915,12 +3915,14 @@ vn_lock_pair_pause(const char *wmesg) * * Only one of LK_SHARED and LK_EXCLUSIVE must be specified. * LK_NODDLKTREAT can be optionally passed. + * + * If vp1 == vp2, only one, most exclusive, lock is obtained on it. */ void vn_lock_pair(struct vnode *vp1, bool vp1_locked, int lkflags1, struct vnode *vp2, bool vp2_locked, int lkflags2) { - int error; + int error, locked1; MPASS(((lkflags1 & LK_SHARED) != 0) ^ ((lkflags1 & LK_EXCLUSIVE) != 0)); MPASS((lkflags1 & ~(LK_SHARED | LK_EXCLUSIVE | LK_NODDLKTREAT)) == 0); @@ -3930,6 +3932,35 @@ vn_lock_pair(struct vnode *vp1, bool vp1_locked, int lkflags1, if (vp1 == NULL && vp2 == NULL) return; + if (vp1 == vp2) { + MPASS(vp1_locked == vp2_locked); + + /* Select the most exclusive mode for lock. */ + if ((lkflags1 & LK_TYPE_MASK) != (lkflags2 & LK_TYPE_MASK)) + lkflags1 = (lkflags1 & ~LK_SHARED) | LK_EXCLUSIVE; + + if (vp1_locked) { + ASSERT_VOP_LOCKED(vp1, "vp1"); + + /* No need to relock if any lock is exclusive. */ + if ((vp1->v_vnlock->lock_object.lo_flags & + LK_NOSHARE) != 0) + return; + + locked1 = VOP_ISLOCKED(vp1); + if (((lkflags1 & LK_SHARED) != 0 && + locked1 != LK_EXCLUSIVE) || + ((lkflags1 & LK_EXCLUSIVE) != 0 && + locked1 == LK_EXCLUSIVE)) + return; + VOP_UNLOCK(vp1); + } + + ASSERT_VOP_UNLOCKED(vp1, "vp1"); + vn_lock(vp1, lkflags1 | LK_RETRY); + return; + } + if (vp1 != NULL) { if ((lkflags1 & LK_SHARED) != 0 && (vp1->v_vnlock->lock_object.lo_flags & LK_NOSHARE) != 0) From nobody Thu Nov 23 04:02:34 2023 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 4SbPZz0syKz51CY5; Thu, 23 Nov 2023 04:02:35 +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 4SbPZz0RqRz4QFk; Thu, 23 Nov 2023 04:02:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712155; 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=YdwWJA46sbZD9mUhTflv2aFdctFEn/ox9NqjfA80Tb4=; b=ubZatDqktdt4vsf9siklHK/pc/fM8fGzRO0idwwoPNh+En6CDo2BPqILiyvK2XnAn6CNdd 9Vb3vSQ+kC7zPNkVsFjJerlSrSnjIeOhixYlNBt9Jk2dEjtFfCE6nJt6B/5a5HXlcVSeO/ 4DVigJ31CrOez5i/ONH86cIKDoRJn2IUntzo56It0lS14siEBxngLT/e6Zak+wQMmz4K6K 8rNjyzpizEPWFhSXooKueP3do2TZUkHVdL1MMYadLKD+qewtR8L4unk5Wv2Ugqao8g5FKm vTp1hXn+DJ0XpMorIQUtvnQP7JexVQ71n8dSpIg+oCj3IcCC+QlretRWzGRx+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712155; 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=YdwWJA46sbZD9mUhTflv2aFdctFEn/ox9NqjfA80Tb4=; b=ofk8KMAeRjEEV7x65AfAtscuIVJknmn6+NDW/ymSXRaLHvl9XlfQwwFg2pOmvlihmM7WcP 0Rky4IAyGMNktWlh75J87TgKVg/mGS6kyVNj95bLtJi/GeFK6op99mT7J87XKiUmd6ee1s DPyfeQdECA590jC7DHoabDnO5Hj0pPXTMnRiutmC9dIi65kJPG8vNFDwUE5j2/uQEVRjAd cPQrogYxNZj3Bc9h91yNCCVnCCPPKFRJ1TE84ktXVOfvhvbS8G8ANurJ+90ircvP5BYmlj 3gnB8ldF504EzB8dK8Rq+/ilJ1BCS2wCKiJz/Etvg2wyVtNxPGWSCYbWNk1M0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712155; a=rsa-sha256; cv=none; b=wo03hEfY47URZeDFGDXMm13+p6zecKUnls+NkbXIPtMuwE/IWK7Pm6c3agwBJH7R67KRBn IjhyuYYYfk/93ez/bvoai7nw940b5zNVLwqgNjCP2z+YDjhhAfViZPrRiX6BF4jSnY93Fv RxCAwMvTwIGFImaXwv9y5IayJARxZ4WvyDzolZUUAZ6AY25SgXg5BceSPWv3F2nmSzUQJ/ rjGn6JFK1YZdfPUsf9s6fDH7EIpL8nj7VHj5JpZM7gC3YnCnK5bfU2HLIYs7fseh+utxyy SyKIQkoORkqTTSniLP9kELoRpp2LbDfTnH12DWMbfhIhkDtJDx1feWlPBzJgfQ== 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 4SbPZy6XHTzmfy; Thu, 23 Nov 2023 04:02:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN42YQh005511; Thu, 23 Nov 2023 04:02:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN42YKS005508; Thu, 23 Nov 2023 04:02:34 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:02:34 GMT Message-Id: <202311230402.3AN42YKS005508@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0f3bb3b9ee48 - stable/13 - fuse_vnop_copy_file_range(): use vn_lock_pair() 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0f3bb3b9ee48ddd9dcc2079062f27758bfb4b940 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0f3bb3b9ee48ddd9dcc2079062f27758bfb4b940 commit 0f3bb3b9ee48ddd9dcc2079062f27758bfb4b940 Author: Konstantin Belousov AuthorDate: 2023-11-14 22:48:47 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-23 04:02:00 +0000 fuse_vnop_copy_file_range(): use vn_lock_pair() (cherry picked from commit 318c56714aa8c170132ebe008f52904e0f119b5f) --- sys/fs/fuse/fuse_vnops.c | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index 988e7aa3278e..0b683a7c63bd 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -880,23 +880,11 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap) td = ap->a_fsizetd; pid = td->td_proc->p_pid; - /* Lock both vnodes, avoiding risk of deadlock. */ - do { - err = vn_lock(outvp, LK_EXCLUSIVE); - if (invp == outvp) - break; - if (err == 0) { - err = vn_lock(invp, LK_SHARED | LK_NOWAIT); - if (err == 0) - break; - VOP_UNLOCK(outvp); - err = vn_lock(invp, LK_SHARED); - if (err == 0) - VOP_UNLOCK(invp); - } - } while (err == 0); - if (err != 0) - return (err); + vn_lock_pair(invp, false, LK_SHARED, outvp, false, LK_EXCLUSIVE); + if (invp->v_data == NULL || outvp->v_data == NULL) { + err = EBADF; + goto unlock; + } err = fuse_filehandle_getrw(invp, FREAD, &infufh, incred, pid); if (err) From nobody Thu Nov 23 04:02:35 2023 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 4SbPb02Gsdz51CT8; Thu, 23 Nov 2023 04:02:36 +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 4SbPb01Gvsz4Qhw; Thu, 23 Nov 2023 04:02:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712156; 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=EkPDazf3GvC+p1VoC4eoh5NlVy035eON2iiVFCIqHVg=; b=UF5DkXJnZX/zXRTpACZk+PvBOzm1S9uOCrpmj9r8AcA7PAi6kmn47ntNCUThdGN+eKR7ph qXDlnIpQ8yFtUCIdEZvbTHksNZKd2BbKAsxTTG3aPqmC12NPyXGcVcShxSBflVW0LAd7LV k3aWKjLxtjKd9Xi4+BBkNJnoDglWzSj9w5nMQ0RTgKbJnTzU5sX1+ZoCzBvr8NsLQPUMQ3 N+KjoYRHr1nJ1XyZ13K6WqRx7k9yEh7SRfe0QUEis6TCXZR3y/SenPYmpQINSc9SVhEQjL Figuzd1TY7t0jacu5s8ckZephfPJRey+/wnHLLYgkSVcpWij+pJ1fXq6b3GYHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712156; 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=EkPDazf3GvC+p1VoC4eoh5NlVy035eON2iiVFCIqHVg=; b=bvDKnNTtDDrzHpwEx3bsegRYaASCSiLW1aL9JUXoK3a3Xcb+u6C6q1XQ5OgJeyDqHiVywW ZziGNdxWDil5VdIIkt4eKFdwr51HfhKyXtRfuJTAA94Mkkc/dRYp/7ClnlDZFwcqJSf0kO lgOfu14csqdasVJVHDBB3HC4waAFJiLtIUPKApa40NsZPJR7xEMcUoP431Shju3Pbgd8Ki kF6qL0vIkuIq0KGUdqhZ4dA281WbcAWuBpKwxutLS4aHkygdk+otQWNDEBpzlpKebXj4xq oniVOcqlurf0KeDpHJ5s0E3adYt7ohP7wMSZf/3Ym2AUIFE/xrI0+O+PrZrJjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712156; a=rsa-sha256; cv=none; b=u+wVyvYqRPxQd6gQ3gFtSyY49dwajZbHuG5oDR00KgjooC3pvenbPURI/8Cw85D+wuefuR /qmCy/+SdblX5xfqisVMLCQu4vainUK2qMNJl2ZDFCifbukBvjBui2OQK9l/voQKj6Xd8v op8kl2qEUYFs+GctenneKI7RODFOjYhK2OLlHxhrRp6I66f8a0hHgEyK9cWp8KaDswFAkl CW8b8Y3Hm6O7imRvTcACG/yHLN1EiklfRDx4OZXSr4+wbTcHk7Omn0BziviOsniNr5hgbI jE68EKbpC1oZBIULThnOqy4MftWtnQGLuYvc9CerOVukr+t7TKjsLM+jyLbWfA== 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 4SbPb00KX4zn2D; Thu, 23 Nov 2023 04:02:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN42ZiX005550; Thu, 23 Nov 2023 04:02:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN42ZTT005547; Thu, 23 Nov 2023 04:02:35 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:02:35 GMT Message-Id: <202311230402.3AN42ZTT005547@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 0ea5e0c7ee26 - stable/13 - fuse_vnop_copy_file_range(): add safety 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0ea5e0c7ee262f0d1178b6ca4871ab353e3aa0e3 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0ea5e0c7ee262f0d1178b6ca4871ab353e3aa0e3 commit 0ea5e0c7ee262f0d1178b6ca4871ab353e3aa0e3 Author: Konstantin Belousov AuthorDate: 2023-11-14 22:49:35 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-23 04:02:00 +0000 fuse_vnop_copy_file_range(): add safety (cherry picked from commit 4c6cded2166111079c6b5e8b2353171dcc7ed0c4) --- sys/fs/fuse/fuse_vnops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c index 0b683a7c63bd..6871461d26f1 100644 --- a/sys/fs/fuse/fuse_vnops.c +++ b/sys/fs/fuse/fuse_vnops.c @@ -862,7 +862,7 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap) pid_t pid; int err; - if (mp != vnode_mount(outvp)) + if (mp == NULL || mp != vnode_mount(outvp)) goto fallback; if (incred->cr_uid != outcred->cr_uid) @@ -871,6 +871,7 @@ fuse_vnop_copy_file_range(struct vop_copy_file_range_args *ap) if (incred->cr_groups[0] != outcred->cr_groups[0]) goto fallback; + /* Caller busied mp, mnt_data can be safely accessed. */ if (fsess_not_impl(mp, FUSE_COPY_FILE_RANGE)) goto fallback; From nobody Thu Nov 23 04:02:36 2023 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 4SbPb23jv7z51CYp; Thu, 23 Nov 2023 04:02:38 +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 4SbPb12c72z4QTn; Thu, 23 Nov 2023 04:02:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712157; 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=kaZBKonZg/I99xnq9HSsel6B4rRL6OKfjH80+JO9dE4=; b=jnBvtlbWDqa24Lzut7BSXaTH28G6l8JBGGVQj/TtgGMgY188kVuS3FAJizwufjgDXnTjdp PG/4Cd4AaR/28rnyjL0WUvojKYr6sQMbFfSlWYc/O/rfobP3WMzsuOrn5qmal/WfLNb0Rm xfV1s0R66w6OkeZXJ72NkWRODZGcZqj09DfDJwTw4E4ApX+jcTNld/75Hxn+DlJVgmi49q 9oMohsJs7VCLC2cCiYb2gGaLVvgu6tnj4m6p/DVIO8OtVL1vN5DcGvwuAGIkERdgyH/c/9 cGfmOE9LS9tBDSlOL70n06V8oQg+hayaCLH+q/UD5yBacyycorKmblPF+g88ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712157; 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=kaZBKonZg/I99xnq9HSsel6B4rRL6OKfjH80+JO9dE4=; b=LtXQKUYZDSKmDl2o9WHV/9Kp2VRe4c5wZzcrO2/Lt1oaFXdoGvciWQDZmavi42zODkieJu h3pc2O8vyv3ZqeKrkPyJC7DsB8uHizcBnCuiNla2LJyjPdowpO1R2IVBRdb+vA79lmaLQM QJctxB1w/HnqQM5H41JLuFsway4N83rkOtsr6q1spzlpsBBoofGZJ+LL1xjUobv15li0VS HeGYaZW1rEKoK4by3gSs5EXwCKF0v/cc9eXfLbmB+LPrMXUClsQe3dMQRCBJVe8bpNmQjr U1qMha2mqqvpGdVa2f1wovqhnnvfbAhDfHayvMFXXSTaxhMqmd43QSwRe1gNew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712157; a=rsa-sha256; cv=none; b=ds05xqupgOQZJIcGTWG3qvw3J7iRtkp++p3L5CteEdCMOcFWt6ysmw71ybcDWCFpb3liAu T8NieGmMqfENvGhPdg1vJMKVKR6GNM68nDx7yVTa+mC78eIeyBrahhpz5Z5lCVtFknaGmJ uuFCx3H22shrzfCvVIPrZeRG2GjWjTkmRyR1A1T3kMCIbiBX3clksOs8S17dBUaa7K/z0I Z9rGa78lUhwbZDpx3uRguwZDEh6ULdPb027jxkt0to+1QmB29zfE8T8pLNxcrpQwNL3k3B tTvSUaDhMG1NY4UywcJVBx+SAZ0+AcxfxFPMHw5/1o6QA/Xm2Yu+sdSbWDtgdA== 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 4SbPb10bc6zmN2; Thu, 23 Nov 2023 04:02:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN42bp4005604; Thu, 23 Nov 2023 04:02:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN42atv005601; Thu, 23 Nov 2023 04:02:36 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:02:36 GMT Message-Id: <202311230402.3AN42atv005601@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: ecb4d2c6e1d8 - stable/13 - kernel: add missed FEATUREs compat_freebsd 8-14 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ecb4d2c6e1d8685c02e730e8986400a52403d8d3 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ecb4d2c6e1d8685c02e730e8986400a52403d8d3 commit ecb4d2c6e1d8685c02e730e8986400a52403d8d3 Author: Konstantin Belousov AuthorDate: 2023-11-16 20:47:18 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-23 04:02:00 +0000 kernel: add missed FEATUREs compat_freebsd 8-14 (cherry picked from commit e256f71389fbf0ef6cf8f547342d5f789e69f918) --- sys/kern/kern_mib.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index 55f1ce5889bb..37b7b46c87a2 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -630,6 +630,26 @@ FEATURE(compat_freebsd6, "Compatible with FreeBSD 6"); FEATURE(compat_freebsd7, "Compatible with FreeBSD 7"); #endif +#ifdef COMPAT_FREEBSD8 +FEATURE(compat_freebsd8, "Compatible with FreeBSD 8"); +#endif + +#ifdef COMPAT_FREEBSD9 +FEATURE(compat_freebsd9, "Compatible with FreeBSD 9"); +#endif + +#ifdef COMPAT_FREEBSD10 +FEATURE(compat_freebsd10, "Compatible with FreeBSD 10"); +#endif + +#ifdef COMPAT_FREEBSD11 +FEATURE(compat_freebsd11, "Compatible with FreeBSD 11"); +#endif + +#ifdef COMPAT_FREEBSD12 +FEATURE(compat_freebsd12, "Compatible with FreeBSD 12"); +#endif + /* * This is really cheating. These actually live in the libc, something * which I'm not quite sure is a good idea anyway, but in order for From nobody Thu Nov 23 04:15:12 2023 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 4SbPsY0SYxz51GJt; Thu, 23 Nov 2023 04:15:13 +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 4SbPsY02Kwz4TSn; Thu, 23 Nov 2023 04:15:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712913; 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=rx35YVjOZoM/twh5YlcxLOBEIgjZyZdQu36CVlUiU+A=; b=AhZTIx/+ZESo6oEnbFYonkzUvhC0ELTB4C8Xfh6U/z/AkKzdPBSFrQn6AFcYY7951CF2Cc CIys+4Na5Ste+tcCZZ6lBJGO+D5+N8fPnn5YHdAku9ixXgW8rzuoHotbHE/hLZHYt305Pz xBN8kz4XLS0D66Xsceap3h3zWAFLMofYisgng0Juca+974JsfkbC9kPmu0HX4h0mjYGFqt CT7z+I+3kQo/PJH6EXepHX2VLE5e4GN71lZLsTSCqCJSOyTnQi2evVNWGULm7w7SCrlsuU zLJNNerpuljyzCluoyNx35dfmJ+oTeTpyTQnQO3KFNPby3IbS/C++OIeGndDFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700712913; 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=rx35YVjOZoM/twh5YlcxLOBEIgjZyZdQu36CVlUiU+A=; b=VPG5XCqaX2sALJosWtnobIcJFnjmTen9upPOfw4Zqzjif9NwuwxgGWsPcEhSjyfDVg+NCZ f38p4Qn7TPbnoeYIpdqBSxp4dqRcMcyDQyU6Qzl3ooJNN13Epm+agcd7E7dYFRYdrWrfwR RereT7cNo8LIzXdGRdJkaP+fra7ynnQGS/E7leV+rJqzoi6vI0nqmh5EBTwJTGFuAIud32 H+f7gSXav1Q6+RRuBQhRLqhdPmrA3K6MUu6B7ZV1dfOfN9M8w03kAX+wz6A3bLboYl24xR F1Wbfu3BfMpkWsRqkR5PosmYQ+PGQNE5xyEGYpcot8eRVlXDCAykrQ+xwqLiwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700712913; a=rsa-sha256; cv=none; b=Lo34mbCF/StDTHbHGdLTlelHnDj9Jj1XBsYsaVBBgcnw3piWzrcYxp6+2/HwDWYoUN9cNC 2W9Mh7FpztN5yf9iMIwYKpjzRdRhqDQtrdb/H9/hMELswLPhESztDr3UzhKIxDBN/SbIgn YVCcqwfFu+Fnhm7LQvheBSjWsoEBDAYXoBeawIapNMBVjOQIHAuPq2L1VBBLTxEE4Jn2Gd kzi0U+e8pLi6D5zfeVM9EpOpKccJWqi7va+uKKd18TvzgqmfJthvkYxNsnnvizL6TzOTBF 2xMl7lFfkGRcrY0LDeHggpfwQHICIp0awIbPAfcR5GJkcm2h4CNIxLeuxODNIA== 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 4SbPsX6DcsznHH; Thu, 23 Nov 2023 04:15:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN4FCEd022136; Thu, 23 Nov 2023 04:15:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN4FC8D022133; Thu, 23 Nov 2023 04:15:12 GMT (envelope-from git) Date: Thu, 23 Nov 2023 04:15:12 GMT Message-Id: <202311230415.3AN4FC8D022133@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 5d4f897f88ed - main - UPDATING: Add unset hint.acpi.0.disabled as workaround for no ACPI 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5d4f897f88ed87d3dc4204fbfac726eac5472001 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5d4f897f88ed87d3dc4204fbfac726eac5472001 commit 5d4f897f88ed87d3dc4204fbfac726eac5472001 Author: Warner Losh AuthorDate: 2023-11-23 04:12:28 +0000 Commit: Warner Losh CommitDate: 2023-11-23 04:12:28 +0000 UPDATING: Add unset hint.acpi.0.disabled as workaround for no ACPI Explicitly add the 'unset hint.acpi.0.disabled' command to work around this problem. Sponsored by: Netflix --- UPDATING | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/UPDATING b/UPDATING index 8b503e1ccfb6..cea03f7dc7c3 100644 --- a/UPDATING +++ b/UPDATING @@ -31,7 +31,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: If you have an arm64 system that uses ACPI, you will need to update your loader.efi in the ESP when you update past this point. Detection of ACPI was moved earlier in the binary so the scripts could use it, but old - binaries don't have this, so we default to 'no ACPI' in this case. + binaries don't have this, so we default to 'no ACPI' in this case. You can + undisable ACPI by doing + OK unset hint.acpi.0.disabled + This can also be used to recover any other system that was updated in the + small window where amd64 was also broken. 20231113: The WITHOUT_LLD_IS_LD option has been removed. When LLD is enabled From nobody Thu Nov 23 08:58:03 2023 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 4SbX7v4pB8z52KG5; Thu, 23 Nov 2023 08:58:03 +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 4SbX7v45s6z3gvv; Thu, 23 Nov 2023 08:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700729883; 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=rZUQ6dyVvt/6yxBtpwV4E4XQAJ/D/tiav/jYYimUjpU=; b=LUvBluxrSepV5ZwPi2HSQ7zzPIzyij4RlSS+zKLHAf4jQCmNKYDteTKTWnCq8kdBQ3Gc2T DwiaLvx6Tn+lfg+vFlfgnFE+26GB/dJMagRBUWQobSE4gkFIxAlqM74FDUz7rDHrndX+FY vSdtbw/zg+KmIafy/KHNzCEya0SNBQxw8TM+iExu2FlmOVbQvtJpvJhMU1wRuDdX0WFLIh AatyyV/G5oNpOGsk8frXoZB4256HQekRbqSpFcdvZyfTUz3OjNBCKFxBnkc+Wy/elQnbxJ BAt2x8vpGmKUChBVsmZeG3KotzdCkYUN40tyQBjq/Dar2wy+HeYyvZbWoHcd8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700729883; 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=rZUQ6dyVvt/6yxBtpwV4E4XQAJ/D/tiav/jYYimUjpU=; b=qk63jxSwCHnFo/msK/NWAWmJWAy8jCBk7i8NBMtBeWU8R1xcVt5tl3bmekg7bzlY/GAJS7 u+z+VnMVZC3iT9gPKNPgF8PO/u7OJlohDBgQEW8e13O5APRP+KXtEjqQgSUdPcUGVEVPYI DocNA5EAmz36r/R4hD7mwZzA+5Bp9fMEZ1Frxa+VjhnXuytDPVHdMK1IuzKX77ZzHf94K9 u6Cd8ODX5OuRi2+hmwiUqNWfTITmok9RuLeRbMsQG3NjEfJzAgcOfmuhA3cGv+DzkHt5ub 0QrlD6JZMhhCiTuFvSv3FtIYrIvlsIacRXeW0redqfYCK/pUmd+Pyv9hPV8zNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700729883; a=rsa-sha256; cv=none; b=QGgYThW+HE1CpHUIuflegfn5oXEJi9suhW1H7va7WVpI28UFujrPhQyLY9jJxFGXHTbTkG FHgBEalu6gf3yRrAGdhc5L4UXq13JfF3i8iZ5cEYcceuBK5oVfd5Cq0tN4CnsrdGz4I3Kn EgvjUHJ7yLv9SSGidFYG5lunOWObo//Lz4meAgS+ABJIUXjxYbEmP+9ba9RoXoASyqi2dm uAFwZ17H6j3ZRfN3lbrYMpJLqn11ATEbx7v4Tlm5zMp5WL7qom8nrbsfrrGvDgj66QEvTy Okl9ED39YeZlAbarrP67ysI/RVR8GOL24ajrXCW3XWnXLhrANmQT9IUgmg9P2g== 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 4SbX7v38gbzvtL; Thu, 23 Nov 2023 08:58:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN8w3AH087954; Thu, 23 Nov 2023 08:58:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN8w3n0087951; Thu, 23 Nov 2023 08:58:03 GMT (envelope-from git) Date: Thu, 23 Nov 2023 08:58:03 GMT Message-Id: <202311230858.3AN8w3n0087951@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: 4e36d081f377 - main - ath(4): Fix a typo in a source code comment 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4e36d081f377ecfa8375e5fe3d0763099f4a780d Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=4e36d081f377ecfa8375e5fe3d0763099f4a780d commit 4e36d081f377ecfa8375e5fe3d0763099f4a780d Author: Gordon Bergling AuthorDate: 2023-11-23 08:57:28 +0000 Commit: Gordon Bergling CommitDate: 2023-11-23 08:57:28 +0000 ath(4): Fix a typo in a source code comment - s/mutiple/multiple/ MFC after: 3 days --- sys/dev/ath/if_ath_beacon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ath/if_ath_beacon.c b/sys/dev/ath/if_ath_beacon.c index f96f7691cf12..b08816f3d268 100644 --- a/sys/dev/ath/if_ath_beacon.c +++ b/sys/dev/ath/if_ath_beacon.c @@ -1014,7 +1014,7 @@ ath_beacon_config(struct ath_softc *sc, struct ieee80211vap *vap) * * The specification (802.11-2012 10.1.3.2 - Beacon Generation in * Infrastructure Networks) requires APs be beaconing at a - * mutiple of intval. So, if bintval=100, then we shouldn't + * multiple of intval. So, if bintval=100, then we shouldn't * get beacons at intervals other than around multiples of 100. */ if (nexttbtt == 0) /* e.g. for ap mode */ From nobody Thu Nov 23 08:58:49 2023 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 4SbX8n5B1nz52KJT; Thu, 23 Nov 2023 08:58:49 +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 4SbX8n4ggTz4CVg; Thu, 23 Nov 2023 08:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700729929; 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=iS3tcKlheVgeX9nEs5DIOHqxTOGLApZ7tEtl/vWmIq4=; b=l1D74qJHp9CWQZ1d8QdmzpsRMRBgzGB9i17R6QaLfBOxE39Na0gKbu10qnC303C44KIWgi qTHN6RILfpnJgS8/iNfRR4e5P/QECd/KV8YwAUgP789v9fFBmyz5maPmy2I1vy0ekNZgbu pvaZBMBcd3uPHfY5ZPXY2XJODsXSMieqOQppE3dvP9DfD6Scvbm2vfs7OmUDuutqeR3xVJ d7bTleZ8scLytcy4T3TrgwcfaEgPBYp2tn7x/olCywposPHk9/iUJ4qW/9gOBBD6qIMDjZ eO/lcyTrhitwtLZJBATb8OCtZ6z5fFGQA6wwPs6+K9iEEKWvTnF8HBwGTd/D4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700729929; 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=iS3tcKlheVgeX9nEs5DIOHqxTOGLApZ7tEtl/vWmIq4=; b=HN8CEn+3Rjv8fzdUfBVRTB83phhiO6V4QL3QcnFfBNaI7mMsTAtzvhhOVSnPiL164k3CCD VOwYad9kUropMUmfEhnQ7mtRzN7Tigr4lP40Ig3I597xCif1dIP/QK3FnVQ5xyBOkpkfNh jDxUkKMg1A01wKWQ46tT+fetuEfCYulWU8zph+jVgWcODFttpy2wiheKtAKh/0qk3A4sXJ vxZ/a6Y+WXZoW2bMaPum8yhle/d2iemfBxI0sJw5eL03nbaKd7/xwhLxRaQSM+T2zfVQ/R L32dd9YejuWFlxuRBqk4K9h+ILoLK/TtR1bTUQqXWeXDDjmPEqB8O1hrcBh1Rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700729929; a=rsa-sha256; cv=none; b=EvmCHEaJ5I4UK5/OQaCTPIfxZWXzY+jPLY3V7dUeyMtxyqq31q3KylxS0ouoyDgQTyBYp3 rvmV/tCV1Rzzw+gcHZw1Kw1jManpoYgiuKkTkIMGgyzUgfyzSSNO08L9NCcEEUe5JcQHQ7 B1S66b8htDTfk+UUz4Z0MPOsH689+FFJWo0eBD/c83SHbBnB7pbVn6uBhR+TfUp4uScizV opkS/bHT9M02wWWBTGncDW0OXU57mbV/7D8unZ7WmjCFOSOQRX9Pqe6o35Qgi+dKxUkosB 9WcK5WXBQA60wz7SjQKWsPG+QfSXZof6nJ0AhJX2Ixzble/cCWyguAxneozZAg== 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 4SbX8n3l3szvVk; Thu, 23 Nov 2023 08:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AN8wn2J088196; Thu, 23 Nov 2023 08:58:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AN8wncD088193; Thu, 23 Nov 2023 08:58:49 GMT (envelope-from git) Date: Thu, 23 Nov 2023 08:58:49 GMT Message-Id: <202311230858.3AN8wncD088193@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: 637e4ef1a6bc - main - libcasper: Fix a typo in a source code comment 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 637e4ef1a6bcd8677dabd8c08916df3091be5f64 Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=637e4ef1a6bcd8677dabd8c08916df3091be5f64 commit 637e4ef1a6bcd8677dabd8c08916df3091be5f64 Author: Gordon Bergling AuthorDate: 2023-11-23 08:58:15 +0000 Commit: Gordon Bergling CommitDate: 2023-11-23 08:58:15 +0000 libcasper: Fix a typo in a source code comment - s/mutiple/multiple/ MFC after: 3 days --- lib/libcasper/libcasper/service.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libcasper/libcasper/service.c b/lib/libcasper/libcasper/service.c index 478221a681da..103791676272 100644 --- a/lib/libcasper/libcasper/service.c +++ b/lib/libcasper/libcasper/service.c @@ -59,7 +59,7 @@ * The problem is that we may restrict/sandbox service instance according * to the limits provided. When new connection comes in with different * limits we won't be able to access requested resources. - * Not to mention one process will serve to mutiple mutually untrusted + * Not to mention one process will serve to multiple mutually untrusted * clients and compromise of this service instance by one of its clients * can lead to compromise of the other clients. */ From nobody Thu Nov 23 15:25:11 2023 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 4Sbhkc16bFz51d6g; Thu, 23 Nov 2023 15:25:12 +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 4Sbhkc0d7Zz4Hpr; Thu, 23 Nov 2023 15:25:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700753112; 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=vUhW2p08xXYw0Xw3pOlTQmWD0iQAUzwMEpYhllLj/hQ=; b=owaHi6HYfPLNaohhCAQpPeL0fd+ygw5LV545jxuFOwXiwGZX8NnpayCINgQSdAT/evfUM7 MXWBDenn04HytdvSaZXawX5+w3+BQXUy4Cbs464dLhJsa2Rea060i9JZIZ4G1uJlH/L2Wr 90LospRkPV8ALJ5Yozo4DW99zxfymZ5jSustRiOhtYBMo4lBR/5usk63TAdS21pNHZbsLE R+kBKQT/tD+/y1zxtXHdTL0wc68qf0UVyulKR3kuWSjohqjEVIpwJZnsZDR1DEVdt4QDZV qy59NSQCq1Y+VCtW9u1kKarAe3lN/c77pV9XC4od2eNCigGKaTKeLXtqaia92g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700753112; 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=vUhW2p08xXYw0Xw3pOlTQmWD0iQAUzwMEpYhllLj/hQ=; b=SCsbHedZ57Hw/SPNceiVG/c7Nz3YeHN/Jbj499qF17aglEGJssCQGyGBlgnDkQ/0MzMUrx AYnEaYar0Q8myap5M+/jGGrGLMngjF9zrBrorMTQkgAc1Ki7SxW0aJknSunLz80tf76Oxc xjBMd7Fj9NFgJ+ICSX+VQ3Yk/UGdQVCiN7Y+MVjyo1YZexp57uW+rHR5BtMAMXHMCpCbNG hg0tBIVsjscWDUj0JBjysXo6U7bnYhQXud6TQ/6/j9DJKMt/yaOvxUEs2Cnz8s/3ecgENV vwzvzEJ03eyCVOB/sljF4rkgGftHKHrOamml98MaTCfqBtqRQklikZ+avkyYDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700753112; a=rsa-sha256; cv=none; b=R6B7j4pUxAgZKHsQFNsgpfRB8hM+wvFGRPalgBUWamHlrE8erS+ZFnPpfraxl2WIOTBouJ MSmedZQd2HhsOlsXjsmkfp60/03va7gtcoTgsJF/MnHrseaLZ66JlS9PQ9JrvV/vewro/S tdFQcT79cXbvDfbTB7mVQkUgxF/y/Z6lQRB0zkhfbeSocdEvXopTr90I3cV8Uzc6qdlUWJ f73s7qmDGQ7/1BUY1akl2gAC3J2ee2O6AlFY73DTnIfpITUqOwtSov+my/i/PuvVLC1Sn/ goP7576Rx/6TthqnYLqZ1T/JK7MoDVlZ5oefwdc+bUl0a2zgNOMvVPNxyCNAgA== 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 4Sbhkb6VSVz16lj; Thu, 23 Nov 2023 15:25:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANFPBJ9039296; Thu, 23 Nov 2023 15:25:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANFPBo6039293; Thu, 23 Nov 2023 15:25:11 GMT (envelope-from git) Date: Thu, 23 Nov 2023 15:25:11 GMT Message-Id: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots 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: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f5f277728adec4c5b3e840a1fb16bd16f8cc956d Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=f5f277728adec4c5b3e840a1fb16bd16f8cc956d commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d Author: Rick Macklem AuthorDate: 2023-11-23 15:23:33 +0000 Commit: Rick Macklem CommitDate: 2023-11-23 15:23:33 +0000 nfsd: Fix NFS access to .zfs/snapshot snapshots When a process attempts to access a snapshot under //.zfs/snapshot, the snapshot is automounted. However, without this patch, the automount does not set mnt_exjail, which results in the snapshot not being accessible over NFS. This patch defines a new function called vfs_exjail_clone() which sets mnt_exjail from another mount point and then uses that function to set mnt_exjail in the snapshot automount. A separate patch that is currently a pull request for OpenZFS, calls this function to fix the problem. PR: 275200 Reviewed by: markj MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D42672 --- sys/kern/vfs_mount.c | 35 +++++++++++++++++++++++++++++++++++ sys/sys/mount.h | 4 ++++ 2 files changed, 39 insertions(+) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 10b29b569cc5..462fd8bf19bb 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -3136,6 +3136,41 @@ suspend_all_fs(void) mtx_unlock(&mountlist_mtx); } +/* + * Clone the mnt_exjail field to a new mount point. + */ +void +vfs_exjail_clone(struct mount *inmp, struct mount *outmp) +{ + struct ucred *cr; + struct prison *pr; + + MNT_ILOCK(inmp); + cr = inmp->mnt_exjail; + if (cr != NULL) { + crhold(cr); + MNT_IUNLOCK(inmp); + pr = cr->cr_prison; + sx_slock(&allprison_lock); + if (!prison_isalive(pr)) { + sx_sunlock(&allprison_lock); + crfree(cr); + return; + } + MNT_ILOCK(outmp); + if (outmp->mnt_exjail == NULL) { + outmp->mnt_exjail = cr; + atomic_add_int(&pr->pr_exportcnt, 1); + cr = NULL; + } + MNT_IUNLOCK(outmp); + sx_sunlock(&allprison_lock); + if (cr != NULL) + crfree(cr); + } else + MNT_IUNLOCK(inmp); +} + void resume_all_fs(void) { diff --git a/sys/sys/mount.h b/sys/sys/mount.h index c4e1f83e9683..70f4bc2b834e 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -980,6 +980,9 @@ enum vfs_notify_upper_type { * exported vnode operations */ +/* Define this to indicate that vfs_exjail_clone() exists for ZFS to use. */ +#define VFS_SUPPORTS_EXJAIL_CLONE 1 + int dounmount(struct mount *, uint64_t, struct thread *); int kernel_mount(struct mntarg *ma, uint64_t flags); @@ -1016,6 +1019,7 @@ int vfs_setpublicfs /* set publicly exported fs */ (struct mount *, struct netexport *, struct export_args *); void vfs_periodic(struct mount *, int); int vfs_busy(struct mount *, int); +void vfs_exjail_clone(struct mount *, struct mount *); void vfs_exjail_delete(struct prison *); int vfs_export /* process mount export info */ (struct mount *, struct export_args *, bool); From nobody Thu Nov 23 15:48:55 2023 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 4SbjFz31CCz51jT1; Thu, 23 Nov 2023 15:48:55 +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 4SbjFz2VMwz4LhN; Thu, 23 Nov 2023 15:48:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700754535; 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=8oz8b6FinxJhBOYr0qX3oYfjkgoPtpvJ9AbIVLGWoDo=; b=iuRPMBfdCIxEknPicHe/0WHeN21vEZUDJGCed4zgrMLrmIjOEaYuDU4UI+ip7RO8EkRppu IrULy6GvGHCqJIK8tmH72aRYvL/sKqgp5Tnqk5PTQZ1sq3LnnOemnUIGB022KgzoMSlyFI CCyCgN8RCch3dy0dzZaI5W5vUtDIc+ON6p+5gX1an/rOE3U7ZE6MSmPFXECZP0LGtZ1DQJ BzAsT/Rmv+7Pv6kC5IRGGtgongmuFVjtTNYzj4M12MCUY3WmAeNQ5NIV67f1jsMhPYdfjx 8nreIvlslNZ3Jo0yaZ1qfEuKpRj/jL3Hd5nvpBfS5wXMDg/MdPgCZSqNyjWcPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700754535; 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=8oz8b6FinxJhBOYr0qX3oYfjkgoPtpvJ9AbIVLGWoDo=; b=HvH7x3GK+sn076ZmaruxFnL4oij8jD07oQWrrXWva0k/YiBzOwzPpCAgRVC4HDjS+v6knV GtrZiQIYm0aG9ZYqutCsSmHlLsJECtgY6usL6Ev/d3w6J3UN650vRAcsLtgkV7TXA6tG6f IDnmLjXz004IF1i/C/C2C/gJRV7USABO8hZZAYSxazSYkgOKTj2CL+3Zd+CL+yo2l/H6Tg HYjp2AhohsBRHhI3c7QskHXBsHH8dgW6Ob34/gGP2wiJvE52ijdTVWqSs/drGDHDCpylGF jgdFsmHZyh3Qr92foPEP2DzYE1cwlZtfuX942aDKii34ARypsyTeKScvWTvn0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700754535; a=rsa-sha256; cv=none; b=ORdudfTNaOdIFUWrj/S4wf7bmY6KuanrZmyOLybjOTe2rIse0FZofugXW+wV+g1q7i0UoI jTZ9nK4NsTnK/qzTVCd5iQ2tFf3/Cj95SDTcyG3y7Il/h9LXjs74STS4rpk5VyL+iPDI+R l+IavNcDpe0G+EElzTpk+19aLOr7hkCDL5AI7n1FhWWH6EcsAJ+JbU1ix25p4ZfvRNwYvZ J5vDFtpst6iOLh/DoqMvOPaK6f3s/jHbSCJLc5Zvk+QFGXtr1K8q4wJvQGEah4Y46udXkZ Y8v1w+kgOvEPwXgihmHdrnNr5hf7DH64NjWfv0XLPsPhzptye9NX1cVn9d/uNg== 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 4SbjFz1Xz2z177p; Thu, 23 Nov 2023 15:48:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANFmtUE073710; Thu, 23 Nov 2023 15:48:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANFmtKZ073707; Thu, 23 Nov 2023 15:48:55 GMT (envelope-from git) Date: Thu, 23 Nov 2023 15:48:55 GMT Message-Id: <202311231548.3ANFmtKZ073707@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: a2bb07585b56 - stable/14 - ktls: Remove unneeded vm/uma_dbg.h include 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a2bb07585b56d01ead0f6e568036a1bed2f72f60 Auto-Submitted: auto-generated The branch stable/14 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=a2bb07585b56d01ead0f6e568036a1bed2f72f60 commit a2bb07585b56d01ead0f6e568036a1bed2f72f60 Author: Alexander Motin AuthorDate: 2023-11-09 18:53:07 +0000 Commit: Alexander Motin CommitDate: 2023-11-23 15:48:08 +0000 ktls: Remove unneeded vm/uma_dbg.h include It was used in original implementation, but is no longer. MFC after: 2 weeks (cherry picked from commit 1f8a5187ffdd9eb7d78e699f948f7bab3abf60e9) --- sys/kern/uipc_ktls.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index 5d8165ae3e8b..c996157dbc41 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -72,7 +72,6 @@ #endif #include #include -#include #include #include #include From nobody Thu Nov 23 16:03:03 2023 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 4SbjZH6tPjz51mWp; Thu, 23 Nov 2023 16:03:03 +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 4SbjZH6Q1cz4NwB; Thu, 23 Nov 2023 16:03:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755383; 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=NubJF2lEpug+wk0Y4YqrggsOVtAn+1Tmbo8HG8y/R9E=; b=VyEO0oL6Pdi9tg6+/MXTex6oetU9NHGfN0q8BS5AzgFdxDZxmxyAXu7PtWllH/WTQd8w7Z Ji3SzJjcZ+DYfpIGDXhHmKN1++RteN5j0MnATt6u0M5aOVTVtdVNZ2diADgHGQP3pEUKaJ u+4iaXIik4blNU6oAT294ZD1AgMawu03Gj4aE8mWC+SELsb5Kyb7Rd2BuMMxUByyG8Zoz+ s66KL3BZfjBHpD2pFZI2HKSHf2apz0VI+MbpR6MrFYtUVnWUgeLXela6an0/CozfQ8oNjg waclcBY+71h4RNdy/jxeoQdK1Y8ZZnYCkwdOzdE39kQJmoTEomGJKlhvG7+YUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755383; 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=NubJF2lEpug+wk0Y4YqrggsOVtAn+1Tmbo8HG8y/R9E=; b=m9+M8zRTDU2H+TeoKjwwKLpX6Bd5QjrUw2fzr8TX/SNe2a7NeUfgFfZtj4O1BIa820Fsrs KHvwyxd3LhXEncfc6swSBpNr30Ob0Zp8SbWzE2aTucFRJEfeS54V2lTiShLGy3tccbQ6FW v1VibXxH85hsulfPdX9MHdJyI8wR+WCtDs5zxqohpbIA493sxHDxVHoZr+2ZmI4y/C1LGb rvQmbgcO/90Y9AmgwgqGvyAh7HCKbf+qfzSABYyD/7NzJcZXA7skHrWIZIHjesyAZvgRgY cgzD6rIiDdjhM+cpaA9uXMWXgWF2NwT1NH9DjD+gQXCNwls7Abb9vbCOXTy0Ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755383; a=rsa-sha256; cv=none; b=RdeZeS/purdYHd+DtFbE35IG1e1X3GWS4nsBy4cwimNEoiJDc6j/sRZpE5RlUXGwSsf4Uz UqnFqnCfsOceXlhOVmoemUXGUwfoCTkbZnxtH1TADYZuN8pgKNKj1Wdvj3ER3q48T+KFmg CdTojC2nIY+4zF3Pi8tMAH0mw770Z0+e0hh8YjV3I+IYFZ6knonxG7gDogrqD7etubwy93 Ooz9EoRGgSRlRLyrnTLcLfetDJh7TG3Y/79Cii5XRKmpCmSu+KeanjkGO9M7TrAcuRRJcV QPHNx/ljmvg7gjSPCV11TIVy4B7eh+d7k+ALRtsXG53mkJ7Ep6JcfZYQmltVdw== 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 4SbjZH5WZFz16nx; Thu, 23 Nov 2023 16:03:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG33ZK006473; Thu, 23 Nov 2023 16:03:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG33tk006470; Thu, 23 Nov 2023 16:03:03 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:03:03 GMT Message-Id: <202311231603.3ANG33tk006470@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 7fabea328fed - main - param.h: Bump __FreeBSD_version to 1500004 for commit f5f277728ade 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: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7fabea328fed60d5207b262d2372e85a7f731eef Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=7fabea328fed60d5207b262d2372e85a7f731eef commit 7fabea328fed60d5207b262d2372e85a7f731eef Author: Rick Macklem AuthorDate: 2023-11-23 16:01:41 +0000 Commit: Rick Macklem CommitDate: 2023-11-23 16:01:41 +0000 param.h: Bump __FreeBSD_version to 1500004 for commit f5f277728ade Commit f5f277728ade added a new VFS function called vfs_exjail_clone(), which will be used by the ZFS module. Bump the version for this change. --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 3595b0a43d36..33cf69f0a8ed 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -75,7 +75,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500003 +#define __FreeBSD_version 1500004 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Thu Nov 23 16:07:53 2023 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 4Sbjgs53LJz51nJf; Thu, 23 Nov 2023 16:07:53 +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 4Sbjgs4cZJz4PhM; Thu, 23 Nov 2023 16:07:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755673; 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=rJMPxeWi1uljtG5a+85uMG+4WWEH0HC3xa/uAPy9y28=; b=VpHI7TQdptB824LrsS7jk//mbJ4+4qf3uh6dhgUB1vnELsDt5KiwCtESUMtK1akIX3C1Fv X+EhKv+Wx768bS1wPOI03LI7yci3c5UCnai9b+QsLcl2L4FFyNstWs8ymzNAmss3q06Pde NYkpZopVYwOoIJ9dP4WezP3XzXtM6Dfa6rAdgFSjM/dB0NHRz9NZ4aL4LzPBaBMl3P4jqH hHTg2bz6L2mffv0heuYi5k98r7aa+qMBNgi+XcGuJXRmwv1rb4F5r95xO4K0r9id/p6DWl Z8UfibKxy7DCVwZkw2abdPwBm4Vl8UX9WXqv/v3RToyvMekx1YM76Eg6Pox88Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755673; 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=rJMPxeWi1uljtG5a+85uMG+4WWEH0HC3xa/uAPy9y28=; b=AWUHKPXg1oely0PmnJ3bFE5rgQLT7pCVWUSRdG7Drd1EFjre8PKsrUkgeF52rnQGyvGN/x GyY0yLwo5/ffUxGTyyeMH6PbdZL0F/VWwQM9gOdXnSrFx03hEPtrd7CPUXYvp63jvl2rum zyDXJS1+9hW97nJBMQSMBxx1uPb68hK0xf5PRVf8ZGqcdNBNkI6I7KvbFDrMVEFlhn6P4y XyDMfZR0XIjoC9uTeDY4A7DCoDfAY17QBI+C2MTK6bvag4wUnWSL+d4p0CYZ1/OojI1Vt2 19PJ4Bei+hRCvA35DoMEIRVQMnOBGKr83kILoAjCynEaIFpve0Gnc3NALYEZng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755673; a=rsa-sha256; cv=none; b=WvYZL+GIwMrd8AUUQ1rtj7l2l26F3ahefyrY/jUwQtSBWvfpQh0HNuphPw9yrjKKA+cbQz JqvpIaokmMO8tP5sr6HBEoqp6uun4GqtyDcYospca5CAXCpya7t2GycNcAPpftuOM7Wnzd TQ/n54uqFPopU4rUoqJ55lRlJk7wVx3uBFeplAB78fpmSGR9UJiOSnV4gN8n7q98ys2ZUJ 0xEYvEKK2EitWG7b6+r1JeoZ3YqITardYsx18IgN86NcHf28roe+UvaM0zELnkdekXFFcS GyCDf8M4p6zXkEeP3+XmLPKDzdQAP5Gx2gD2zXsB1SrNhsyYPMvocpdRjq+PTw== 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 4Sbjgs3hPyz17HF; Thu, 23 Nov 2023 16:07:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG7rYH007260; Thu, 23 Nov 2023 16:07:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG7rG4007257; Thu, 23 Nov 2023 16:07:53 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:07:53 GMT Message-Id: <202311231607.3ANG7rG4007257@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: a4b19cf5c76a - main - hptmv: remove vestigial EVENTHANDLER_DEREGISTER() 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a4b19cf5c76ac66d02a3ef8a549115ba865d630c Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=a4b19cf5c76ac66d02a3ef8a549115ba865d630c commit a4b19cf5c76ac66d02a3ef8a549115ba865d630c Author: Mitchell Horne AuthorDate: 2023-11-23 15:22:33 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 hptmv: remove vestigial EVENTHANDLER_DEREGISTER() The registration was removed in favor of DEVICE_SHUTDOWN(). Drop the unused eventhandler tag from the IAL_ADAPTER_T structure. Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 3 days Fixes: cd3ef66680a8 ("Use DEVICE_SHUTDOWN(9) mechanism...") Differential Revision: https://reviews.freebsd.org/D42334 --- sys/dev/hptmv/entry.c | 1 - sys/dev/hptmv/osbsd.h | 2 -- 2 files changed, 3 deletions(-) diff --git a/sys/dev/hptmv/entry.c b/sys/dev/hptmv/entry.c index fd3b808e1e73..0157a27c3728 100644 --- a/sys/dev/hptmv/entry.c +++ b/sys/dev/hptmv/entry.c @@ -2155,7 +2155,6 @@ hpt_shutdown(device_t dev) pAdapter = device_get_softc(dev); - EVENTHANDLER_DEREGISTER(shutdown_final, pAdapter->eh); mtx_lock(&pAdapter->lock); FlushAdapter(pAdapter); mtx_unlock(&pAdapter->lock); diff --git a/sys/dev/hptmv/osbsd.h b/sys/dev/hptmv/osbsd.h index a9240af16c89..0e4d94fb4756 100644 --- a/sys/dev/hptmv/osbsd.h +++ b/sys/dev/hptmv/osbsd.h @@ -190,8 +190,6 @@ typedef struct IALAdapter UCHAR status; UCHAR ver_601; UCHAR beeping; - - eventhandler_tag eh; } IAL_ADAPTER_T; From nobody Thu Nov 23 16:07:54 2023 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 4Sbjgt5tpyz51ncM; Thu, 23 Nov 2023 16:07:54 +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 4Sbjgt5Fm8z4PYV; Thu, 23 Nov 2023 16:07:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755674; 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=6cbZOXtN74NJtUey4z0pwudcG1LO0+h0zG3oFCh64P0=; b=xlaHgQ7CcPBFi1GPtT04b/Aaus/cuBiThgrg7e4JLEgSkEfgoyJZS4UJNw897JxQYgI/of LQF6IPx4N4GtoiLoGFFI4Yb3SYk9sQvdupbQ5/TcZzpTQBqXr6p55wGhctkuj8GdgVAX09 crS/BnQxttsOUUQkDAB3TxRXcLuPSjHv5Q18RY7a8dui1yFX/ROAhvb282W8CVXTXhpnzu knSDwpsStLg+24GJCkzXwsynZgB2ZJkIgOpMj76g+7zo1ur7lFboIWQX14sUd5lqjRLrrM L5QKTdJGi11V399BTiPtGocM5FLxicJCTQbkGgOjrR2MCw41yqG6c4e6fyQ8MA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755674; 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=6cbZOXtN74NJtUey4z0pwudcG1LO0+h0zG3oFCh64P0=; b=GQuaTDnbNo0vX13GXjQL6jx+4jsGJCrT+Qxk9Gsg6cFf7HEAMX0kt+Xjrtcjo09RrvlHnC e+DsRR3F3axysGwATSQrdw6dP0SyZP5yh/v5wcCIhFGy5yUtHlPgi4G6eYeihoDbfIJe8m RBhattTCrhjeji0z6K5YkCvx5MNf7MWK352Rs2k0t5xmmqJnEWBlydHjI7LIn6qovp3GDL ziA1TZM7fP3R7ihneJFfFYI64ZjZ40xM3+8P/fVpAc/BZmJFDoc1Rno7ysf/Yp33hlJo4j DNzKtHOWor3UMsof40tlUn3+gdhxac6kBGN5TZtQRo2XR7baydAmwAKHtBIGcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755674; a=rsa-sha256; cv=none; b=PbIEtN9uAU5raSur1TKizSslYLqk10Rsk1GFNUb7nrjBM/bvOHASzX76u5XwiuH2kUY14J qxtHU7C1fefNmdm7jZWn9Mm0rLQFvMY971Loy7lp2P44HvpfIFkgT9UFpTyFLIAIRmpjl0 oX9r+C8lu43ytFJQL6/WOW72B0Euvib/aJMYpAdt6B4NdeB9a3r8W/7myJzEqFJMJUfBP6 HQvtC9v1Sg1McEJWaWfIFFoHaJw9WdgtmnbES2fdl+zCNK8SwR1Uec+vwkThnsobInKqsN kIFpNgLunbB+j/VFi7WQZoQextJ7hkYD1qf9ukBzoT/mvvtxOQS7ZYvUEXT4fQ== 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 4Sbjgt4GDWz17B1; Thu, 23 Nov 2023 16:07:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG7sfp007314; Thu, 23 Nov 2023 16:07:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG7sjd007311; Thu, 23 Nov 2023 16:07:54 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:07:54 GMT Message-Id: <202311231607.3ANG7sjd007311@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: f3dc172763ae - main - geom: sort includes for some files 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f3dc172763aee039c917fdba03f1e27095f5a7a9 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=f3dc172763aee039c917fdba03f1e27095f5a7a9 commit f3dc172763aee039c917fdba03f1e27095f5a7a9 Author: Mitchell Horne AuthorDate: 2023-11-23 15:23:07 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 geom: sort includes for some files This is not exhaustive, just done ahead of some upcoming changes to these files. Don't include sys/cdefs.h explicitly. No functional change intended. Reviewed by: imp, jhb MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42335 --- sys/geom/journal/g_journal.c | 19 ++++++++++--------- sys/geom/mountver/g_mountver.c | 12 ++++++------ sys/geom/raid/g_raid.c | 17 +++++++++-------- sys/geom/raid3/g_raid3.c | 17 +++++++++-------- 4 files changed, 34 insertions(+), 31 deletions(-) diff --git a/sys/geom/journal/g_journal.c b/sys/geom/journal/g_journal.c index cfc42c120992..147e83cc7e21 100644 --- a/sys/geom/journal/g_journal.c +++ b/sys/geom/journal/g_journal.c @@ -26,34 +26,35 @@ * SUCH DAMAGE. */ -#include #include #include +#include +#include #include -#include +#include #include #include -#include -#include -#include +#include #include #include -#include +#include #include -#include +#include #include +#include #include #include -#include + #ifdef GJ_MEMDEBUG #include #include #endif + #include #include + #include #include - #include FEATURE(geom_journal, "GEOM journaling support"); diff --git a/sys/geom/mountver/g_mountver.c b/sys/geom/mountver/g_mountver.c index 00ff9dd9b7cb..de3a298735d4 100644 --- a/sys/geom/mountver/g_mountver.c +++ b/sys/geom/mountver/g_mountver.c @@ -27,20 +27,20 @@ * SUCH DAMAGE. */ -#include #include #include +#include +#include +#include #include -#include #include +#include +#include #include -#include -#include #include #include #include -#include -#include + #include #include #include diff --git a/sys/geom/raid/g_raid.c b/sys/geom/raid/g_raid.c index 753c9fdbe867..437cef416ca3 100644 --- a/sys/geom/raid/g_raid.c +++ b/sys/geom/raid/g_raid.c @@ -26,25 +26,26 @@ * SUCH DAMAGE. */ -#include #include #include +#include +#include #include -#include +#include #include #include +#include +#include #include -#include +#include #include +#include #include -#include -#include + #include + #include #include -#include -#include -#include #include #include "g_raid_md_if.h" #include "g_raid_tr_if.h" diff --git a/sys/geom/raid3/g_raid3.c b/sys/geom/raid3/g_raid3.c index 0d4ecb704aa5..8f12f14cf09b 100644 --- a/sys/geom/raid3/g_raid3.c +++ b/sys/geom/raid3/g_raid3.c @@ -26,25 +26,26 @@ * SUCH DAMAGE. */ -#include #include #include +#include +#include #include -#include +#include #include #include +#include +#include #include -#include +#include #include +#include #include -#include -#include + #include + #include #include -#include -#include -#include #include FEATURE(geom_raid3, "GEOM RAID-3 functionality"); From nobody Thu Nov 23 16:07:55 2023 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 4Sbjgv6xphz51ncQ; Thu, 23 Nov 2023 16:07:55 +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 4Sbjgv67l1z4Q1d; Thu, 23 Nov 2023 16:07:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755675; 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=tSrqGAs9w9yBN6BQ7BuyCH8wA6I9Y/60eVSTxyskpqI=; b=Ut4fyRCiJ016Sip0lmnhI0TNy/p9+7Qv5gQVvDnTYMvuIv+/FMzWlpc6If+l6sdbrP1AVO qKEBabH38SqYODEdl+9uQDjSvWxBNWgK0hwC53QlrVu2OzDrUp6Sn+tPJB/K+Asa/XRRUK +sUsR8o2gxW5o1wjmKbFt+Xk8D3UCL0RPArP3F+kiCatcYOiEz8U+HBPyHwDz1od+/E/q9 Ur5KH4hSSd6iAwzYITX4vrSWBvAWLxNFUiLEfLEi8OYUvYCuUAABlQeEFAy8Z3OjhjaKT8 D6cuHUejOR1TVTtK9pm9Msk0Fu0m9xKkKwaWfmZlikezAnHNzrdMotUozbRV5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755675; 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=tSrqGAs9w9yBN6BQ7BuyCH8wA6I9Y/60eVSTxyskpqI=; b=HjGwR1hlZtvUSiOjOw2jnsBqKzeu9AgcpoOdfxSiG8uGuXcuD/yiXE7f2zwWEzbKxf687h DeJiTg767RJfyBUfGB9BZvcJRmroyBYXqPAvld32Sr7VcL9MKQjtH27Nf+R9Xi3N5Ism3r I4D02GIdCRyrWWgiFBZoiM327JMHAwAw5uC94i+LlSLd04jBMMCbN056oUgo487bDuOUZ5 +UvhSCCXeP0iFbuyZi4keJCMXpBfPLhY8ExlCiM5C74SfVb1r0djJAWffVEw1ziCR+pwp7 jKl6u0Odm6P3YPXoifYaD9jNZEiJgcMhSRgs8QLtmw0AundPjH7ZT38bgpXvmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755675; a=rsa-sha256; cv=none; b=H/lYjoekpngHtDjTYrRwGlhwPzN6FYNB3kg45oNW2KkKOfz5DRCeupSAHAVFhBnQuTV+Cm B8GQiqhBtpWEddVslm3Xq4znLzSwq2iJIsP53hlaWAS5PpdHQ8rKZpzXSYRAUJzjZWkBwq jxgjET8ibsN96LZkDg+AyDzfORtIUknTpcqRZZHEjG+/Pi8nU/cTf1fiznRbwYhdyal4un AkRhizNiia8Ssf1f4yz2m2dVavhehfjd68cKXTZIuhVACUa0KFqEUnqtzflU8JeM5e7YpA QEvV+X9+sPYaXcP4e8e+1HWeaQC2HF+kFr13TKiaNqkQ/g/KakWmwzFkiL5kaw== 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 4Sbjgv5Dmrz17KT; Thu, 23 Nov 2023 16:07:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG7tri007350; Thu, 23 Nov 2023 16:07:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG7tvc007347; Thu, 23 Nov 2023 16:07:55 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:07:55 GMT Message-Id: <202311231607.3ANG7tvc007347@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 66d9c2f38d2d - main - pst-raid.c: sort #includes 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66d9c2f38d2db9e50c0dbf56dca4a2f3e6c3107c Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=66d9c2f38d2db9e50c0dbf56dca4a2f3e6c3107c commit 66d9c2f38d2db9e50c0dbf56dca4a2f3e6c3107c Author: Mitchell Horne AuthorDate: 2023-11-23 15:23:42 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 pst-raid.c: sort #includes Reviewed by: imp, jhb MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42336 --- sys/dev/pst/pst-raid.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c index 076925b27a6b..4e9c4fb724bc 100644 --- a/sys/dev/pst/pst-raid.c +++ b/sys/dev/pst/pst-raid.c @@ -28,30 +28,32 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include #include #include -#include #include -#include #include +#include #include #include -#include +#include #include +#include #include +#include + #include #include + #include #include #include -#include + #include #include -#include - #include "dev/pst/pst-iop.h" +#include + struct pst_softc { struct iop_softc *iop; struct i2o_lct_entry *lct; From nobody Thu Nov 23 16:07:56 2023 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 4Sbjgx1zrpz51nZB; Thu, 23 Nov 2023 16:07:57 +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 4Sbjgw6vzRz4PyV; Thu, 23 Nov 2023 16:07:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755677; 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=cGP6WRiDs04MiV+szh1/oufXXB8h3ERmw3iqIGndEmM=; b=Fk2ulx8y2xvfoOjuS/nYoZpFYhMTW+2ouxikZ9ZI6pzUFDesFFXyh9tWVFCZpgM6PQse7d dkKo8ru5j/xaTvIdfu24aFKsVIqRjcTJoevnsALNa4tbSuRAzE1QkXJq05DaG8IUlMuoZB XSnmQiQV7Qy1B27/kqINp/JxjOqmIvGYxbWPx+GtYbLO6PPNbxigcGChE4VTiClNgcfLFG vf5MiNy/Pn+YOxssrsCcOvEBJjGHf7IWixq1Q0aokkSIsl54ItqbQAmrQIdg9s8g1Sxmtv pJpywUDr1wt/DXB5D+K/Ie8850ZeJWE/vd97Ra0NYutp2DbGh0KDJnd8x/HW3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755677; 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=cGP6WRiDs04MiV+szh1/oufXXB8h3ERmw3iqIGndEmM=; b=wrc1sAJQ9+eQwsD1KR/xUwg5VznJSh7XmFaes5nY9+3M0uUVxkzZb/cmat0hdKYmKrtHkU DDN6qXAHU2Ktyjk1VpeDFZYGU53/oNbk+DXPdF1fern1DaoKZO+WYDw86A6RzedekAyoDh UPNY9ig2KE3/2vzgIAuRlEuWtZB4UGpmTs5Xi8Vg8RiyQ93/LjOz6o8/CpLFcUltIKkDsw l6ha+cCTQL8lSHsG2LxBYYVW3dSA2E4BHfTpRjbGFweeA4o0iS6Gx257RYQ1oIkSKEU+Op 5boiILMy5ENieLTNKKT5GrnuhwabMltKKL2vDuVwTKuZ6KBVHtRLXsSdcS1rag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755677; a=rsa-sha256; cv=none; b=XOYg+uBJsZPRtXr+PZaez5YoY3Neaq3g3nF7bCTUbSNtid0QH+yFgDmgRCBRR6ufQL/H90 c3Lz9GvkxxIydvF9M8tbYm6oNKw4Vt+kQpSf32BjF2MmQk2GB1yPAR4bftRZEOGTnqJx8B gk67KUQ5neQD8wu6YdsJ6DKGDOstp2/fuuJUam5MXWkxzNJOyY4biVsN5QvKIL0ilW+j5R W2/ZOFc27l6TOTjqHQBHFDB3vr9v8b/eGg3CkYi4+ptWiPEUlt10jTrFlgCQHQJlTk5qw/ 4UnQnQxxzsdcqhttvcOnEll1JCEH0zVqCiIgN1ZBzy9IdNqXJKNkiqSOHgdW0A== 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 4Sbjgw61BLz17hJ; Thu, 23 Nov 2023 16:07:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG7u7o007392; Thu, 23 Nov 2023 16:07:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG7u3q007389; Thu, 23 Nov 2023 16:07:56 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:07:56 GMT Message-Id: <202311231607.3ANG7u3q007389@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 4eb861d362d6 - main - shutdown: audit shutdown_post_sync event callbacks 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4eb861d362d6a9493df7f77eab8e28f9c826702a Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=4eb861d362d6a9493df7f77eab8e28f9c826702a commit 4eb861d362d6a9493df7f77eab8e28f9c826702a Author: Mitchell Horne AuthorDate: 2023-11-23 15:58:27 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 shutdown: audit shutdown_post_sync event callbacks Ensure they are all panic/debugger safe. Most handlers for this event are for disk drivers/geom modules. There are a mix of checks being used here (or not), so let's standardize on checking the presence of the RB_NOSYNC flag. This flag is set whenever: 1. The kernel has panicked and kern.sync_on_panic=0* 2. We reboot from within the kernel debugger (the "reset" command) 3. Userspace requested it, e.g. by 'reboot -n' Name the functions consistently. *This sysctl is tuned to zero by default, but its existence means that these handlers can be executed after a panic, at the user's discretion. IMO this use-case is implicitly understood to be risky, and we'd be better off eliminating it altogether. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42337 --- sys/dev/iscsi/iscsi.c | 8 +++++--- sys/geom/journal/g_journal.c | 8 +++++--- sys/geom/mirror/g_mirror.c | 3 ++- sys/geom/raid/g_raid.c | 4 ++++ sys/geom/raid3/g_raid3.c | 4 ++++ 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/sys/dev/iscsi/iscsi.c b/sys/dev/iscsi/iscsi.c index ecf4fe21a165..311b339caf7a 100644 --- a/sys/dev/iscsi/iscsi.c +++ b/sys/dev/iscsi/iscsi.c @@ -44,11 +44,13 @@ #include #include #include +#include #include #include #include #include #include + #include #include @@ -2711,10 +2713,10 @@ iscsi_shutdown_pre(struct iscsi_softc *sc) } static void -iscsi_shutdown_post(struct iscsi_softc *sc) +iscsi_shutdown_post_sync(struct iscsi_softc *sc, int howto) { - if (!KERNEL_PANICKED()) { + if ((howto & RB_NOSYNC) == 0) { ISCSI_DEBUG("removing all sessions due to shutdown"); iscsi_terminate_sessions(sc); } @@ -2751,7 +2753,7 @@ iscsi_load(void) * cam_periph_runccb(). */ sc->sc_shutdown_post_eh = EVENTHANDLER_REGISTER(shutdown_post_sync, - iscsi_shutdown_post, sc, SHUTDOWN_PRI_DEFAULT - 1); + iscsi_shutdown_post_sync, sc, SHUTDOWN_PRI_DEFAULT - 1); return (0); } diff --git a/sys/geom/journal/g_journal.c b/sys/geom/journal/g_journal.c index 147e83cc7e21..11a75e541fda 100644 --- a/sys/geom/journal/g_journal.c +++ b/sys/geom/journal/g_journal.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -2655,13 +2656,14 @@ static eventhandler_tag g_journal_event_shutdown = NULL; static eventhandler_tag g_journal_event_lowmem = NULL; static void -g_journal_shutdown(void *arg, int howto __unused) +g_journal_shutdown_post_sync(void *arg, int howto) { struct g_class *mp; struct g_geom *gp, *gp2; - if (KERNEL_PANICKED()) + if ((howto & RB_NOSYNC) != 0) return; + mp = arg; g_topology_lock(); LIST_FOREACH_SAFE(gp, &mp->geom, geom, gp2) { @@ -2738,7 +2740,7 @@ g_journal_init(struct g_class *mp) (g_journal_cache_limit / 100) * g_journal_cache_switch; } g_journal_event_shutdown = EVENTHANDLER_REGISTER(shutdown_post_sync, - g_journal_shutdown, mp, EVENTHANDLER_PRI_FIRST); + g_journal_shutdown_post_sync, mp, EVENTHANDLER_PRI_FIRST); if (g_journal_event_shutdown == NULL) GJ_DEBUG(0, "Warning! Cannot register shutdown event."); g_journal_event_lowmem = EVENTHANDLER_REGISTER(vm_lowmem, diff --git a/sys/geom/mirror/g_mirror.c b/sys/geom/mirror/g_mirror.c index b2bcea2f0dbb..c6f95f28ba89 100644 --- a/sys/geom/mirror/g_mirror.c +++ b/sys/geom/mirror/g_mirror.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -3546,7 +3547,7 @@ g_mirror_shutdown_post_sync(void *arg, int howto) struct g_mirror_softc *sc; int error; - if (KERNEL_PANICKED()) + if ((howto & RB_NOSYNC) != 0) return; mp = arg; diff --git a/sys/geom/raid/g_raid.c b/sys/geom/raid/g_raid.c index 437cef416ca3..6938491d696c 100644 --- a/sys/geom/raid/g_raid.c +++ b/sys/geom/raid/g_raid.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -2457,6 +2458,9 @@ g_raid_shutdown_post_sync(void *arg, int howto) struct g_raid_softc *sc; struct g_raid_volume *vol; + if ((howto & RB_NOSYNC) != 0) + return; + mp = arg; g_topology_lock(); g_raid_shutdown = 1; diff --git a/sys/geom/raid3/g_raid3.c b/sys/geom/raid3/g_raid3.c index 8f12f14cf09b..721610cefbec 100644 --- a/sys/geom/raid3/g_raid3.c +++ b/sys/geom/raid3/g_raid3.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -3573,6 +3574,9 @@ g_raid3_shutdown_post_sync(void *arg, int howto) struct g_raid3_softc *sc; int error; + if ((howto & RB_NOSYNC) != 0) + return; + mp = arg; g_topology_lock(); g_raid3_shutdown = 1; From nobody Thu Nov 23 16:07:57 2023 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 4Sbjgy244tz51ncX; Thu, 23 Nov 2023 16:07:58 +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 4Sbjgy0z4Pz4PvK; Thu, 23 Nov 2023 16:07:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755678; 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=d1tQJqaJSbPSrStKOekwFhmdZe8+7X+r10yzGa91yxc=; b=eo7/5/UqqaBzRSy5HBuBulj27nZnlvl0yW82kuUyt1VxKIU19n3NsMC/rrcQvLG/r0pekd nazHTHOFL8zrs4zi0QH+4XvBr60ppqVU2U7/4+q+FM0hyEd2YWhGdE+Eqg5GfZ4W68pUm2 +OpSuj5enQxWmuC1m9ONol4lY/BOYMtslEy+4uBllwHwdcMvuyHBXwNZ97DnAD/XZIihRT JUon8bfy3v67jzLHpHSE/0aA86pxrld4E1NzuDtv0hMvbrBrhHeygfwkXRAmxzejwVn4HL tEQYjXtI7lHdbxtUi4o/BieMe3Y8u8Ki4NmU2IWH8XZ4Untm9fsGpHjdZ1J5BQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755678; 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=d1tQJqaJSbPSrStKOekwFhmdZe8+7X+r10yzGa91yxc=; b=F7QEtKxvU2ywwqUutO2/G9Gh+Kp2iiKy32JDujJ7FJLv9wLCoNddslZrsVKQZNoVyupUiX Dt7oMCLVU3M6yBBov9C5Dj9gPhfYZgqCNStoPvccpwdMQmZC09nJ7annfNIx0E4GQEilGJ icQjvfgzfjgvPl62/bfw4XkdyGK7dBdx/UNg+v7oLsj05Fl6o4SWzD6nACExZv2C0KmqgV XVxbWcklY0uFGywK157vd6YClD2UO8kT++J6B3uowObBNm3Rd7jH4w6QeC8g2CCrQmBCc8 CCtnfpUr1ozBBbQMiawtS7rcZpF3fMkHtNG9YAUQJfyDIbBc26ImG8EGji+7Dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755678; a=rsa-sha256; cv=none; b=pJGGhzxwnwkXb6kueRKuKw8FHiDHyS2qIGUdcqDguuJKWwAj/iyKgXVjw7vx776x2xlOae mWANGamfKeWWLzV7fAD2N6BN5K0fk31PbeVGGFG4Oozv7VtoI9AIrnN56OlyMBCecVYIiL PGyFYNJfr4C5cpipa2EmT+KQx0NIFVROZt1KeHfwG26LshJr7xzMVfeeWzdcIT6q4I12R7 WTXqgqXL9vW1vPM6dOlezacmy72RoEtlYklonbbIeRFTtG59U4uMSAkn06ckdPD8Wkwe5U PQYs1UDKaCeQJhhGh92eeVyMOl5Pl5p6RI/G8l1z9bMOyS1TaMDnnrMkPgNgJQ== 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 4Sbjgx6v97z17hK; Thu, 23 Nov 2023 16:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG7vou007432; Thu, 23 Nov 2023 16:07:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG7v6J007429; Thu, 23 Nov 2023 16:07:57 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:07:57 GMT Message-Id: <202311231607.3ANG7v6J007429@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 428ebb7cd9f5 - main - pst: improve shutdown_post_sync handler 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 428ebb7cd9f51afb6809bf81cf21a05e0fd93ff4 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=428ebb7cd9f51afb6809bf81cf21a05e0fd93ff4 commit 428ebb7cd9f51afb6809bf81cf21a05e0fd93ff4 Author: Mitchell Horne AuthorDate: 2023-11-23 15:59:05 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 pst: improve shutdown_post_sync handler It is desirable to shut down the raid controller even in the face of a panic. In the SCHEDULER_STOPPED() case, set the interrupt mask bits so that we request a polled wait, rather than sleep(), from iop_queue_wait_msg(). Tweak the function name and signature. Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42337 --- sys/dev/pst/pst-iop.c | 2 +- sys/dev/pst/pst-raid.c | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/sys/dev/pst/pst-iop.c b/sys/dev/pst/pst-iop.c index f9921a564333..43ced2401d2c 100644 --- a/sys/dev/pst/pst-iop.c +++ b/sys/dev/pst/pst-iop.c @@ -432,7 +432,7 @@ iop_queue_wait_msg(struct iop_softc *sc, int mfa, struct i2o_basic_message *msg) int status, timeout = 10000; mtx_lock(&sc->mtx); - if (!(sc->reg->oqueue_intr_mask & 0x08)) { + if ((sc->reg->oqueue_intr_mask & I20_OUT_INTR_QUEUE) == 0) { msg->transaction_context = (u_int32_t)&request; msg->initiator_context = (u_int32_t)iop_done; sc->reg->iqueue = mfa; diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c index 4e9c4fb724bc..4f9279462ee8 100644 --- a/sys/dev/pst/pst-raid.c +++ b/sys/dev/pst/pst-raid.c @@ -73,7 +73,7 @@ struct pst_request { static disk_strategy_t pststrategy; static int pst_probe(device_t); static int pst_attach(device_t); -static int pst_shutdown(device_t); +static void pst_shutdown_post_sync(device_t, int); static void pst_start(struct pst_softc *); static void pst_done(struct iop_softc *, u_int32_t, struct i2o_single_reply *); static int pst_rw(struct pst_request *); @@ -170,18 +170,23 @@ pst_attach(device_t dev) name, psc->info->capacity/(512*255*63), 255, 63, device_get_nameunit(psc->iop->dev)); - EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown, + EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown_post_sync, dev, SHUTDOWN_PRI_FIRST); return 0; } -static int -pst_shutdown(device_t dev) +static void +pst_shutdown_post_sync(device_t dev, int howto __unused) { struct pst_softc *psc = device_get_softc(dev); struct i2o_bsa_cache_flush_message *msg; int mfa; + if (SCHEDULER_STOPPED()) { + /* Request polled shutdown. */ + psc->reg->oqueue_intr_mask = 0xffffffff; + } + mfa = iop_get_mfa(psc->iop); msg = (struct i2o_bsa_cache_flush_message *)(psc->iop->ibase + mfa); bzero(msg, sizeof(struct i2o_bsa_cache_flush_message)); @@ -194,7 +199,6 @@ pst_shutdown(device_t dev) msg->control_flags = 0x0; /* 0x80 = post progress reports */ if (iop_queue_wait_msg(psc->iop, mfa, (struct i2o_basic_message *)msg)) printf("pst: shutdown failed!\n"); - return 0; } static void From nobody Thu Nov 23 16:07:59 2023 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 4Sbjgz2LTFz51nGW; Thu, 23 Nov 2023 16:07:59 +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 4Sbjgz1l40z4Q37; Thu, 23 Nov 2023 16:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755679; 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=2f/qWoJr9HQdYmWOC8Tl3f99RDl5ZhN2RcXdZ3O7Duc=; b=wIb4uj0RMS0b20zD8vDmMoXtYsERntPvKZQHW6NTBlVyF5DQvPwpzkSRmcxIIbYPn5f8oV KO7c6XKlBNCvT83uB6Rrmfx77ALMM8rGILoKh8lPGlTAEVFLZglPYBQBfYn5ftTNnPcwZp gNCcvQ/U6n7O6QErQtZLJ42Tt3LPTHKG48aOOEOaBzoAb0GoOQmNDUDj3FS9bg1r4c/hi+ rmUg0uDIn/DjP+lLT8USr94Ucy9LEj5D0AkbpmrDeiIt62lFhMCsxaZs1cAL2zsCLR4wiK A+2bbP1anS89iBemt/O+En7tF2YVDpPhN1fYEplj6KVV4EdiYZ0n0Ofrnz33sA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755679; 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=2f/qWoJr9HQdYmWOC8Tl3f99RDl5ZhN2RcXdZ3O7Duc=; b=tjPTBMmVCXuNhHcysXbFpXvrVoc93Gqv1yjbj9B6kjegEzNQypv+opKA5NtaHFEkZSQKBm peCytjDaNI8blmqanXgfCHd7NF9CJkVY/J9Bq2t8FmJapRtp/F6W/6+IpirT947qHqtuB5 S2e0mGSF0OylMrNKfK14DBfTG2g/cGFObufFZknromo0bz9yroOqZNVElpy2KLLHgVw+xB /c+DYSWrcmiPgsrSydoRtCfsQbIljhLFYuBcazmhW1g29BGW1sM6tvSSVIuqRAfHx6DxZm HVhJr61RUK1PQ7CqapowqcpMXHhUKWd+KugFWyeQl8YQ2lwy+5hzOUjHve/3ww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755679; a=rsa-sha256; cv=none; b=Cn8PDN9KsvaT6zXWWGwJA9rdTWT0gqmk/uDG2ifTbKkPinVwCetiFTGKjADpFSLVVOiW// bL09ZQk8mElegiF9FsQpPZFa1aWzm+rxQwizfAS0HqMoQL4H825E3uzm+7mo4+j5ilthU1 OQEBHU81fOlSNQKEgjIsE6nZ2yhHaUr9npIDwoQgK7flgI9yWFk8Reksv4L8duS01tCZlq EcoOFf9TW4bsDj+Khe+WE7v+g8oDlCFyY6KIdctxOP/s2hiDwZrjrjGr9K0fBetn/F/sGA 1//jLYfF8yVtMiDt6fTgQ6lv25wL6pI3Hru9kwRrOLz3dorAv9t2dRW2qf8V+g== 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 4Sbjgz0qxYz17HG; Thu, 23 Nov 2023 16:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG7xIg007477; Thu, 23 Nov 2023 16:07:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG7x8w007474; Thu, 23 Nov 2023 16:07:59 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:07:59 GMT Message-Id: <202311231607.3ANG7x8w007474@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 41e26e8288f1 - main - powerpc: better handling of shutdown flags 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 41e26e8288f1743c8584e5f9c461d36dce1cccc6 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=41e26e8288f1743c8584e5f9c461d36dce1cccc6 commit 41e26e8288f1743c8584e5f9c461d36dce1cccc6 Author: Mitchell Horne AuthorDate: 2023-11-23 15:25:05 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 powerpc: better handling of shutdown flags RB_HALT does not mean poweroff, RB_POWEROFF does. Reviewed by: jhibbits MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42339 --- sys/powerpc/powermac/cuda.c | 8 +++++++- sys/powerpc/powermac/pmu.c | 6 ++++-- sys/powerpc/powermac/smu.c | 6 ++++-- sys/powerpc/powernv/opal_dev.c | 6 ++++-- sys/powerpc/pseries/rtas_dev.c | 4 ++-- 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/sys/powerpc/powermac/cuda.c b/sys/powerpc/powermac/cuda.c index 974ad585b543..97f60f269559 100644 --- a/sys/powerpc/powermac/cuda.c +++ b/sys/powerpc/powermac/cuda.c @@ -748,7 +748,13 @@ cuda_shutdown(void *xsc, int howto) struct cuda_softc *sc = xsc; uint8_t cmd[] = {CUDA_PSEUDO, 0}; - cmd[1] = (howto & RB_HALT) ? CMD_POWEROFF : CMD_RESET; + if ((howto & RB_POWEROFF) != 0) + cmd[1] = CMD_POWEROFF; + else if ((howto & RB_HALT) == 0) + cmd[1] = CMD_RESET; + else + return; + cuda_poll(sc->sc_dev); cuda_send(sc, 1, 2, cmd); diff --git a/sys/powerpc/powermac/pmu.c b/sys/powerpc/powermac/pmu.c index 67ef57bf6be8..f9d9d4d40c72 100644 --- a/sys/powerpc/powermac/pmu.c +++ b/sys/powerpc/powermac/pmu.c @@ -812,10 +812,12 @@ pmu_shutdown(void *xsc, int howto) struct pmu_softc *sc = xsc; uint8_t cmd[] = {'M', 'A', 'T', 'T'}; - if (howto & RB_HALT) + if ((howto & RB_POWEROFF) != 0) pmu_send(sc, PMU_POWER_OFF, 4, cmd, 0, NULL); - else + else if ((howto & RB_HALT) == 0) pmu_send(sc, PMU_RESET_CPU, 0, NULL, 0, NULL); + else + return; for (;;); } diff --git a/sys/powerpc/powermac/smu.c b/sys/powerpc/powermac/smu.c index 5aed7b87d3c2..af00599e6b54 100644 --- a/sys/powerpc/powermac/smu.c +++ b/sys/powerpc/powermac/smu.c @@ -1317,10 +1317,12 @@ smu_shutdown(void *xdev, int howto) struct smu_cmd cmd; cmd.cmd = SMU_POWER; - if (howto & RB_HALT) + if ((howto & RB_POWEROFF) != 0) strcpy(cmd.data, "SHUTDOWN"); - else + else if ((howto & RB_HALT) == 0) strcpy(cmd.data, "RESTART"); + else + return; cmd.len = strlen(cmd.data); diff --git a/sys/powerpc/powernv/opal_dev.c b/sys/powerpc/powernv/opal_dev.c index edb8f6d435ad..ab1a1fbb731c 100644 --- a/sys/powerpc/powernv/opal_dev.c +++ b/sys/powerpc/powernv/opal_dev.c @@ -344,10 +344,12 @@ static void opal_shutdown(void *arg, int howto) { - if (howto & RB_HALT) + if ((howto & RB_POWEROFF) != 0) opal_call(OPAL_CEC_POWER_DOWN, 0 /* Normal power off */); - else + else if ((howto & RB_HALT) == 0) opal_call(OPAL_CEC_REBOOT); + else + return; opal_call(OPAL_RETURN_CPU); } diff --git a/sys/powerpc/pseries/rtas_dev.c b/sys/powerpc/pseries/rtas_dev.c index ef9522f5495d..f8198ef27417 100644 --- a/sys/powerpc/pseries/rtas_dev.c +++ b/sys/powerpc/pseries/rtas_dev.c @@ -155,13 +155,13 @@ rtas_shutdown(void *arg, int howto) { cell_t token, status; - if (howto & RB_HALT) { + if ((howto & RB_POWEROFF) != 0) { token = rtas_token_lookup("power-off"); if (token == -1) return; rtas_call_method(token, 2, 1, 0, 0, &status); - } else { + } else if ((howto & RB_HALT) == 0) { token = rtas_token_lookup("system-reboot"); if (token == -1) return; From nobody Thu Nov 23 16:08:00 2023 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 4Sbjh03rHSz51nGb; Thu, 23 Nov 2023 16:08:00 +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 4Sbjh0300hz4QDZ; Thu, 23 Nov 2023 16:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755680; 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=2A3bY2UnB2vJJiFstCz6J0IgPin+1fRBJNyZHEgO54k=; b=aEkkh94wLJbGbFO0pAt+zffjzLA6rWJEYE/ZPqJeRzYz3C0WoideseK/hzGXYW6wiG+6j9 YCwbSCoxmheFpgEXiNX4VuGd17+XTVpLqWT4n8YnFeQV449hOXd4pOSjzYhc+JofVPyltz jvwR7Fz60C9xsczB1XqF1/x41YMPbk+nxPpElQKn7ABGu1wNdtsOIOflFtyW/rTxsYWW/a zqOBKo0Nuc7/5psxGmGCuPDAmdU/C2zW5q3Hm4rwb2TqukhIwJkh4SUARGOTT+2ZTXIhT4 IWa9VeHilwnV/91OCs9+sThyj2tPskImyNsunnNvNBQEHV3RIQCNPJeJsGW1GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755680; 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=2A3bY2UnB2vJJiFstCz6J0IgPin+1fRBJNyZHEgO54k=; b=GBQSjBZ3PtxFSyNYhDUh6OC6LnwQpi0J7Y8qWOK+LtBzhVZWogikyxaqz5lI03d15Q49FE yw+wugMJzgXzPJhbRfFAoYKWv5jJDP+YlwaNSbak8aBs5EeK+URWD4Hd9fLaCU7zVIvw45 5Se8NUbqrO+qlfijLi4PJD1yOV5/4WKZKxwYCkq/grYbcoMOdOWEIqQJu1oj3km8hXtwN+ 08yANhDGn5Go6TpMy3KT8QG0m4YkLPhHfTIFmQLIZVdy9N4xnfV+k8ubeTO9+MosrNp4Wd 3gW7GHN1MwBWBTjp6TvcfSk37aolYqnkP2H59kSB0CxE10ErTDPxSCbDWcaqsA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755680; a=rsa-sha256; cv=none; b=b13kuNYOiF/3pZTgQRD93Q9vfNw268qpbpMxKiqVJdK+E4WJPIZmeFbAQnZy02HlbcmYvZ XIfSDjfPkpK3ymZpqu9YmHXugTN2tCZndXhzV+KeGHxYuV06wk4hPn41k/BZDEiSNkkaCY 2atmMPNLR0OAtrJMY7oqfwZv6QOTu4Td7N76Le/jJVDOuDydm8orbd9spVGvoM4yRl3uuh D031DXfg+5jV/8O0v16zEcZJMAZCvrJS5hW6GKDlyqKmS4/HLFZb/qny+2kO1wgrmRXq8T tbOlNsccUa6U6Lh9NzmhushLB/fn8Fphar5XICccjLVXkYcdx+IQX0Moo46tQA== 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 4Sbjh01v6Mz17fZ; Thu, 23 Nov 2023 16:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG80CY007539; Thu, 23 Nov 2023 16:08:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG80dG007536; Thu, 23 Nov 2023 16:08:00 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:08:00 GMT Message-Id: <202311231608.3ANG80dG007536@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: d79a9edb5ce1 - main - alq, siftr: add panic/debugger checks to shutdown hooks 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d79a9edb5ce162c1ba49e12e5c93b894e6a25ad2 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=d79a9edb5ce162c1ba49e12e5c93b894e6a25ad2 commit d79a9edb5ce162c1ba49e12e5c93b894e6a25ad2 Author: Mitchell Horne AuthorDate: 2023-11-23 15:25:30 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 alq, siftr: add panic/debugger checks to shutdown hooks Don't try to gracefully terminate the pkt_manager thread if the scheduler is not running. We should not attempt to shutdown ald if RB_NOSYNC is set, and must not if the scheduler is stopped (the function calls wakeup()). Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42340 --- sys/kern/kern_alq.c | 14 +++++++++----- sys/netinet/siftr.c | 6 +++++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/sys/kern/kern_alq.c b/sys/kern/kern_alq.c index 51fd66f2fe9f..1bcce92509c5 100644 --- a/sys/kern/kern_alq.c +++ b/sys/kern/kern_alq.c @@ -37,19 +37,20 @@ #include #include +#include +#include +#include #include #include #include +#include #include #include #include #include -#include -#include -#include +#include #include -#include -#include +#include #include @@ -228,6 +229,9 @@ ald_shutdown(void *arg, int howto) { struct alq *alq; + if ((howto & RB_NOSYNC) != 0 || SCHEDULER_STOPPED()) + return; + ALD_LOCK(); /* Ensure no new queues can be created. */ diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c index fbb47fc4a521..13b26e61b5d4 100644 --- a/sys/netinet/siftr.c +++ b/sys/netinet/siftr.c @@ -74,6 +74,7 @@ #include #include #include +#include #include #include #include @@ -1300,8 +1301,11 @@ siftr_sysctl_enabled_handler(SYSCTL_HANDLER_ARGS) } static void -siftr_shutdown_handler(void *arg) +siftr_shutdown_handler(void *arg, int howto) { + if ((howto & RB_NOSYNC) != 0 || SCHEDULER_STOPPED()) + return; + if (siftr_enabled == 1) { siftr_manage_ops(SIFTR_DISABLE); } From nobody Thu Nov 23 16:08:01 2023 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 4Sbjh146Fnz51nZK; Thu, 23 Nov 2023 16:08:01 +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 4Sbjh13gG1z4Q17; Thu, 23 Nov 2023 16:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755681; 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=9mJY/bR5I4z3SIP50SRvxqdqkEdZdyec+1Z/OB5cFGI=; b=NV2vaS6Fp5XWmT3P2DbXHLt/9ZS8HqseZ/bzjivVapv7t2xIlyQJociE9fz1SlNZnBktNj eZGlaFfdCnwxkyiEP8VOs2Wukrmyz5Rhw3WaJ+7bzV6B4sMXLJaQDUZA4Wfi1m4HXE2tyc F/zHyU8RT6n1mYBGRK9qLpGBk5nS7ROrMTXReM8Z9vBdglDxZeOuR84audkTBCz2liicZt Q6klKYKD6vjo5rtnwBa9kEToih1R5v56fHmL4l3KDjWSmSxBYVX+eAUNFwT15BUVCa7hrp zICdzJ0qUvhUWBb09AIJenyRYz0F+q1cLX/OQFoxptzqY/Qxuhyy9ac8yi/Ydw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755681; 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=9mJY/bR5I4z3SIP50SRvxqdqkEdZdyec+1Z/OB5cFGI=; b=MWHzTkhUR3b0Uz+OLRY4bGM8w1me/UvEI3drKdLbzT6mIeqsnP3d+9kMkUDlO94LRCIMQ3 ++cr2g4IRSTxJ3TZRBjTObxXuzVODjp542rKtilCUN8cjzMtbhuPjGOGlJuIJ312UgU7xI mQBvhCkrnEle5ROS5g1a9iXO6arlpRJJ28FLPTyQlVoK4wBwFf0J4O1ziqyQHNp4mzQoTb aEbF30qwpIUYoicgPAJ66EVio1QE+wLJtPatU4bz+MYJaJM9+XWUXtaxEb3CqAnXraB3ce x7KU8XlAbLBiu/rjHcZ9g6vm+79gQ8r6x8U4QVip7n3PQe01do6NVdBHOW2fag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755681; a=rsa-sha256; cv=none; b=pbSuwGtamRTIJV7+vyAOn16lE9Eqq9VrbXePO8oCfz/ZDKPu/HzJVAaSnXtmZQvITg6umK mSg69qMnqOy9VEMJWCRYEfyxZXLIKN9geYsqcRhjrvkyJeHeuiXMxLThSpbd3aKA2uwgjN qojZIEoMuYXxVn8keXHxtgpooxJiBGwd3pjdf3/E+xrOQv4PJ1h47ipH9MJV6k+hKEvB0C U44hK02TU1AVwfO4PVarcPEuuAEsls4O6FD0jCIafiN21FFReHsOSNCGrIwHB/DD1HcThe SJT3+uTpVV8y1q+Ex0imhpIOXpdm5TXz7tiNR4LY30k8NFmWzXFSCUNBZeLfJg== 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 4Sbjh12hfJz17hL; Thu, 23 Nov 2023 16:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG81LF007592; Thu, 23 Nov 2023 16:08:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG81xT007589; Thu, 23 Nov 2023 16:08:01 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:08:01 GMT Message-Id: <202311231608.3ANG81xT007589@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 9d61fd084996 - main - ctl_ha: don't shutdown threads if scheduler is stopped 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9d61fd08499609a2c95d1c66f97587932b446f06 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=9d61fd08499609a2c95d1c66f97587932b446f06 commit 9d61fd08499609a2c95d1c66f97587932b446f06 Author: Mitchell Horne AuthorDate: 2023-11-23 15:25:54 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 ctl_ha: don't shutdown threads if scheduler is stopped In this case, just return. Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42341 --- sys/cam/ctl/ctl_ha.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/cam/ctl/ctl_ha.c b/sys/cam/ctl/ctl_ha.c index 181f42640cce..0828c46c8863 100644 --- a/sys/cam/ctl/ctl_ha.c +++ b/sys/cam/ctl/ctl_ha.c @@ -909,13 +909,16 @@ ctl_ha_msg_shutdown(struct ctl_softc *ctl_softc) { struct ha_softc *softc = &ha_softc; + if (SCHEDULER_STOPPED()) + return; + /* Disconnect and shutdown threads. */ mtx_lock(&softc->ha_lock); if (softc->ha_shutdown < 2) { softc->ha_shutdown = 1; softc->ha_wakeup = 1; wakeup(&softc->ha_wakeup); - while (softc->ha_shutdown < 2 && !SCHEDULER_STOPPED()) { + while (softc->ha_shutdown < 2) { msleep(&softc->ha_wakeup, &softc->ha_lock, 0, "shutdown", hz); } From nobody Thu Nov 23 16:08:02 2023 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 4Sbjh301Tdz51nZM; Thu, 23 Nov 2023 16:08:03 +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 4Sbjh24R72z4Q8y; Thu, 23 Nov 2023 16:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755682; 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=nS+D8jXPdHoKoPyu85BRRyAVoRQXC1ksGAKCTNgolZc=; b=QAnVXC5tUF5E1TTEPHmnFnuz5FCzcCIH+CwgIsxkIRhWrEyn230Ir7OyV6+1vAI3QNFKAj 23odnRo7CwlvZlruVKDubSNQdFLRoFCbADc/NJ4jkRgeGuG5/t+DU4ZrmMpcs5rgWhN0mt U1G7Id45c15caEQt85Eyhrrryy15+xX65p8Sb3tSW/izeG4O5pwo7FDCP6ByHHE3/ny/BQ qbs2w+xqRhC2H6CXED337mrnBE7J6QHm9bt+2r/01YcE/qkpFQ3ilyv3PLGWXZuq8uELQL DELTcYtTCC3HEMhacNvNBIpI4t5kMtE7SogQjgCTMr+qs4GyVXejKxIIAU0k1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755682; 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=nS+D8jXPdHoKoPyu85BRRyAVoRQXC1ksGAKCTNgolZc=; b=Y1wh8A1akcbNRxfCfdVpIPzkHRn8QOxuQCRVUQAQrfsvngm/ow8gX5oJn7giHtVf1P0blA 9q0DhgpQNRC/8jXbfaESRcVgtEHFdzDpqFm9tVwJCAQ59Cg15uRGg4kajbWmv8ATMxDYyC OgqBNpSyFq4OlxNp8weOainDmiSiX6uUA1dfkrNyRQBi4VmfGoEpXega0rGxpd59Vg8PYF JIGoJIz2FuoH5QXj9vhC1h5iBeuYYGQcaign1rslofJTpGfVeN/KA6oGiHAOtM/H8nXSk7 y1CYZUyN8bzmHCx4K2jqeocg1jp3PrichdxHcGgHoWWOpmqxkXOfjqb4ATGW/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755682; a=rsa-sha256; cv=none; b=kM+YAqMq9SfD6oSU5MymOV2ISM5cicm9ae8N/lF9CBVdp9SvUScxvp1UwB9dFIvnLToSo+ z+7RggmOZGcb/5iTOORWCFGcbnIRrUnXhVcgxkq36YoYEcANwPsap3cG7PqhpViyr+22Ir rKM/ZU+IbQn40NN6MddaB6fq2duvyK0haHMH/NkMzOupTkNPT3IwJ+cqyJIWTM8l/X5kyU BFvA30abIlYSucdRBcnV4y9cKHt/SuzmtXPIbHMPK+4QKly5aLzWoJvu31O1mQWkRHiEot R2vb2epITLPcKPiix+NblaQ78WIuEhMQt6G15N5pweiQlbK/+6KcXlInm93nKQ== 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 4Sbjh23XnTz17hM; Thu, 23 Nov 2023 16:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG82Js007631; Thu, 23 Nov 2023 16:08:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG82Hj007628; Thu, 23 Nov 2023 16:08:02 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:08:02 GMT Message-Id: <202311231608.3ANG82Hj007628@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 2ce1c45b3411 - main - iscsi: adjust shutdown_pre_sync handler 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2ce1c45b3411410a5d0a4d08198a3b0010d493b7 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=2ce1c45b3411410a5d0a4d08198a3b0010d493b7 commit 2ce1c45b3411410a5d0a4d08198a3b0010d493b7 Author: Mitchell Horne AuthorDate: 2023-11-23 15:26:12 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 iscsi: adjust shutdown_pre_sync handler Don't attempt to service reconnections if RB_NOSYNC is set. More crucially, don't do it if the scheduler is stopped, as the maintenance thread will never run again. Reviewed by: jhb MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42342 --- sys/dev/iscsi/iscsi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/dev/iscsi/iscsi.c b/sys/dev/iscsi/iscsi.c index 311b339caf7a..38973898a9d1 100644 --- a/sys/dev/iscsi/iscsi.c +++ b/sys/dev/iscsi/iscsi.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -2680,11 +2681,12 @@ iscsi_terminate_sessions(struct iscsi_softc *sc) } static void -iscsi_shutdown_pre(struct iscsi_softc *sc) +iscsi_shutdown_pre(struct iscsi_softc *sc, int howto) { struct iscsi_session *is; - if (!fail_on_shutdown) + if (!fail_on_shutdown || (howto & RB_NOSYNC) != 0 || + SCHEDULER_STOPPED()) return; /* From nobody Thu Nov 23 16:08:03 2023 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 4Sbjh40LKtz51nd0; Thu, 23 Nov 2023 16:08:04 +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 4Sbjh350pCz4QMF; Thu, 23 Nov 2023 16:08:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755683; 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=Y/Q+ef3ppE2qPkq2ZHeUdjLOUEQxbO3TnxMryz7y91M=; b=wYJwrkzqFvvwc7fNEa9rTv5E/J0nokQYiq/8jwFWe8qlXPBScLmf5fQIkrCVgi0uA5GQl9 Fhw9CH8ySbk9/64NdL5lnls7fcbrbPRY5qVddbUKDjJPMTjaLfSa1BILRDQgXbwR+QHO5Q v5hjGLcWBgNiLQVpdNa7ZEXU6msCyrejeklBHOK0B5fcoKPGRz8fIm0dfubRuvpKAfKOyz 4vDbp37zQqYKB3XuEHcy5+VpQDqe0qWNvE6MMr+3ns0v6k7WAvMHzrzU0ru3WPeSeQnjbV msH83zdUkBgRQo6+gmk6dtDzra64nbqzdWe7nAFEk77fRKEzW5KsMyjEm73grw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755683; 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=Y/Q+ef3ppE2qPkq2ZHeUdjLOUEQxbO3TnxMryz7y91M=; b=vgtToOTjCWDHXIZclpJ2VHH+o+90QtX27+aJ6mM8V6+jNfc9MpIe0xapp7neFaeI4I5IDx HJOi9DGSCjTF/zxzTc+VkfhXXl+WgYGryolCBI97pUtIS79ESIA0y/SMzghM/aoRmnvD9E /BQgGhSJZXg3JOhVQ0heLgXhf2DJaPwCDiVOnZ0GK0FPAqq/QmAxKZ87XWLacQG6N95sih YOOzqkBgnaIS3NoBeNNU80nF4Jy+JCh3na3/6Qzgaz4Y6mYecMo7MszoPFjVpDcMLTl0HU ZfoqP0CVbLPCy7xstLhcBt8VY+O1wEsxPglO0rbDZF2MMeoWTptLiJ0EtnIltQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755683; a=rsa-sha256; cv=none; b=J+OpMTOzM5Mxw6KVceEY3ygnVlUi9G12nhT/FiVSmmhuSnyRHqALYS10PNCzMaNeMf9LZs TNbH2f9e9Uq92CROSdhqP2gemZYs2izjsn9pD81TwR+/i/StygpIR3Xa7ZkYzCk31AKpRe PxM9vm418EQMJLYPdXJerW2dC9CKkFiuF2fnSnvX9gwaDkEDwMZ9UsFTFmHxXbAOgFqV+N PFX0vQ1AcXkktlVwdHAHVFP8lpkvLqw8r3dN9FhIKDh9pEsXOofzeQS7BdH4k4AwSZySN0 y/nEA4T0vhImhzkzIJPv+p8OzN8ZoUVH4s+R6EfMNyH0EdZEI/1NvtAMfn64Nw== 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 4Sbjh345zMz17B2; Thu, 23 Nov 2023 16:08:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG83Aj007674; Thu, 23 Nov 2023 16:08:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG83a9007671; Thu, 23 Nov 2023 16:08:03 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:08:03 GMT Message-Id: <202311231608.3ANG83a9007671@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 9e0b0f5de67f - main - xen: improve shutdown hook 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e0b0f5de67fd46bddf0e12ef7b71d76a7ec1667 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=9e0b0f5de67fd46bddf0e12ef7b71d76a7ec1667 commit 9e0b0f5de67fd46bddf0e12ef7b71d76a7ec1667 Author: Mitchell Horne AuthorDate: 2023-11-23 15:27:20 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:42 +0000 xen: improve shutdown hook Make better use of the shutdown flags. In particular this now handles standard reboot where RB_POWERCYCLE is not set, and indicates a crash when the system has panicked. While here, give the function a prefix. Reviewed by: royger, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42343 --- sys/dev/xen/control/control.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/sys/dev/xen/control/control.c b/sys/dev/xen/control/control.c index 9ea0222809a0..37b4bff709c7 100644 --- a/sys/dev/xen/control/control.c +++ b/sys/dev/xen/control/control.c @@ -345,12 +345,18 @@ xctrl_crash(void) } static void -shutdown_final(void *arg, int howto) +xctrl_shutdown_final(void *arg, int howto) { - /* Inform the hypervisor that shutdown is complete. */ - if (howto & RB_POWEROFF) + /* + * Inform the hypervisor that shutdown is complete, and specify the + * nature of the shutdown. RB_HALT is not handled by this function. + */ + if (KERNEL_PANICKED()) + HYPERVISOR_shutdown(SHUTDOWN_crash); + else if ((howto & RB_POWEROFF) != 0) HYPERVISOR_shutdown(SHUTDOWN_poweroff); - else if (howto & RB_POWERCYCLE) + else if ((howto & RB_HALT) == 0) + /* RB_POWERCYCLE or regular reset. */ HYPERVISOR_shutdown(SHUTDOWN_reboot); } @@ -446,7 +452,7 @@ xctrl_attach(device_t dev) xctrl->xctrl_watch.max_pending = 1; xs_register_watch(&xctrl->xctrl_watch); - EVENTHANDLER_REGISTER(shutdown_final, shutdown_final, NULL, + EVENTHANDLER_REGISTER(shutdown_final, xctrl_shutdown_final, NULL, SHUTDOWN_PRI_LAST); return (0); From nobody Thu Nov 23 16:08:04 2023 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 4Sbjh50Bryz51ng1; Thu, 23 Nov 2023 16:08:05 +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 4Sbjh46Pt4z4QFx; Thu, 23 Nov 2023 16:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755684; 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=ysGdZLEQnph2TrMJLOQxRsjNc/jOvhmEQsUSOzeSVis=; b=A6doW4qxhuLVRJBP0otoz4nRe4U86IFBc2JGWx0S4pnexWusVFD/9sioCECEzK+zhKH3gb ixEP+gntI4ir4l+MqlcFJL1xvx/5HEd+wgRdrV+4npGpYRZbWrxkqwfdSzY+5DCzwnuiKt qdt1XwczU3vi/5Qve36tw0Pyv1sGmTHaa42TXrKtuHvV9Y7+LgdxW4ZNkQMUQ20kHYxl7g Lz13ud+vQQ+IZ+PJJ9bRnVYdsnhyZTb6ZDQ79XSjZwxB6WBxsDY3Mi8DMTPNTInTwFG6hv 3+/4Q2YuopXBKiXvEcFQgfc0daoShkwXHtkEecmDpbNkFDfAajsXQdAFAaLUAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755684; 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=ysGdZLEQnph2TrMJLOQxRsjNc/jOvhmEQsUSOzeSVis=; b=i7zM1GkK4AyREkIzUyrLrPmciITeJokY6Hxaq77a5BCy02KRnuo0xVl+K203hgDDVtlZNT kUsVYqToboZSjfIPKrUNknmH5ybzPeFXfXGguVrqijhIbCjX2a6cl0NAD6fmzCyPKgKquP 6Wy2Jq9Ut1EC3V20cIfZYyo0vFdlQVn3D3V+g8/dYYJIWwGf//SU1onD0T/ZrsPMDaNdWY ksCT9KOSHK3j5U3jHt3qcU5zrZtliXN3b3ZNq6Uuv/cHBAnxT2KgrUNq1ygcwctkD9jbpu rNw19DnWGEVeN4F+wkE/UYYeOnJG8pdxG5MLcNVFQZUE4oPAdSUWaNPflG6NAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755684; a=rsa-sha256; cv=none; b=loGJZItOdMXq62s+QkmOA+AcQfJojMC8FsEy51WsxY1OUcsJpmxeF3ZvUAZNpY1UXoYNW+ pSUVg1NIMnk7NfqsUujJQGSIDBi4nzoj4tEAz4l0UPJIbPsU9bhKrH+xhHM94RTPiIQmCg cr4atpLlHvX+t17+1GwIXDdwDLrAyEf3C0GVHKJyOjbf/kwFOhYciqkbr9MXnQKs08P+Rr 7JxbO/AV0FHP78swQBdx5DrPUtaXzL2KuGaY6gHUZ6sIYEWGXkBqMbCE8+gNtNkkb0b3cN Y3WlDmBTWbxs51TpMprJ2+KJp0yxw7cyFD7gXDh3zJm6AzpVJ50albU0cUg7pw== 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 4Sbjh45Qhpz17B3; Thu, 23 Nov 2023 16:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG84s7007716; Thu, 23 Nov 2023 16:08:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG84vZ007713; Thu, 23 Nov 2023 16:08:04 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:08:04 GMT Message-Id: <202311231608.3ANG84vZ007713@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 960612a19f00 - main - shutdown: tweak kproc/kthread shutdown check 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 960612a19f009df602a4cb008fa90a45a6e869bb Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=960612a19f009df602a4cb008fa90a45a6e869bb commit 960612a19f009df602a4cb008fa90a45a6e869bb Author: Mitchell Horne AuthorDate: 2023-11-23 15:27:57 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:43 +0000 shutdown: tweak kproc/kthread shutdown check This is to handle the case where the system has not panicked but the debugger is active, where we still can't wait for thread termination. Reviewed by: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42683 --- sys/kern/kern_shutdown.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c index 19920d30357f..b69caebe17d9 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -1011,7 +1011,7 @@ kproc_shutdown(void *arg, int howto) struct proc *p; int error; - if (KERNEL_PANICKED()) + if (SCHEDULER_STOPPED()) return; p = (struct proc *)arg; @@ -1031,7 +1031,7 @@ kthread_shutdown(void *arg, int howto) struct thread *td; int error; - if (KERNEL_PANICKED()) + if (SCHEDULER_STOPPED()) return; td = (struct thread *)arg; From nobody Thu Nov 23 16:08:05 2023 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 4Sbjh61D4Pz51nZN; Thu, 23 Nov 2023 16:08:06 +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 4Sbjh60MJ4z4QYZ; Thu, 23 Nov 2023 16:08:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755686; 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=SnQKMtuVawv2w4fGCRFNFw/cLVopuVCQYyJAw98S1rg=; b=rG2mcR0J0MZRFZNmxRN3B6JwE0vOr/gc2MG33AHxhdSyfMdLKic/DN/aO/hZKfp0XxOE6M MH+mLiZzWjl0VnX5UzojfhiIxyjg+FiAObLuxcjjOEFZViwsJVCq3UnzOR0vhSG/zIoAEG cXRWyX1gYbRAemBERDuhf6gP9TDQUZNfQW6cy0tH3vW7DOom+KAbceoAR/JssMSPGHS8GG LnZ7Db6Dckz153ry8dIda27vaJ2L8Wp8m2LvAXE78dT0CeD2SVsTd08YLQh1b6snMO9IUs QsM92GV5UKiAvfObt8O2wTKBxscS638KBTI0KVFsywArTbI7gVOTvslSC0a9/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755686; 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=SnQKMtuVawv2w4fGCRFNFw/cLVopuVCQYyJAw98S1rg=; b=RSkxP0Gs8zif0KcAGoQoV3R/QOde9zK4LeM/OFKK7HYtbZ1/ZAVwoeFHm64teAxF+MiWzS mS/x/xWjrOozL6hD9P+qZ3wwWhtxmqwG/w/pH5lHOiXOkH5lVjTkPwRwxS/vuK+xAgOFmQ WOi1+D9jsiyEERmvIhmSPthYLBaBr9exJFq61lsISq328MOoStPowwDTP61Erwflq0A28k Rr3IS71MCBzVm3d/L1jWR+VudH8g5dO2raCOvEB2TDNcKN2KPh36RMbAW5SW8wH1SZx4pt pGAHoTLp+GSydm+JtR+H+QI/f4fZzHkehODuDO2FaVbkUEzoGjLxQWsgHV9QDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755686; a=rsa-sha256; cv=none; b=XuZz5geABCaCa6X3NuqEaRxPzC1j0U/wdc+VN41OzRVIBXxWwCMl+4380KnJ+vVkv/qCuT egNySz+BniZ5p4KM23J/k3xKpPvKA8lQtpXnLDZpFTIuzEMD2rh3h1wurcQHF6PDsTW9J3 7I/9t7f4re1ZS/2p2HhJUb8ywjFilXxT/tMAs561oKpKQt3Ap34w2/UoYL9NIAHM6m1vEv cmTeoRLcrMzHUmhpHJhGAezAnuVHSGlv1Ij2sPQXTFlkO4yg3IMYY2FFpijcTTU4QG8duV RHX8JZdYWCilFqyBC2iMKGGMKnz1A888xlHosxRYfsy9FrhCdcPLK7lQYJEXUg== 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 4Sbjh56HdTz16ny; Thu, 23 Nov 2023 16:08:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANG85Qj007758; Thu, 23 Nov 2023 16:08:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANG85dQ007755; Thu, 23 Nov 2023 16:08:05 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:08:05 GMT Message-Id: <202311231608.3ANG85dQ007755@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: 4e78a766f607 - main - kern_reboot(): don't clear kdb_active 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4e78a766f607192698514d970ff4e9fa91d0482d Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=4e78a766f607192698514d970ff4e9fa91d0482d commit 4e78a766f607192698514d970ff4e9fa91d0482d Author: Mitchell Horne AuthorDate: 2023-11-23 15:28:26 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:07:43 +0000 kern_reboot(): don't clear kdb_active It is possible to reach this function from ddb via the "reset" command. When this happens, we don't actually exit kdb, meaning we never execute the latter steps of kdb_break() to restore the system state (e.g. re-enable scheduler). Therefore, we should not clear the kdb_active flag in this function, as the debugger is still active. Put differently, kern_reboot() is not an authority on kdb state, and should not touch it. The original motivation for this assignment is not clear; I have checked thoroughly and I am convinced it is not required by any reset code. This fixes an edge case where a panic can be triggered during reset from ddb: 1. Enter ddb via keyboard break sequence (KERNEL_PANICKED() == false && td->td_critnest > 0) 2. Execute the "reset" command 3. kern_reboot() sets kdb_active = false 4. A witness_checkorder() call via shutdown handler sees !kdb_active and panics Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42684 --- share/man/man9/kern_reboot.9 | 7 ------- sys/kern/kern_shutdown.c | 3 --- 2 files changed, 10 deletions(-) diff --git a/share/man/man9/kern_reboot.9 b/share/man/man9/kern_reboot.9 index f8513c0adf18..c86e9a6cbdb9 100644 --- a/share/man/man9/kern_reboot.9 +++ b/share/man/man9/kern_reboot.9 @@ -96,13 +96,6 @@ variable to .Dv 1 , indicating that the reboot process has begun and cannot be stopped. .It -Set the -.Va kdb_active -variable to -.Dv 0 , -indicating that execution has left the kernel debugger, if it was previously -active. -.It Unless the .Dv RB_NOSYNC flag is set in diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c index b69caebe17d9..ea86a7e24d06 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -492,9 +492,6 @@ kern_reboot(int howto) rebooting = 1; reboottrace(howto); - /* We are out of the debugger now. */ - kdb_active = 0; - /* * Do any callouts that should be done BEFORE syncing the filesystems. */ From nobody Thu Nov 23 16:11:52 2023 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 4SbjmS4SPZz51pCG; Thu, 23 Nov 2023 16:11:52 +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 4SbjmS42F6z4V66; Thu, 23 Nov 2023 16:11:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755912; 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=F5f7CityKqM4TnIY7RKwv8WZSnW1N705mpJmmTWaDJA=; b=VfSeq2rQjB3TWCIyHl2CsduTyO1BQWSjH+grAJhTGz8xxEoGaJep5C6+Uu7lbtpCURmby2 3LdTGGjIO6l4OFzIEJ8Y8sy+cr9cEBLrYoRznGsWC7fo1v0MLJS7G8UZVIDGXS7SFed2wG kBeIQ4zOfnoTNR8b5H0hTJhwvgfh908Gc+62OOEsSgor4UXIXwbrOqJZk1NvNTX+SRZA3f jcQzqtYjNvWBa3K+AePgR2psNKXPJn6BKGtkKAOAmMYqzIXcD5kqo7yEx9f3yOjhfXPJQF NB5uH9MREgLaLTBHpwD1o26TI4eLjyrkcV4vhLuY6FLwYtclrvxAwITboqqFIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700755912; 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=F5f7CityKqM4TnIY7RKwv8WZSnW1N705mpJmmTWaDJA=; b=e2lfF11WbhCPcAtSd7SJcuxhvCUDRfE1XjRFInlHt7UnINC10MKC6y0n8sTXgUEYYdq7CK DL4qaJYtXi4MGcoBbOwv81r+9H9oQsmjjNZsdqtcETpxIgyGyTKfkWPfgpgSCHV1Qh4K3D 6qoA1tVJBdURErjCeZipVU6oiahWhjUYpGLkKBOrhK48KQIP7Cg19+1OMO+ftjbmtwamRE TyzogyUMvy+7aWlYFC/wFZF7m8BpLZGoX2D68gzmHTw78IsPJB27TfEKnxCw7BuvfXdftd uBoRm/Tr7bCQ72KgEki3vaM17I8omKecWWrMSnQNKKRj1fVJ5FLq9s/uVGGCVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700755912; a=rsa-sha256; cv=none; b=s2sxrle3jwegrbYhqakCRXBstpKyc3VwQr7oFJWtqQkk/1GRbnbjD1MlOKXin1nXzJA5s7 EFE4Cnn5KqNjBqYiM8FYrclCLSMwIINjA8vlohioMc8sAyCAlhkQq4NK1Ps6pD6ScgnqlT I4G40qXvv0HOMkshqa3cxRQquOWo2i5gTuzbusM1AQtAU+l2tdgfGqtMzL9UhBPy7gVdHX D3Ayw0aYmz8/r185Pe7KmHGmAjmpuYMUlkukwxzCdc9saCPRq4UoM79rj4Xia56Lb9dr6A XVt9s5uW2OhOeQmIm1VS5PrQV7UaFq76blAC+WKM2onyB3QRcSwsL68kU9cP8w== 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 4SbjmS35sgz180K; Thu, 23 Nov 2023 16:11:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANGBqJK022484; Thu, 23 Nov 2023 16:11:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANGBqTk022481; Thu, 23 Nov 2023 16:11:52 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:11:52 GMT Message-Id: <202311231611.3ANGBqTk022481@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: ae9437671a15 - main - kern_reboot(9): belatedly bump .Dd 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ae9437671a1569bb90305996416d3a40e77c2f05 Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=ae9437671a1569bb90305996416d3a40e77c2f05 commit ae9437671a1569bb90305996416d3a40e77c2f05 Author: Mitchell Horne AuthorDate: 2023-11-23 16:10:42 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 16:10:42 +0000 kern_reboot(9): belatedly bump .Dd Fixes: 4e78a766f607 ("kern_reboot(): don't clear kdb_active") Sponsored by: The FreeBSD Foundation --- share/man/man9/kern_reboot.9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man9/kern_reboot.9 b/share/man/man9/kern_reboot.9 index c86e9a6cbdb9..5ab17b892ef4 100644 --- a/share/man/man9/kern_reboot.9 +++ b/share/man/man9/kern_reboot.9 @@ -39,7 +39,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd March 20, 2023 +.Dd November 23, 2023 .Dt REBOOT 9 .Os .Sh NAME From nobody Thu Nov 23 16:23:28 2023 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 4Sbk1r3SzVz51rXl; Thu, 23 Nov 2023 16:23: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 4Sbk1r30DGz4XJR; Thu, 23 Nov 2023 16:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700756608; 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=1hcWmvhBDFCgnUUTovVA1pqLgul/XUuX7fJkHuRssvE=; b=rZN5bc34xfHjOH/CO4GI3R9fkquGJ0Ml1guHS8xdkdbo0EM0mwmaCtsc3JWUYDthc6zPJA Yn/NOYAcH2ysrPhPi04Td+r0hGRjWQFocVah/bSNPKDke0mizr3kaMWlb2bWFe2+WMdtSg Ss04V2IbaZAzjUtUnSbO7zt7J27ynT7NsyCt8CIV5TEPr2YjPCSm9j2F/E1m/gC1B8/CF0 uaE0S2rNZEAofLgC/0g5OV2xrWsdypuUbBMzxUtMrcs2qIRt/QSBd7mUFF2LxOK2nIiv6b 9uzMXzqgH3E83an6/6GKAOSr2NgPucjC3kNtqyv0mD4HnzlVJlBGk4sV6IpJvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700756608; 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=1hcWmvhBDFCgnUUTovVA1pqLgul/XUuX7fJkHuRssvE=; b=CFFd/m3igYDy9yLJdfynXOPBmOkEU1x7sgY4C/MANO7DVpuXzG3kmXlfvN2/iwGtcyNo/z jUvLL/2UzlqIwDcveojMtjzmRbOcZ9qyKvOvPbUg9JW/PfMfXkMomMBW+ahOZBjxCRq1bq f0EywW6tyPZOl2nTOAOZRz84WMmuDqVh6pbMXerHX27p+5KT/F2zFgNCa/mYmOKi5lG2Km kaa8cXX7B5mXuU/wecosMCiF+Ie3hrSUJW0VclYvgbqZhw9Xnk0Yz2KRHm1UYfza1NaUR4 4Fro18QlhXINtkPFH1uCX9djC7WcWSHLKBxKuxIKBHd0g6bGapYpZuu8/vSVfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700756608; a=rsa-sha256; cv=none; b=ZXH2h75HdielghR8v2nke2Vx+hwTXAz8K7Rrh+S+UFJVVs5PlafVmi1hOV2/NLq2x3pOdj JHXqKvMdrsA/zejmxX9vtZxgrxsLJcibfqYDvvYElk1sXa4aEBsifFzdrc31C76JPhLLcy E/CHX+/ITP5xEjeeIopI9HQIcImrrFK6eA1qpd8UPNEy7av0pzXVn29CF4Yqk/nzsZunIa HeObGUL0WwjJa83a0k6kLlFq8Qlz5dr7Ha6ZuoQxFdMbUK68qb3tvABY4GaAWUXAwZZb2S Yme0YDEE6qEyZbX0UyGR8mDvtWYSsZDA9YlHB5pTSa9o6M2fDzr3y0DQ9KoXUg== 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 4Sbk1r23Byz17yx; Thu, 23 Nov 2023 16:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANGNSgu041026; Thu, 23 Nov 2023 16:23:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANGNSAt041023; Thu, 23 Nov 2023 16:23:28 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:23:28 GMT Message-Id: <202311231623.3ANGNSAt041023@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: a3ceeef26bc8 - main - arm64: lop off another 24MB of KVA for early device mappings 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a3ceeef26bc880b86f4e181bddd9924a2b5e0691 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=a3ceeef26bc880b86f4e181bddd9924a2b5e0691 commit a3ceeef26bc880b86f4e181bddd9924a2b5e0691 Author: Kyle Evans AuthorDate: 2023-11-23 16:21:33 +0000 Commit: Kyle Evans CommitDate: 2023-11-23 16:23:14 +0000 arm64: lop off another 24MB of KVA for early device mappings This grows the block enough to fit a 4K 32-bit depth framebuffer; some firmware would present smaller GOP modes to be able to boot with a smaller framebuffer on these devices, but the Windows Devkit firmware is simply not that nice. Instead, it offers exactly one GOP mode that matches the current resolution of the attached display, so with limited control over resolution on most of my displays it'd be nice if we could Just Work(TM) at 4K. andrew notes that he has some ideas for removing PMAP_MAPDEV_EARLY_SIZE entirely, so this limitation could end up removed altogether in the future. Reviewed by: andrew, emaste Differential Revision: https://reviews.freebsd.org/D42726 --- sys/arm64/include/pte.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/arm64/include/pte.h b/sys/arm64/include/pte.h index f067feabe365..c3d0394e6e9f 100644 --- a/sys/arm64/include/pte.h +++ b/sys/arm64/include/pte.h @@ -164,7 +164,11 @@ typedef uint64_t pt_entry_t; /* page table entry */ /* 0x2 also marks an invalid address */ #define L3_PAGE 0x3 -#define PMAP_MAPDEV_EARLY_SIZE (L2_SIZE * 8) +/* + * A substantial portion of this is to make sure that we can cope with 4K + * framebuffers in early boot, assuming a common 4K resolution @ 32-bit depth. + */ +#define PMAP_MAPDEV_EARLY_SIZE (L2_SIZE * 20) #if PAGE_SIZE == PAGE_SIZE_4K #define L0_ENTRIES_SHIFT 9 From nobody Thu Nov 23 16:29:33 2023 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 4Sbk8t14p1z51sLn; Thu, 23 Nov 2023 16:29:34 +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 4Sbk8t0GDbz4Z9R; Thu, 23 Nov 2023 16:29:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700756974; 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=0JoWBe7wPHXTlvQ548s5id2dZyUE08ke8rWDOwaQZ1I=; b=n2CVOPhgNImoLgIdZXUxUPtbcBnSd6Fp+67qtIdYbhWTEX+o9lbNbO/yXHWJlosoSITYen HOIjXYskblJ6O+zXzGeC9S+2ERbCZ2x1gtvSJ89yvmVobWUAKva7cS0hfkqefQ0s7YyvUj xumoB2UYDXMUiObuk0QtnSOP/57fqjwuYjNZccTDzlmHz1JHUD+gpkNBgKQdpTn5TUbbiL ODjiTqPBiQtcSaNqAIzbewQ55GJtAWXIyiAQ8snEY8ESNbuIh3iUYFsyzERfbG6UShv0nc iuLbZfuaoLXHWVbe7r2fo53T4J7w4vwtyo3Yv7Ms+950UmAmkYJwhr1G08AoOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700756974; 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=0JoWBe7wPHXTlvQ548s5id2dZyUE08ke8rWDOwaQZ1I=; b=IzhmUW4RoI42DxO8vvVxZo/wZyDbvvtofcsKgf214/kRPMd2nmLuEcdYrdclpG8sP7WXh4 o3lQj5TTADF6eK8ZLmQM55FUSLa/px5LLJlja80V5kdl5BzPAsJTKtmeb1i+njmp/6H9AG KcrhQ+tt/akX78ktpPR3Vc/SzmeVgIBC0BgYYgfyQpPl/J8ogBLO9LDgOcEfBOikWoX6FJ 7CwQQstx70IRi9keU51KpRB9YzYYBXf2D/DWzaR7RZt4t57TGVih/dGLqQZH4mIm0ifjq9 s7EmuAIrjWvsyy8iqcq66GMvL7djjf6UOziLhfM3EEODzLboGKAbhjWvsqUeRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700756974; a=rsa-sha256; cv=none; b=HSLRyo2ZcwuYJDvF8sX9y2YnixL/kLjA4HXf3jlqpIrxp5n3IVWRS/gleM+9mWNK4KKvpA DYt1qEVEEGAt4FehcKUOE9/R+jRpqYjojBMXGsUFTvFOE5PyDM0FIvqcPJrJ+MefgkaDYr zEjmXLFdmIxpEXg/vqIgpRltoAT7tHGvh8GP84E7Dgf9BROe8vkgqSfAcgVP0k8wfzMEB7 AXG2aQDuzLmagRwCWyp47aEVB+742CGvPjTFJCZYAsbuhOIRlBciixBqdGkeIfEKrPEBxK SZvSh45SxzejTtUZcxkPMjQVX/fYzG4b22CoczpgxZcxjLAlyxa2LES3rCJeDw== 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 4Sbk8s6QScz183J; Thu, 23 Nov 2023 16:29:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANGTXMI041928; Thu, 23 Nov 2023 16:29:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANGTXTl041925; Thu, 23 Nov 2023 16:29:33 GMT (envelope-from git) Date: Thu, 23 Nov 2023 16:29:33 GMT Message-Id: <202311231629.3ANGTXTl041925@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: 8c4ee0b22c98 - main - Use xpt_path_sbuf() in few drivers 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8c4ee0b22c98fc1e208dd133f617bd329cd10728 Auto-Submitted: auto-generated The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=8c4ee0b22c98fc1e208dd133f617bd329cd10728 commit 8c4ee0b22c98fc1e208dd133f617bd329cd10728 Author: Alexander Motin AuthorDate: 2023-11-23 16:25:45 +0000 Commit: Alexander Motin CommitDate: 2023-11-23 16:29:19 +0000 Use xpt_path_sbuf() in few drivers xpt_path_string() is now a wrapper around xpt_path_sbuf(). Using it to than concatenate result to another sbuf makes no sense. Just call xpt_path_sbuf() directly. MFC after: 1 month --- sys/dev/mpr/mpr_sas.c | 5 +---- sys/dev/mps/mps_sas.c | 5 +---- sys/dev/virtio/scsi/virtio_scsi.c | 4 +--- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/sys/dev/mpr/mpr_sas.c b/sys/dev/mpr/mpr_sas.c index 9d83162723ae..048b3cb7a53d 100644 --- a/sys/dev/mpr/mpr_sas.c +++ b/sys/dev/mpr/mpr_sas.c @@ -304,7 +304,6 @@ mprsas_log_command(struct mpr_command *cm, u_int level, const char *fmt, ...) struct sbuf sb; va_list ap; char str[224]; - char path_str[64]; if (cm == NULL) return; @@ -318,9 +317,7 @@ mprsas_log_command(struct mpr_command *cm, u_int level, const char *fmt, ...) va_start(ap, fmt); if (cm->cm_ccb != NULL) { - xpt_path_string(cm->cm_ccb->csio.ccb_h.path, path_str, - sizeof(path_str)); - sbuf_cat(&sb, path_str); + xpt_path_sbuf(cm->cm_ccb->csio.ccb_h.path, &sb); if (cm->cm_ccb->ccb_h.func_code == XPT_SCSI_IO) { scsi_command_string(&cm->cm_ccb->csio, &sb); sbuf_printf(&sb, "length %d ", diff --git a/sys/dev/mps/mps_sas.c b/sys/dev/mps/mps_sas.c index 6a5b2f5d90f3..3cf29aa4e893 100644 --- a/sys/dev/mps/mps_sas.c +++ b/sys/dev/mps/mps_sas.c @@ -295,7 +295,6 @@ mpssas_log_command(struct mps_command *cm, u_int level, const char *fmt, ...) struct sbuf sb; va_list ap; char str[224]; - char path_str[64]; if (cm == NULL) return; @@ -309,9 +308,7 @@ mpssas_log_command(struct mps_command *cm, u_int level, const char *fmt, ...) va_start(ap, fmt); if (cm->cm_ccb != NULL) { - xpt_path_string(cm->cm_ccb->csio.ccb_h.path, path_str, - sizeof(path_str)); - sbuf_cat(&sb, path_str); + xpt_path_sbuf(cm->cm_ccb->csio.ccb_h.path, &sb); if (cm->cm_ccb->ccb_h.func_code == XPT_SCSI_IO) { scsi_command_string(&cm->cm_ccb->csio, &sb); sbuf_printf(&sb, "length %d ", diff --git a/sys/dev/virtio/scsi/virtio_scsi.c b/sys/dev/virtio/scsi/virtio_scsi.c index f6278434e5f9..60ef32ef39f4 100644 --- a/sys/dev/virtio/scsi/virtio_scsi.c +++ b/sys/dev/virtio/scsi/virtio_scsi.c @@ -2336,7 +2336,6 @@ vtscsi_printf_req(struct vtscsi_request *req, const char *func, struct sbuf sb; va_list ap; char str[192]; - char path_str[64]; if (req == NULL) return; @@ -2352,8 +2351,7 @@ vtscsi_printf_req(struct vtscsi_request *req, const char *func, cam_sim_name(sc->vtscsi_sim), cam_sim_unit(sc->vtscsi_sim), cam_sim_bus(sc->vtscsi_sim)); } else { - xpt_path_string(ccb->ccb_h.path, path_str, sizeof(path_str)); - sbuf_cat(&sb, path_str); + xpt_path_sbuf(ccb->ccb_h.path, &sb); if (ccb->ccb_h.func_code == XPT_SCSI_IO) { scsi_command_string(&ccb->csio, &sb); sbuf_printf(&sb, "length %d ", ccb->csio.dxfer_len); From nobody Thu Nov 23 17:07:05 2023 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 4Sbl095b11z5220n; Thu, 23 Nov 2023 17:07:05 +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 4Sbl0954G4z3Btv; Thu, 23 Nov 2023 17:07:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700759225; 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=DUlYk5LHXXGtkKlfTo9G/xL4Eda83mmK8rpF+yA+q2Y=; b=ozF2rUk6u88PGc7KUHTT3YzuVeZxvDI+3Y4HojyEvpMcCVUFEO/tHShCIsYzGHQdwIZCRK +qL1BK6sEM3ILo4r9UmljnHkkZQF9ZrlP6Ntv4Avb+bQPedCabqr7IZp1XfbwPDZ815XMB 5oG00paFl33XgyUFrRM7qL39qJ4z+vMsYE7Bxba5JwroUHi13GzPZOcwkG32Z62vS/PXHB q82Ssw+swycgvRJzFL43x4xv8XdsQ8PLB7EW2FaxBx/YpJsp4l+EBG7xdCTHR+egODcWrn 9Fhsv4A6QeIpru9QbSxJSgf7yGfaT/NSkqSOGE2dD6d5mO/myJXY6fElhx7BCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700759225; 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=DUlYk5LHXXGtkKlfTo9G/xL4Eda83mmK8rpF+yA+q2Y=; b=Q2XfKIt9a7G7RMWNPv3S6hovNUKP/yRZbkhP/zYqyGOij2Ol9XK80qgtWofk6VwbZQnumH N08gJ7J3vs8VoE001pTMcM+8TF34/ISz2aIyjwQkoefZ38q6k8GIUrsmY3y8ZQzW3CaFPu 9hLjJKId2a/v0GDOfbxZiUlwtgdSgpMR0nNozyWEM1hZhsr5Jj0a3D/iZBnR+f6s3szzHi TqJfDa5GTRHpaQox5FzbZK/8dKOcpIbw6F8TY17EFixVEbYAFZ36qoN2zLP8ipFVIrfNNe 7hBpnaG0XqMoJmbhFCI+gZFmW6KM87Tki4QaZd0he3QxI12DymBYoW+JeBJ2Xg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700759225; a=rsa-sha256; cv=none; b=iSDGrwZC3RzzQPCP4nO9oOp4YMRz8RCloUsNau/NAb3lIn57ioXx9mbcHJW18Bx1PWwf96 rwIBjgtLn5tk+eAZ2zE1MlFAxb6l+wW3lKMW/eVEUfsp9DVE5WqNp/TTepzw34oFXRezMZ 9jAfj6/tIhEvKsCaEczuWBrnt9niVLtR4ebCMauxNQb6vxxKjUdQxXpWiXONo5x8PJXgSX MsnoBBBcmYhV82HECfzJssh03ToUH/Qk3ftHbtdDjKGM0tGr3ybhy91wKaYO1kIuRdyX21 r+g5G+el5gUbRVBzg3lrJlMLblL3dIPh5OsVWu/BbJNWyp4QInPEWyiuvbfHsA== 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 4Sbl093rqDz199Z; Thu, 23 Nov 2023 17:07:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANH75h3008758; Thu, 23 Nov 2023 17:07:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANH758D008755; Thu, 23 Nov 2023 17:07:05 GMT (envelope-from git) Date: Thu, 23 Nov 2023 17:07:05 GMT Message-Id: <202311231707.3ANH758D008755@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 19f073c612af - main - new-bus: Add resource_validate_map_request function 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19f073c612afa0111d216e5ccab9525bfc97ec32 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=19f073c612afa0111d216e5ccab9525bfc97ec32 commit 19f073c612afa0111d216e5ccab9525bfc97ec32 Author: John Baldwin AuthorDate: 2023-11-23 17:06:24 +0000 Commit: John Baldwin CommitDate: 2023-11-23 17:06:24 +0000 new-bus: Add resource_validate_map_request function This helper function for BUS_MAP_RESOURCE performs common argument validation. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42723 --- sys/kern/subr_bus.c | 31 +++++++++++++++++++++++++++++++ sys/sys/bus.h | 6 +++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 648394abd026..80fe182eab56 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -2715,6 +2715,37 @@ resource_init_map_request_impl(struct resource_map_request *args, size_t sz) args->memattr = VM_MEMATTR_DEVICE; } +int +resource_validate_map_request(struct resource *r, + struct resource_map_request *in, struct resource_map_request *out, + rman_res_t *startp, rman_res_t *lengthp) +{ + rman_res_t end, length, start; + + /* + * This assumes that any callers of this function are compiled + * into the kernel and use the same version of the structure + * as this file. + */ + MPASS(out->size == sizeof(struct resource_map_request)); + + if (in != NULL) + bcopy(in, out, imin(in->size, out->size)); + start = rman_get_start(r) + out->offset; + if (out->length == 0) + length = rman_get_size(r); + else + length = out->length; + end = start + length - 1; + if (start > rman_get_end(r) || start < rman_get_start(r)) + return (EINVAL); + if (end > rman_get_end(r) || end < start) + return (EINVAL); + *lengthp = length; + *startp = start; + return (0); +} + /** * @brief Initialise a resource list. * diff --git a/sys/sys/bus.h b/sys/sys/bus.h index fc07cf70f78a..88ae4000004b 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -317,6 +317,8 @@ struct driver { KOBJ_CLASS_FIELDS; }; +struct resource; + /** * @brief A resource mapping. */ @@ -341,12 +343,14 @@ void resource_init_map_request_impl(struct resource_map_request *_args, size_t _sz); #define resource_init_map_request(rmr) \ resource_init_map_request_impl((rmr), sizeof(*(rmr))) +int resource_validate_map_request(struct resource *r, + struct resource_map_request *in, struct resource_map_request *out, + rman_res_t *startp, rman_res_t *lengthp); /* * Definitions for drivers which need to keep simple lists of resources * for their child devices. */ -struct resource; /** * @brief An entry for a single resource in a resource list. From nobody Thu Nov 23 17:07:06 2023 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 4Sbl0B71k3z5227l; Thu, 23 Nov 2023 17:07:06 +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 4Sbl0B6Qrdz3CPs; Thu, 23 Nov 2023 17:07:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700759226; 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=upsC1QuaHv92hlSqDi1YsbcgX1ZX6PCldjC9YHl1mQk=; b=Ce0lsZvs086+l28U4Xg3kJFh0fR/FIdNmwP/kUrOfLY0o6ThfES9xhmUT7GrW6cbwKZLAo qqSo3AluVknmC0RqflI1XrBltnkNJENGBobokB5ILq/cLa2zZ0Sd05OI2L6CYSdg9fXaUC bRwqFgvUIvz/Y+4DJbX5AyUrgCOn5yHHu8t+mwJctMqaszk0nKhVaISHMKi8ne1SbJb2kY w1NKkcoH6EUQ5K5PinIbJLcbaXp6gwO8kbab3aCrqx66FlSTxcerPM/uc9xD3hT9j0cRYW 0VRHHl7jcsYxqEArRdVwV8xd+wS8PxFfvtakGPQc3IzVxm21Z3FrSA32zDDvRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700759226; 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=upsC1QuaHv92hlSqDi1YsbcgX1ZX6PCldjC9YHl1mQk=; b=NUp/pOU/aj4vNhYaMukC6l/KXgAEHjgJv0BLJ2lsSQ2rbWNyJnbe40GSZRCq9OuQ3jC5aK XjO0i7bdoUHKftQrYrJ6ZLco1AWfN9BzwtthUs0eHu8HIrOy8I9AHHGkMY7cAQKtgo8nHs AlreNLJ8ha6gQzykvthQhOWQPNaYa61+LZHODKIsRVMWxjVApYKYv29AepoMctTXpuQLGJ 7HiNZffPizE7lGsaeqfKv/yZrXUyOdEA41x5Pn7kGfl8Lg3UktXAV6VL/Y2LLtjgTuYkOM Ew7BMxGsZQ8F43MlUxzSRSio0MUsvX/B/HvR3Iqz7+JliIAHSRFl9xxSPbFGsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700759226; a=rsa-sha256; cv=none; b=qfl6XhT4JdVh97FCqAEG+urG3Fh9uw18j7cwyfs4v0/0EVTbT/72BvXq6ySuAWa81MBAXQ TGu99ZQZT4sEchIWmA4b2tcaayOjL3H1h8d9CRElY9uPJyEpgBQ2l/+DoKHlmjlVcklGnW OHN0l5Y0A4bPpwh2cCNt+8ysmlw+/UWFPtqTAUSORr7tPm99wOpFOH2vX3dglCmQg4jujq SgRkLxUTcrjASc+ZUhi6kZ2TPI021N610GbTMMDV+myXqIKAZneAhxSLBXmNzrXrt9Uu+o CEi2fGG1TOkCKObgSf7WOVm3FQ1slHQtUdUkMmBkuvRpJhh26r1PUQByzaOlUA== 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 4Sbl0B4rqKz199b; Thu, 23 Nov 2023 17:07:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANH7632008794; Thu, 23 Nov 2023 17:07:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANH76ki008791; Thu, 23 Nov 2023 17:07:06 GMT (envelope-from git) Date: Thu, 23 Nov 2023 17:07:06 GMT Message-Id: <202311231707.3ANH76ki008791@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: b887b665ebc0 - main - nexus: Use resource_validate_map_request 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b887b665ebc044f246d261e8af543765b846ed38 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b887b665ebc044f246d261e8af543765b846ed38 commit b887b665ebc044f246d261e8af543765b846ed38 Author: John Baldwin AuthorDate: 2023-11-23 17:06:37 +0000 Commit: John Baldwin CommitDate: 2023-11-23 17:06:37 +0000 nexus: Use resource_validate_map_request Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42724 --- sys/arm64/arm64/nexus.c | 18 +++++------------- sys/powerpc/powerpc/nexus.c | 22 +++++----------------- sys/riscv/riscv/nexus.c | 18 +++++------------- sys/x86/x86/nexus.c | 18 +++++------------- 4 files changed, 20 insertions(+), 56 deletions(-) diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index dee86bce656a..7c4cb073c2ef 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -462,7 +462,8 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; - rman_res_t end, length, start; + rman_res_t length, start; + int error; /* Resources must be active to be mapped. */ if ((rman_get_flags(r) & RF_ACTIVE) == 0) @@ -478,18 +479,9 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, } resource_init_map_request(&args); - if (argsp != NULL) - bcopy(argsp, &args, imin(argsp->size, args.size)); - start = rman_get_start(r) + args.offset; - if (args.length == 0) - length = rman_get_size(r); - else - length = args.length; - end = start + length - 1; - if (start > rman_get_end(r) || start < rman_get_start(r)) - return (EINVAL); - if (end > rman_get_end(r) || end < start) - return (EINVAL); + error = resource_validate_map_request(r, argsp, &args, &start, &length); + if (error) + return (error); map->r_vaddr = pmap_mapdev_attr(start, length, args.memattr); map->r_bustag = &memmap_bus; diff --git a/sys/powerpc/powerpc/nexus.c b/sys/powerpc/powerpc/nexus.c index 03f16dfa9de0..c5f460baf44e 100644 --- a/sys/powerpc/powerpc/nexus.c +++ b/sys/powerpc/powerpc/nexus.c @@ -353,9 +353,9 @@ static int nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { - struct resource_map_request args; - rman_res_t end, length, start; + rman_res_t length, start; + int error; /* Resources must be active to be mapped. */ if (!(rman_get_flags(r) & RF_ACTIVE)) @@ -371,21 +371,9 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, } resource_init_map_request(&args); - if (argsp != NULL) - bcopy(argsp, &args, imin(argsp->size, args.size)); - - start = rman_get_start(r) + args.offset; - if (args.length == 0) - length = rman_get_size(r); - else - length = args.length; - - end = start + length - 1; - if (start > rman_get_end(r) || start < rman_get_start(r)) - return (EINVAL); - - if (end > rman_get_end(r) || end < start) - return (EINVAL); + error = resource_validate_map_request(r, argsp, &args, &start, &length); + if (error) + return (error); /* * If this is a memory resource, map it into the kernel. diff --git a/sys/riscv/riscv/nexus.c b/sys/riscv/riscv/nexus.c index 2e693e6cf655..936db3e548e9 100644 --- a/sys/riscv/riscv/nexus.c +++ b/sys/riscv/riscv/nexus.c @@ -424,7 +424,8 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; - rman_res_t end, length, start; + rman_res_t length, start; + int error; /* Resources must be active to be mapped. */ if ((rman_get_flags(r) & RF_ACTIVE) == 0) @@ -440,18 +441,9 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, } resource_init_map_request(&args); - if (argsp != NULL) - bcopy(argsp, &args, imin(argsp->size, args.size)); - start = rman_get_start(r) + args.offset; - if (args.length == 0) - length = rman_get_size(r); - else - length = args.length; - end = start + length - 1; - if (start > rman_get_end(r) || start < rman_get_start(r)) - return (EINVAL); - if (end > rman_get_end(r) || end < start) - return (EINVAL); + error = resource_validate_map_request(r, argsp, &args, &start, &length); + if (error) + return (error); map->r_vaddr = pmap_mapdev(start, length); map->r_bustag = &memmap_bus; diff --git a/sys/x86/x86/nexus.c b/sys/x86/x86/nexus.c index 4896271b92bd..54c655c4fafd 100644 --- a/sys/x86/x86/nexus.c +++ b/sys/x86/x86/nexus.c @@ -458,7 +458,8 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, struct resource_map_request *argsp, struct resource_map *map) { struct resource_map_request args; - rman_res_t end, length, start; + rman_res_t length, start; + int error; /* Resources must be active to be mapped. */ if (!(rman_get_flags(r) & RF_ACTIVE)) @@ -474,18 +475,9 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, } resource_init_map_request(&args); - if (argsp != NULL) - bcopy(argsp, &args, imin(argsp->size, args.size)); - start = rman_get_start(r) + args.offset; - if (args.length == 0) - length = rman_get_size(r); - else - length = args.length; - end = start + length - 1; - if (start > rman_get_end(r) || start < rman_get_start(r)) - return (EINVAL); - if (end > rman_get_end(r) || end < start) - return (EINVAL); + error = resource_validate_map_request(r, argsp, &args, &start, &length); + if (error) + return (error); /* * If this is a memory resource, map it into the kernel. From nobody Thu Nov 23 17:07:07 2023 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 4Sbl0D3PQ0z521vS; Thu, 23 Nov 2023 17:07:08 +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 4Sbl0D2vPbz3CYT; Thu, 23 Nov 2023 17:07:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700759228; 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=2Ikm9jJWq2fho/LbJjsjuf540lLg7To4IaKs8IzrE6o=; b=uqvTZPoRjJ0JpCdFoYNsWt1OTXiOf4tO8e/hOPhCCIm7MqfO6yJisa4I9EZwDpe1IG5RnN GQnBWPddRxr8fVcJRBWCyWZimEPQ7bBJ5YkMc4MQhc13wiNENrUs/mIFaMWM7Q8b+K4R93 9S8yXYnCQMAg83s6HVWZMqCLiBlSfWaBr9mpjYqsi2sOUCgY1TYIb79AgpET/qx0zWs3Mk UBDC2pd1L4jrX/ZyebZGi8sGzsurz7Z9IZimAz+QEksXzt6XjHvRaxNJ0m4bHuTTgpWGvy ziINzTGZX7Y4123FxwNeDkXIQGuQA49yIxS6tMQjUxxwQt6mqz7AWSV9lPv/mA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700759228; 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=2Ikm9jJWq2fho/LbJjsjuf540lLg7To4IaKs8IzrE6o=; b=otV8OJaFop5Ywo+iFSrwpMydpjwRzCM9N5LmRkxVhOH7kkEu1UTb5jKYkaZ9e6X2pQ77/m WB5T6O7UK3gAROYYhxP+o3BM1iWRfBFbZOY1U7qklNYdRyNvWvPM+dLcMIFV4RzCYIDHOQ AEEhONCgiMLseWCSuKC5fPXxw3kbje9FQ0OVBMK9r6aOKfce9nCRyxUQrjkW1ynOubbPJ4 G9sPSyiuQ2rKnbVQ5vPU/EDBqGGZrQvZlrt1pzlGISwPLYllgakIHL9BjvcAFnXB4NW5h6 Zm5WF+d/9uNP4v6D5KeN35G+R71hPi7UwXLbtIme1phaApxJw0duZ/Ka4IuUvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700759228; a=rsa-sha256; cv=none; b=bcJJEHnjATGOfNPhKbp6CuKmrMxR3CtEv/I9EmJh44vTPA8/DsGko+ARNKU1zOYDiGQHqS UjgE+drqVBV743Xz/RLaHpzMPKRAiUpAml7ss8O9uS/bXfguJ49/qh5weIZJ4yJnFSjWGY sYpnTzgTj8ZqcbCWoCAMD5NgVk7/cyHmFn1fm4FamufwKRhBccr8TRgFSdPAcrDU+7KTVQ WRaWDkjEP7VXrNs2vuDWC1L3e9mYiQCshDhCF0UEi7F27dWfsYc9t4txgnjf2wQka2sbzG uTdHsIMTTMXHZ47JdVjECCl0TQwNGmh1wEZzgM5xvAyOIXpJxcPNiyi9eyIMDg== 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 4Sbl0C66JSz197Z; Thu, 23 Nov 2023 17:07:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANH77Zh008833; Thu, 23 Nov 2023 17:07:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANH77BG008830; Thu, 23 Nov 2023 17:07:07 GMT (envelope-from git) Date: Thu, 23 Nov 2023 17:07:07 GMT Message-Id: <202311231707.3ANH77BG008830@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 71cfd330fc00 - main - arm64/riscv nexus: Implement bus_unmap_resource 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71cfd330fc008187ff41db795ae5e6372bf802ab Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=71cfd330fc008187ff41db795ae5e6372bf802ab commit 71cfd330fc008187ff41db795ae5e6372bf802ab Author: John Baldwin AuthorDate: 2023-11-23 17:06:51 +0000 Commit: John Baldwin CommitDate: 2023-11-23 17:06:51 +0000 arm64/riscv nexus: Implement bus_unmap_resource Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42725 --- sys/arm64/arm64/nexus.c | 17 +++++++++++++++++ sys/riscv/riscv/nexus.c | 16 ++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index 7c4cb073c2ef..a20f8d0289ad 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -112,6 +112,7 @@ static bus_deactivate_resource_t nexus_deactivate_resource; static bus_get_resource_list_t nexus_get_reslist; static bus_map_resource_t nexus_map_resource; static bus_release_resource_t nexus_release_resource; +static bus_unmap_resource_t nexus_unmap_resource; #ifdef SMP static bus_bind_intr_t nexus_bind_intr; @@ -141,6 +142,7 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_map_resource, nexus_map_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), + DEVMETHOD(bus_unmap_resource, nexus_unmap_resource), #ifdef SMP DEVMETHOD(bus_bind_intr, nexus_bind_intr), #endif @@ -494,6 +496,21 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, return (0); } +static int +nexus_unmap_resource(device_t bus, device_t child, int type, struct resource *r, + struct resource_map *map) +{ + + switch (type) { + case SYS_RES_MEMORY: + case SYS_RES_IOPORT: + pmap_unmapdev(map->r_vaddr, map->r_size); + return (0); + default: + return (EINVAL); + } +} + #ifdef FDT static device_method_t nexus_fdt_methods[] = { /* Device interface */ diff --git a/sys/riscv/riscv/nexus.c b/sys/riscv/riscv/nexus.c index 936db3e548e9..d92ad7861ae9 100644 --- a/sys/riscv/riscv/nexus.c +++ b/sys/riscv/riscv/nexus.c @@ -87,6 +87,7 @@ static bus_deactivate_resource_t nexus_deactivate_resource; static bus_get_resource_list_t nexus_get_reslist; static bus_map_resource_t nexus_map_resource; static bus_release_resource_t nexus_release_resource; +static bus_unmap_resource_t nexus_unmap_resource; static bus_config_intr_t nexus_config_intr; static bus_describe_intr_t nexus_describe_intr; @@ -118,6 +119,7 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_map_resource, nexus_map_resource), DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), + DEVMETHOD(bus_unmap_resource, nexus_unmap_resource), DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_describe_intr, nexus_describe_intr), DEVMETHOD(bus_setup_intr, nexus_setup_intr), @@ -456,6 +458,20 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, return (0); } +static int +nexus_unmap_resource(device_t bus, device_t child, int type, struct resource *r, + struct resource_map *map) +{ + switch (type) { + case SYS_RES_MEMORY: + case SYS_RES_IOPORT: + pmap_unmapdev(map->r_vaddr, map->r_size); + return (0); + default: + return (EINVAL); + } +} + static int nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, pcell_t *intr) From nobody Thu Nov 23 17:41:36 2023 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 4Sblm25gKZz528Mk; Thu, 23 Nov 2023 17:41:38 +0000 (UTC) (envelope-from mhorne@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Sblm25BClz3HMx; Thu, 23 Nov 2023 17:41:38 +0000 (UTC) (envelope-from mhorne@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700761298; 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: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=tBYVRC4pxHJ+/uqIvQ/RignNcsX+IM5ieMZBsv3b1ig=; b=ZxgXfvBuF/vNZddE1aRPwExV52jDu4KLCAES77bsru4CLQIQTWrN3bYndJPVtZ4hG7BVJ6 zpmlXiZi1Limh0NZ3PyxtLtAQszXq2vQDvDPu962CA6HmrkIA4nYvoJZzDBcDdhO0SfD8Y clBFh7UAJTYOAke936vqi4BT4TrEeO2VxaCyenZ3XI+z4SzfXcK2pemvIuV+qCgm2GRZBB m00070o4eJjRgDVl80m5aonvEg9XNW/M4ksTAYA4NmhzcntiHsjcTjybHDCUibQODwKr5L 5yNR9Yp37kxVwtrdrnK2mR9fPrLUOduI7ZLXaeyYYM5O5Ijn6nFyhc1BUVpQIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700761298; 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: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=tBYVRC4pxHJ+/uqIvQ/RignNcsX+IM5ieMZBsv3b1ig=; b=GHxomRgWq4vpeaUXEe804eZsxfNIRTZlU1xJo8wrjfimkQMaekOmmXvxPSey3nx5Pf2Kg9 be8JTXtK/EdeIwqTvTscBVn3Rx/xjUSoLGt9q1Bi4tHZQRTmweLSepXbTGEBltiqUaAf3D P/sxANifyGhNHSg2inPKroluPaNc1K6wRyyHivs/osuVTw0ZEDOztjcXBhndHLmqP5SqCz xt0AQ2qwnATrYgbqJq+xcE5aeKxw3KpcsYv48yYzo5i5A5OavCM0pCAsxhBzovlAMxkxT/ MNV8eGqG5NO/+I0kZjHCBhGoHqcgQkNw37NWBUrl4ExzWh5suK46bGt+NbPNDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700761298; a=rsa-sha256; cv=none; b=KfIZMxisWz3PXewnvXq1jTAtidOBam7S4NhQ4Kiz8npbsGcUtxIg3iHdKtK3dIi2vciTU+ +VgNjW6IolJdWajLSmpm7dHeyvGuqLBCLWCSukZMeK0WM1yqtqo7rGsb6y6wMP/x7GsRcp ru8e01Z0G8oUnsPMEk1Q7vjbeXDHHBvjnMCZtyPe+Gfaqsu8ah4fXinRYpzyOZvS9ggiKj FTJFZGpmVNHg+N0IM1gTmLmCKAaLf/8by7qP2dqDTb6KN4tjqpxYl8fZ+Ojp7921xrbLkM 569rB6k2ATUAfmM3qYFhJd2X+z1I0C2CyDqJh1cKmeXh6jnOvKAl0ivP74jq1Q== Received: from [192.168.1.151] (host-173-212-76-127.public.eastlink.ca [173.212.76.127]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: mhorne) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Sblm22Fm5z14kV; Thu, 23 Nov 2023 17:41:38 +0000 (UTC) (envelope-from mhorne@freebsd.org) Message-ID: <48b90d6b-5772-4aba-8948-bcf8b50c9b5b@freebsd.org> Date: Thu, 23 Nov 2023 13:41:36 -0400 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 19f073c612af - main - new-bus: Add resource_validate_map_request function Content-Language: en-CA To: John Baldwin , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202311231707.3ANH758D008755@gitrepo.freebsd.org> From: Mitchell Horne Autocrypt: addr=mhorne@freebsd.org; keydata= xsBNBFyS2dQBCADdiXBG8hBVLmYbxu7aSzbwLwUf3HkGFz3rooS1kwyy+SfmjZ4UKNnl9WMx WKrJ7OAZpiNH6bLQ5nsqfx09OnpWL8c/QuPbhNdUywQoqqYpRI0K8GEn//nS9Gs0KTYwVpWb XlrzP+jf3Uh/9L5mcQmStLIH4zaaqMYHW+pMuPrvBmLIHTvLj2QjOkxslrcUdord9uvxe5Ht LU8RuTpQpHOKz705Z9/v7twFdi2HtKzpLwO6SzVyu351di1J+GihsVpcT5josQV5cHbIP3Un x+kmtKBEEc/jl/zBglF7ruWUtwgbryID+2ZPEaO1Mj+RResX4LFVMusq3uUpWRb5WJXxABEB AAHNI01pdGNoZWxsIEhvcm5lIDxtaG9ybmVARnJlZUJTRC5vcmc+wsCUBBMBCgA+AhsDBQsJ CAcCBhUKCQgLAgQWAgMBAh4BAheAFiEEkp/cYPcfabAiQvACi/gnTOdUid8FAmIyDpUFCQtC z0EACgkQi/gnTOdUid8IsQf+N8IptrrCgifT5Z0/WUVFfnHThFOKf4zBjaGswsIM8+VKsKnF 15jCWHODUHP6s+dcQ4nQi81PHPsnMfBSkGPvN/X3ess2/1KUVkH+6tAJbqXDjXhD8HT+i0NM QEFIXlLnotpgIKW3yOHjKv3ZvKw9LCvUjyNY9vOJmLk/6AbbkFh+INo65nXtQWb/hM5FVEHW S+zUoU8AqZRJoVAQfj9wmIfg/HdsxeDGKL0zkv5AwKpccvb8VJNGJbCVMgoy5uQYcUeXxcie cg0VlbFLshNQTfyhVQ85vyuHahARrUWs/k8KiYODoBnW1ChtyF8yM6VZTzSYx7pINqPq2YZy i/Htd87ATQRcktnUAQgA3zt4M4ecoQqfxpjliNLujt9klDqvmkJvWmzMuMXdzlPgGRJ0doio 9YIeEdkOt6xN0pPTK/ReCZ8WqFQ8zo23u1pwGuo0CnR58XF19wyxyUuKu/PHbt+56mC8tNHm AXsMyXQmlDqWvn/WzLY7euNRtNS4QQIwtxfM5EC4GGa5KQwxn0kM7dkUSOE/cxr+/kNbHHzb gagZR4cnNUqtPPr3dYXcibCTzgz96Lyt3/qMLXX9RTBRzu+O6E+byxWOe8ar/ZlwY2b4wTQG mhgNttkSxKtxMpZnd8+DGV/bI1P5Ct/K2GeCwNyupQGON5ymn6o7jTch+qmFX0ItkBWO4zn4 9QARAQABwsB8BBgBCgAmAhsMFiEEkp/cYPcfabAiQvACi/gnTOdUid8FAmIyDtwFCQtCz4gA CgkQi/gnTOdUid/i5gf/aQ75pJR4TJFM2vVVr6PDIwTdl0b5EchB4w4s4g/zE84XNbMOQanb BginLYEhAacLQVAvM3XdvUEhwrhaMQdjdSEB1krResL3/mbxrtKwdHSMbHA3IS3XdvxFWTB7 P5JjUSPsW6hqgoidbn4w3OxaNHhs45H2b0Nx5QiKcSyepmCZuB52gCEHnEnrdaz8TFQMXOLq 94WbTmZeIjChW3FB61m1gTf0UEFjoZAfTAUB+pbwoCa4AykIeZnDC19vjsruVU9Gy5rLglwd bjsZNfXIJGOZNEvdF8FOBwM7DlXx7SYvTJcUNoNJjOKtQ0bYGVgGqYOB/y2mTjVuKeU0eOkN Uw== In-Reply-To: <202311231707.3ANH758D008755@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/23/23 13:07, John Baldwin wrote: > The branch main has been updated by jhb: > > URL: https://cgit.FreeBSD.org/src/commit/?id=19f073c612afa0111d216e5ccab9525bfc97ec32 > > commit 19f073c612afa0111d216e5ccab9525bfc97ec32 > Author: John Baldwin > AuthorDate: 2023-11-23 17:06:24 +0000 > Commit: John Baldwin > CommitDate: 2023-11-23 17:06:24 +0000 > > new-bus: Add resource_validate_map_request function > > This helper function for BUS_MAP_RESOURCE performs common argument > validation. > > Reviewed by: imp > Differential Revision: https://reviews.freebsd.org/D42723 > --- > sys/kern/subr_bus.c | 31 +++++++++++++++++++++++++++++++ > sys/sys/bus.h | 6 +++++- > 2 files changed, 36 insertions(+), 1 deletion(-) > > diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c > index 648394abd026..80fe182eab56 100644 > --- a/sys/kern/subr_bus.c > +++ b/sys/kern/subr_bus.c > @@ -2715,6 +2715,37 @@ resource_init_map_request_impl(struct resource_map_request *args, size_t sz) > args->memattr = VM_MEMATTR_DEVICE; > } > > +int > +resource_validate_map_request(struct resource *r, > + struct resource_map_request *in, struct resource_map_request *out, > + rman_res_t *startp, rman_res_t *lengthp) Can the function be given a top-level comment stating its purpose? This file does a really good job providing this for the majority of its public functions. Sorry to ask post-commit, but I did not see the review. Mitchell > +{ > + rman_res_t end, length, start; > + > + /* > + * This assumes that any callers of this function are compiled > + * into the kernel and use the same version of the structure > + * as this file. > + */ > + MPASS(out->size == sizeof(struct resource_map_request)); > + > + if (in != NULL) > + bcopy(in, out, imin(in->size, out->size)); > + start = rman_get_start(r) + out->offset; > + if (out->length == 0) > + length = rman_get_size(r); > + else > + length = out->length; > + end = start + length - 1; > + if (start > rman_get_end(r) || start < rman_get_start(r)) > + return (EINVAL); > + if (end > rman_get_end(r) || end < start) > + return (EINVAL); > + *lengthp = length; > + *startp = start; > + return (0); > +} > + > /** > * @brief Initialise a resource list. > * > diff --git a/sys/sys/bus.h b/sys/sys/bus.h > index fc07cf70f78a..88ae4000004b 100644 > --- a/sys/sys/bus.h > +++ b/sys/sys/bus.h > @@ -317,6 +317,8 @@ struct driver { > KOBJ_CLASS_FIELDS; > }; > > +struct resource; > + > /** > * @brief A resource mapping. > */ > @@ -341,12 +343,14 @@ void resource_init_map_request_impl(struct resource_map_request *_args, > size_t _sz); > #define resource_init_map_request(rmr) \ > resource_init_map_request_impl((rmr), sizeof(*(rmr))) > +int resource_validate_map_request(struct resource *r, > + struct resource_map_request *in, struct resource_map_request *out, > + rman_res_t *startp, rman_res_t *lengthp); > > /* > * Definitions for drivers which need to keep simple lists of resources > * for their child devices. > */ > -struct resource; > > /** > * @brief An entry for a single resource in a resource list. From nobody Thu Nov 23 19:14:18 2023 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 4Sbnpz0VYWz51G7C; Thu, 23 Nov 2023 19:14:19 +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 4Sbnpz02Prz3Wqt; Thu, 23 Nov 2023 19:14:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700766859; 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=jfu8Ttu0nvtjDhIRHt4ZnDoPBGxm6MMFxZHkcU+z7Ho=; b=iwGFWAT5X4ZDBH5RVTsZXN0vweDeZpBbbhNC7Qc7FUNM/+DyseTehDF5ax5MRdQQ77wjRs wVwDfr1CM/l8NDsg757YkGLt8Rp+/ZVgphKO+mqdlVN7niqJ9dGWGk041Q6jCxTdG/PZ90 jkuYLUEVH5s4cpdOywWeuTznv48gGAzz19aDPwYBbesGv3cFgaLudz54GLOqd5nxldZwRn OlrKiB0f9bmiEydv/9ehYLxJKAZlMZUVga6LogdvSQsvSGxOf3uiOyuh8IIKevzLWqY50p 0o0rzkgrfx9d7gsINpo9of9kLlJxkCpiMrV3XljqKXDafA5e+hf43CZR4ql9hQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700766859; 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=jfu8Ttu0nvtjDhIRHt4ZnDoPBGxm6MMFxZHkcU+z7Ho=; b=eCsrSAks8PQ8+/7n2R9MFP6zcD+s9NmgUYug3rGmQXs/BzA0CAirmy9i+CkJVsffS7FJ2B KXYqJqe2sAFeMCj7Sygv9t8YwWEE/2mrfResEkpp3fbhGZ4dwJT3VkJMSwgQnk+XHYE2y5 nVtqkLzKQg6zAbAyKE/vjxXI4uJVuoW8Hi5VCu8SzRCa8MMe547Ngyv2SaukpbVxXtS7l4 mqoWs+lgA3KFKoPRmMUDaa75FoLPVXTr4Qadzk7QMt1s6L88OpRi6/tl9sWyOH1mEbnJFl HlaocGE0zYxcL2nlmF4kNseaF9jLLJkIa0VuR8VoTNF5aeuCTPc6x2nOlhkf6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700766859; a=rsa-sha256; cv=none; b=qvNM+aDpA1Dec6twANKiHVUQQ+vVTB9rKeFOX/cqES1H1f5vmqtAFRXJGMth43Ke5j3QB7 HBIvr1l1Bwf8L8MZSqd4a3UBMhenPF6Kln1dtVYZiOInZPKLjuJJ3uIb83/edYQZal6Kci +0V2MgRz700jwNtHiIh10Slf2FDG5PbVPyP+WGzTOD8YQ+7z8y6v5Vca53u9jKQ91I6O2m Xzn+vO5TUvnwsUuvsvdjIPNV4375+ryVKWQ7Fp/Dlmljv2FNOK4D786TAVRX1BX0pmZvvU 8E9mcxr+KidcHq3rwPUq9yS9fdBD+fKIYDL/zADv5dPRBIQYhpGTa7VumEfagQ== 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 4Sbnpy6C5Dz1y; Thu, 23 Nov 2023 19:14:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANJEI9h026938; Thu, 23 Nov 2023 19:14:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANJEIEW026935; Thu, 23 Nov 2023 19:14:18 GMT (envelope-from git) Date: Thu, 23 Nov 2023 19:14:18 GMT Message-Id: <202311231914.3ANJEIEW026935@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 3578000a6f50 - main - ehci_ps3: Remove unused struct definition. 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3578000a6f505148c5e0ecf5be9d644ed07a81bc Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3578000a6f505148c5e0ecf5be9d644ed07a81bc commit 3578000a6f505148c5e0ecf5be9d644ed07a81bc Author: John Baldwin AuthorDate: 2019-09-30 16:18:10 +0000 Commit: John Baldwin CommitDate: 2023-11-23 19:14:02 +0000 ehci_ps3: Remove unused struct definition. --- sys/powerpc/ps3/ehci_ps3.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/powerpc/ps3/ehci_ps3.c b/sys/powerpc/ps3/ehci_ps3.c index 2b0864506e76..00408fde0a62 100644 --- a/sys/powerpc/ps3/ehci_ps3.c +++ b/sys/powerpc/ps3/ehci_ps3.c @@ -62,11 +62,6 @@ #include "ps3bus.h" -struct ps3_ehci_softc { - ehci_softc_t base; - struct bus_space tag; -}; - static void ehci_ps3_post_reset(struct ehci_softc *ehci_softc) { From nobody Thu Nov 23 19:48:58 2023 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 4SbpZz0VJQz51fXf; Thu, 23 Nov 2023 19:48:59 +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 4SbpZz037Qz3dYg; Thu, 23 Nov 2023 19:48:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700768939; 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=7oR9ChYKfjF560GFJR53Oshm3vvekfQNGoYWIqXTSgQ=; b=Jx3pk1mr8w4SAvuYDLwsS5D2gMQBicSv/kegqBRgKIj46x3OJWwmWMieHxdslnL6cm0T1U HCn62wDIQLm0KKcqqLyx10bpEE0MNPgqIOKMopI65ghSOIu4MkbRfYEtA3+8RSbSMf7exd MiU61KlAp0dHmJwti8C4CQb6/91OpNDD2pzltZzzu5+NRjk6su/q5fF4HPuaHgy/iIgAaQ SUoiDBYKS4A3WwtqJg3RpmIoK/jWKRpefCnTODoxA1X4PIFqseSbSnBnW4dDHigoRhSOen k8kgQLfpX+kwo2zh63GtpzYFndc+lW6duXddrFQ9b6EYWXByzTmgSbXVGnZxAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700768939; 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=7oR9ChYKfjF560GFJR53Oshm3vvekfQNGoYWIqXTSgQ=; b=NxBnREZ1T72MFRsuiRhqj21zFz452qwILocyENU8CveBLK7ZA/NQj7LueyhLcs9Oblh0wr MaII8ypfFbqsTG9wkS7scO2l4WVl3iVj9waqrDSyLZl9/rayf+/LZHu4HWVhL8Wy/w2WQa +nn++OIByoiMM+l/YyYVNs/IIXs+Y1gfTG5pn24ha36i3TbitTynrzz50OSxw77zgYRpTw Ee7Uu/5K2o3Hyc58l/cz+SoSXe+8XeWspUWeWi0hsf4exR10PvD9I5beXlrxRSbCXn4oDS Chl0vcrus3LSDuLg9q4qrCkWug0K0kVWNFDgXH8+qilTMFMz0R9lwamK20pNJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700768939; a=rsa-sha256; cv=none; b=ezAhASKj0NifuZr+soO3X7Wwyu6sIzdQhKf5TUur4XSOGSHINy98Mv8cymyW5qqK18b7Hk 11WHf6LvdquEFwrf4Vu+EzTd2DpAfHgX8KCxtKgFYxgrplzrmgjb9ypfPkQFcilxUHj+qi MtWIdCFRcJ645UrD70KGXoquBPrcZ9b8fJ5xV0H1Z9EpgI66xDtTDYstnbqWhYfGsf3JCT cp3s//INVLy6QFKMdjjTRfbyrpb0cL3LZEwxJCW/vo3d2F5Wiq1nHibC0VSyzijZBIZFOu /NGLhNisOAUmo1MBH9GiTLy2Jy8ph/3oGS4+Sj0frb1uddxP5TIra8wX+HJT9w== 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 4SbpZy66NgzYq; Thu, 23 Nov 2023 19:48:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANJmwCB076783; Thu, 23 Nov 2023 19:48:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANJmwEC076780; Thu, 23 Nov 2023 19:48:58 GMT (envelope-from git) Date: Thu, 23 Nov 2023 19:48:58 GMT Message-Id: <202311231948.3ANJmwEC076780@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: ad34121518bb - main - Revert "pst: improve shutdown_post_sync handler" 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a commit ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a Author: Mitchell Horne AuthorDate: 2023-11-23 19:46:28 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 19:48:44 +0000 Revert "pst: improve shutdown_post_sync handler" I did not realize this driver was i386-only, and the change fails to compile. Revert so that I can fix it properly. This reverts commit 428ebb7cd9f51afb6809bf81cf21a05e0fd93ff4. Pointy hat to: mhorne --- sys/dev/pst/pst-iop.c | 2 +- sys/dev/pst/pst-raid.c | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/sys/dev/pst/pst-iop.c b/sys/dev/pst/pst-iop.c index 43ced2401d2c..f9921a564333 100644 --- a/sys/dev/pst/pst-iop.c +++ b/sys/dev/pst/pst-iop.c @@ -432,7 +432,7 @@ iop_queue_wait_msg(struct iop_softc *sc, int mfa, struct i2o_basic_message *msg) int status, timeout = 10000; mtx_lock(&sc->mtx); - if ((sc->reg->oqueue_intr_mask & I20_OUT_INTR_QUEUE) == 0) { + if (!(sc->reg->oqueue_intr_mask & 0x08)) { msg->transaction_context = (u_int32_t)&request; msg->initiator_context = (u_int32_t)iop_done; sc->reg->iqueue = mfa; diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c index 4f9279462ee8..4e9c4fb724bc 100644 --- a/sys/dev/pst/pst-raid.c +++ b/sys/dev/pst/pst-raid.c @@ -73,7 +73,7 @@ struct pst_request { static disk_strategy_t pststrategy; static int pst_probe(device_t); static int pst_attach(device_t); -static void pst_shutdown_post_sync(device_t, int); +static int pst_shutdown(device_t); static void pst_start(struct pst_softc *); static void pst_done(struct iop_softc *, u_int32_t, struct i2o_single_reply *); static int pst_rw(struct pst_request *); @@ -170,23 +170,18 @@ pst_attach(device_t dev) name, psc->info->capacity/(512*255*63), 255, 63, device_get_nameunit(psc->iop->dev)); - EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown_post_sync, + EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown, dev, SHUTDOWN_PRI_FIRST); return 0; } -static void -pst_shutdown_post_sync(device_t dev, int howto __unused) +static int +pst_shutdown(device_t dev) { struct pst_softc *psc = device_get_softc(dev); struct i2o_bsa_cache_flush_message *msg; int mfa; - if (SCHEDULER_STOPPED()) { - /* Request polled shutdown. */ - psc->reg->oqueue_intr_mask = 0xffffffff; - } - mfa = iop_get_mfa(psc->iop); msg = (struct i2o_bsa_cache_flush_message *)(psc->iop->ibase + mfa); bzero(msg, sizeof(struct i2o_bsa_cache_flush_message)); @@ -199,6 +194,7 @@ pst_shutdown_post_sync(device_t dev, int howto __unused) msg->control_flags = 0x0; /* 0x80 = post progress reports */ if (iop_queue_wait_msg(psc->iop, mfa, (struct i2o_basic_message *)msg)) printf("pst: shutdown failed!\n"); + return 0; } static void From nobody Thu Nov 23 20:14:55 2023 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 4Sbq8v6bl4z51lnx; Thu, 23 Nov 2023 20:14:55 +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 4Sbq8v5k24z4F58; Thu, 23 Nov 2023 20:14:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700770495; 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=NERpELrV+Hv2n5L+V+wU2j+ZO9o/uhOXL4Nzca4qBEE=; b=nFO02nGUyFdyaJ1vv05cocIwabTdrvnlD7yMP4TQNw6rhY0Q21Kobo+T8BadCdHBuN9N1M XFcLlZ+TZAfMy7H84MdRdUM73OIkDvmakDE7G/wbrhdQ4pc/kC0aXKA9ptFOPF84QAHnjM BzdjlrMZsK7XqXpmJWtTySzMyZ0FjlDzx/mUrhxTyrq/I2u0oz5/EjobD8SNI5OQLJrXpK 7ncOnt2ux43MXAF9VL/7Rgh+QtJHFsdCYdCMbX6UoEBXpm7v0EXwYKBgi2V7SmKUdiDkcz 7nedqs7bDWmh37CLo1WhiKY8DmKcUBHcY9X+ehnQhpAylhoKmMpMqD/v6xL5iQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700770495; 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=NERpELrV+Hv2n5L+V+wU2j+ZO9o/uhOXL4Nzca4qBEE=; b=MFOwxKO06vIxRd/rIDwAnK+OhUZJd9M0xpapHdajikU+NAMRwGZNtP4lc+9bU4mNoXIPie TXWI2Meo1NSSBmVWo1gv7vmmva47473sN07beqdi41B8JU2dwHclxrJfLJVAmtRq/NswvG MFZi+NLktNFKstCMMdtmzQJTFpkFdxqauLieOlzi0E9AdJ4U4nZwhRUSiiaRHqV5PEv5md /CZ4K9ltDes5hMbMfrjPkYi2xolAL0oEuOKyUR4oeIcBlZ7aezfJDkpGwX0u61iggjXtHc ZDUeCxPZ4KieHJYXSc1e6mCbFhkt6bNR9an4N6y/+F4WENWSakWMnWpQjyWW6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700770495; a=rsa-sha256; cv=none; b=gcE8PB4slHMFNqAwTKJ9SVBxwseKerrd8Hrc56LOOlcmE66zMs3Z0IZu3Yt5AQOJthkNyd K3+5CSn9cmMWP7rqLyiSr+GkALOLwpLDULGr7MkOpFRD10dXDNFLeIgFOizkV912wchT69 5zMHFjS35Sgb7sKpNGLo7QSmcHWEUg7y1gYQwNaWnjWpGCy/UMp0YrEQh3LSbPtwXGy/za 5LQWlzJ070R2qB0ZM2jU/TtCEZKHNpstfjCdFan2kczvwdKPzPK8Zq9XnsKBjBCa+0n6sF QnkP6T3lhqLbmRm8FPmt6d6VZNcFVpeGbeDCMoXT65e/n+Z7MYfJI+mk63mbAA== 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 4Sbq8v4mvYz1tY; Thu, 23 Nov 2023 20:14:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANKEtg1027038; Thu, 23 Nov 2023 20:14:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANKEt9s027036; Thu, 23 Nov 2023 20:14:55 GMT (envelope-from git) Date: Thu, 23 Nov 2023 20:14:55 GMT Message-Id: <202311232014.3ANKEt9s027036@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: 88d2b69c719a - main - re(4): Add support for 8168FP HW rev 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: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 88d2b69c719a20da9eb53f1c58adf6ecb005f8ce Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=88d2b69c719a20da9eb53f1c58adf6ecb005f8ce commit 88d2b69c719a20da9eb53f1c58adf6ecb005f8ce Author: Brad Smith AuthorDate: 2023-11-23 20:13:00 +0000 Commit: Xin LI CommitDate: 2023-11-23 20:13:00 +0000 re(4): Add support for 8168FP HW rev MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D42671 --- sys/dev/re/if_re.c | 2 ++ sys/dev/rl/if_rlreg.h | 1 + 2 files changed, 3 insertions(+) diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 83fd31fc4f0b..594ed9d60379 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -243,6 +243,7 @@ static const struct rl_hwrev re_hwrevs[] = { { RL_HWREV_8168E_VL, RL_8169, "8168E/8111E-VL", RL_JUMBO_MTU_6K}, { RL_HWREV_8168EP, RL_8169, "8168EP/8111EP", RL_JUMBO_MTU_9K}, { RL_HWREV_8168F, RL_8169, "8168F/8111F", RL_JUMBO_MTU_9K}, + { RL_HWREV_8168FP, RL_8169, "8168FP/8111FP", RL_JUMBO_MTU_9K}, { RL_HWREV_8168G, RL_8169, "8168G/8111G", RL_JUMBO_MTU_9K}, { RL_HWREV_8168GU, RL_8169, "8168GU/8111GU", RL_JUMBO_MTU_9K}, { RL_HWREV_8168H, RL_8169, "8168H/8111H", RL_JUMBO_MTU_9K}, @@ -1495,6 +1496,7 @@ re_attach(device_t dev) RL_FLAG_CMDSTOP_WAIT_TXQ | RL_FLAG_WOL_MANLINK; break; case RL_HWREV_8168EP: + case RL_HWREV_8168FP: case RL_HWREV_8168G: case RL_HWREV_8411B: sc->rl_flags |= RL_FLAG_PHYWAKE | RL_FLAG_PAR | diff --git a/sys/dev/rl/if_rlreg.h b/sys/dev/rl/if_rlreg.h index 808d11e34346..7de7e2fcc585 100644 --- a/sys/dev/rl/if_rlreg.h +++ b/sys/dev/rl/if_rlreg.h @@ -194,6 +194,7 @@ #define RL_HWREV_8168EP 0x50000000 #define RL_HWREV_8168GU 0x50800000 #define RL_HWREV_8168H 0x54000000 +#define RL_HWREV_8168FP 0x54800000 #define RL_HWREV_8411B 0x5C800000 #define RL_HWREV_8139 0x60000000 #define RL_HWREV_8139A 0x70000000 From nobody Thu Nov 23 20:17:55 2023 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 4SbqDM5L0Xz51mPY; Thu, 23 Nov 2023 20:17:55 +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 4SbqDM4qpTz4G31; Thu, 23 Nov 2023 20:17:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700770675; 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=YeSrR7EDb9XSYdKGqMDFq/NOsi/3o4KjID5VTHZ9sjw=; b=O80IwkMfIrHZpCADWft/KU8hNVO5CMRDoQLicsa67ygKsrEnKPCVa3zyQewfT9XInNScni J28Z0lOyt7okFko1KSiRt3DI7PaV3RfXckHeMt5r53h+/9LdPI6IJke+C7WImeKuAxfd4b wHdCDdCd07wA8XIY08jjbWp71h5h33ybnvMs6ejiEV3Ppbt9+LDvzgz9VVk/Fbvdqb+liX MPf0YP/HTPj/TmNtnGut6SveYhVov8w+EYOlPogBDFJ7/bzaSzRnH/4OOHW9wcmvXKkn0E TlJeoqN+pB7rD6ZK6/Fz7vFUm//iQtVx+tNh/0WFs+LWkQVBKXHPm/fOT/+9Bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700770675; 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=YeSrR7EDb9XSYdKGqMDFq/NOsi/3o4KjID5VTHZ9sjw=; b=yrdbdvZw0P5Es0tBf8gJ5avgxE2QchN2PEEdwFH9lbzBk7NNglrTBPHufZYgVNES9ZvhvG SjhpDtzBGA2gIdB0aUDyUQWFctq5QZxnAvQmqVpIBRa40W6lXODZ352miKZzao9g4c54c3 Aizne2FPsEmILccD/j8EX6BxKn5t8nhPMuu4Ir2hANg6axyxkeKLOcRdFur6WCqL+85jVw JihzlTiHjBFdYqqyCmn4vbCxjtaAp8+eAatAWNW9j8uMbM700V6Ik/C3ZrQQ7PNKvEdnsP qm32SEnPZN7DMPD0pLFtstl/V04Uu/+iyPGnkPKqqpvtlYmaYtGIdbdE5R+Ghg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700770675; a=rsa-sha256; cv=none; b=NYr7qcsazi6lTrs1hWSXv5Eq9bnXp1yzeXhPFd3JdCTlXz/iCb7uJl1T8zZMgeXnwvg2YL fD2/jx/I8iROAby1K741YKQWg8sFHeSSckzxNYbOsdeUXmT2o2CQOHwL3gJUCuVsg/HoBe 6ZfT9q8MW66yf7JMqzKr2U1sV4gzUUK0nFL/1LFU1ofILtxFSPV8vN8JkMQwLiKwKqbt0N TzUq+VR86MxabYCj2ZeSmbmUtZsIRFchI04aH3Ta60QviBEPaX07y1NB7X4EHh/ZEmrswa tc4SB5IoJ3bUCwlO+tAOyNzZqGOhs4uwT4+BkJdP/h0vnxzfKPaZSITMmzwBFg== 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 4SbqDM3wqHz1Jj; Thu, 23 Nov 2023 20:17:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANKHtJt027632; Thu, 23 Nov 2023 20:17:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANKHtvp027629; Thu, 23 Nov 2023 20:17:55 GMT (envelope-from git) Date: Thu, 23 Nov 2023 20:17:55 GMT Message-Id: <202311232017.3ANKHtvp027629@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 7aa3bf6952b2 - main - etc/mtree: Remove entry for /usr/tests/usr.sbin/mixer 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7aa3bf6952b2c7d1b02d3a67e7f51b96fcf52b50 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7aa3bf6952b2c7d1b02d3a67e7f51b96fcf52b50 commit 7aa3bf6952b2c7d1b02d3a67e7f51b96fcf52b50 Author: John Baldwin AuthorDate: 2023-11-23 20:17:41 +0000 Commit: John Baldwin CommitDate: 2023-11-23 20:17:41 +0000 etc/mtree: Remove entry for /usr/tests/usr.sbin/mixer These were removed when the new mixer(3) library was imported, and I missed updating the mtree file when I added the entries to ObsoleteFiles.inc. Fixes: 903873ce1560 Implement and use new mixer(3) library for FreeBSD. --- etc/mtree/BSD.tests.dist | 2 -- 1 file changed, 2 deletions(-) diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index e216767170ab..4239de67478a 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -1173,8 +1173,6 @@ .. makefs .. - mixer - .. newsyslog .. nmtree From nobody Thu Nov 23 20:19:54 2023 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 4SbqGg0npSz51mkG; Thu, 23 Nov 2023 20:19:55 +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 4SbqGg0Hkbz4G7j; Thu, 23 Nov 2023 20:19:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700770795; 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=skAuvdQa7pnLHx3iBxrX/k6FAXwzmMfYCcoAQbT//ys=; b=tEU794QDONXayIMfEmYUm1IkYjvsAgq9C3h9c84UYCn9GNThoZOqiFhfN5RoyeKUt1e813 jNLOowRHCe9nmlP2tom2/0oNzX43KTqLmcDJeS5AEzY2jU8QQhJEcPE23g51BbgNDDClfy adNA+LW16kC4d4htc7YaVC5xliH9V9C+CDzcym66NuUyqCYxinZZtfYcuyTnfXQSaGGvIO mGC3SNU2AF2utX6E0jXlPoq5CEkJVhHrMUwGzfjKtfjVUMuulrhJwsUQc8qs6TgoweEFbj LUGjUtpdOHrkCjqINkL9GYe6Y/JOn/ibd3v3ORy2NLrJfCJuoIk+FbCiHhLawQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700770795; 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=skAuvdQa7pnLHx3iBxrX/k6FAXwzmMfYCcoAQbT//ys=; b=QHoIlyrYAh+aUge/h3bYZ4fUFKlAz5zSThM2X+eENYXfrSBH+iap6bF6Oacl0GMqM7zgjk rA5bmIxwupmMeHR0TaAbvJNSVXiv41ixHpWufFtz9FVCE9gk+lhwYqdSvSpFwH4MMIitv8 w20ZN4Vzan0yHWujGLa9DNgEBSMQ/XeWnNvN+ct4Hvr9tdUNtqesnYoEzTDAHnBjRF0E+D Qn5XTDmUnyHBtmQOENFQRPdXVGHhAHTmxq+O8U3wq0HLObt6CFkMgZTjNOyi6IWWyvNO56 o6vNSip8MlzIBvLaujUMP0emkhDcSyZqE1Z8PS8T9sjra+UP3Uu7pZoDrG31qA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700770795; a=rsa-sha256; cv=none; b=jq/kHsmquKTxpw7WsvMCwJCwwzoUw5+Fr1ck5U/BlALXB7fENSzNrhOgEnSKvaMKIthdSs +mbVosSBm5znW9xFffEcS3a4uc/kV/z26NoQQyJCtJlfLT2YLYCLA0e55XdT3Fyloi1hG3 XiempXc3+2r9+DInw5p9+8mHWYCwX1yIJB+03mfQF21XZVjLlqaetnJFK1XAf7ybiUGcLc TIG70oURKHXY4wpllV6myg5jDXf/wLasSYnaVKnGq5u08Njkv08V4iR3vCYZddBb+uqFW1 AiiGStdLf09gc3C8OHzLkf0XOs3cpgWkyemcTfhXmyECX+FlaaP1RYfL0XzSCw== 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 4SbqGf50Tyz1kM; Thu, 23 Nov 2023 20:19:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ANKJslO028027; Thu, 23 Nov 2023 20:19:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ANKJsfk028024; Thu, 23 Nov 2023 20:19:54 GMT (envelope-from git) Date: Thu, 23 Nov 2023 20:19:54 GMT Message-Id: <202311232019.3ANKJsfk028024@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: c4dacfa7f4b8 - main - pst: improve shutdown_post_sync handler 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c4dacfa7f4b82f23ec0924d9db772860b2066f9b Auto-Submitted: auto-generated The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=c4dacfa7f4b82f23ec0924d9db772860b2066f9b commit c4dacfa7f4b82f23ec0924d9db772860b2066f9b Author: Mitchell Horne AuthorDate: 2023-11-23 15:59:05 +0000 Commit: Mitchell Horne CommitDate: 2023-11-23 20:19:40 +0000 pst: improve shutdown_post_sync handler It is desirable to shut down the raid controller even in the face of a panic. In the SCHEDULER_STOPPED() case, set the interrupt mask bits so that we request a polled wait, rather than sleep(), from iop_queue_wait_msg(). Tweak the function name and signature. Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42337 --- sys/dev/pst/pst-iop.c | 2 +- sys/dev/pst/pst-raid.c | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/sys/dev/pst/pst-iop.c b/sys/dev/pst/pst-iop.c index f9921a564333..783507ce0d9e 100644 --- a/sys/dev/pst/pst-iop.c +++ b/sys/dev/pst/pst-iop.c @@ -432,7 +432,7 @@ iop_queue_wait_msg(struct iop_softc *sc, int mfa, struct i2o_basic_message *msg) int status, timeout = 10000; mtx_lock(&sc->mtx); - if (!(sc->reg->oqueue_intr_mask & 0x08)) { + if ((sc->reg->oqueue_intr_mask & I2O_OUT_INTR_QUEUE) == 0) { msg->transaction_context = (u_int32_t)&request; msg->initiator_context = (u_int32_t)iop_done; sc->reg->iqueue = mfa; diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c index 4e9c4fb724bc..b369a6d36fdc 100644 --- a/sys/dev/pst/pst-raid.c +++ b/sys/dev/pst/pst-raid.c @@ -73,7 +73,7 @@ struct pst_request { static disk_strategy_t pststrategy; static int pst_probe(device_t); static int pst_attach(device_t); -static int pst_shutdown(device_t); +static void pst_shutdown_post_sync(device_t, int); static void pst_start(struct pst_softc *); static void pst_done(struct iop_softc *, u_int32_t, struct i2o_single_reply *); static int pst_rw(struct pst_request *); @@ -170,18 +170,23 @@ pst_attach(device_t dev) name, psc->info->capacity/(512*255*63), 255, 63, device_get_nameunit(psc->iop->dev)); - EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown, + EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown_post_sync, dev, SHUTDOWN_PRI_FIRST); return 0; } -static int -pst_shutdown(device_t dev) +static void +pst_shutdown_post_sync(device_t dev, int howto __unused) { struct pst_softc *psc = device_get_softc(dev); struct i2o_bsa_cache_flush_message *msg; int mfa; + if (SCHEDULER_STOPPED()) { + /* Request polled shutdown. */ + psc->iop->reg->oqueue_intr_mask = 0xffffffff; + } + mfa = iop_get_mfa(psc->iop); msg = (struct i2o_bsa_cache_flush_message *)(psc->iop->ibase + mfa); bzero(msg, sizeof(struct i2o_bsa_cache_flush_message)); @@ -194,7 +199,6 @@ pst_shutdown(device_t dev) msg->control_flags = 0x0; /* 0x80 = post progress reports */ if (iop_queue_wait_msg(psc->iop, mfa, (struct i2o_basic_message *)msg)) printf("pst: shutdown failed!\n"); - return 0; } static void From nobody Thu Nov 23 21:09:35 2023 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 4SbrN2007cz51ymV; Thu, 23 Nov 2023 21:09:38 +0000 (UTC) (envelope-from mjguzik@gmail.com) Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com [IPv6:2607:f8b0:4864:20::c30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SbrN12KNxz4Nl4; Thu, 23 Nov 2023 21:09:37 +0000 (UTC) (envelope-from mjguzik@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oo1-xc30.google.com with SMTP id 006d021491bc7-58cecfb4412so690950eaf.3; Thu, 23 Nov 2023 13:09:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700773776; x=1701378576; darn=freebsd.org; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=lsaYqs+nbushsiBS5myk3jG5BJX/tO8lbMYgWGCqfuY=; b=NoYMxV023IKC5HHAC/dwxXUhU6n3frkGHJRY5NJXSQElAsqWAoKcTPTu8/44geXjEi 7AxMjv2WW1u5xqyOJVjSFSwGFhPgvaO3f3VNZreIbw9nnxR6j9nirv2FXqRD0ZykvwMT 5g4gAR9rTpGNsGBLSF1YX8+rl2LhL22JqMnljxyL15cjuTHMdCSP+T9HmM2AuiG80lol Ft2DUe4ONehwQEh9LRNxwzJyEvNAdQs9tVGaNEYoFhn247d0keM9lQIo7IveX9vf6ayh A16+MU+bAaT9HeRKoKpSCIwRm+xBcBJ4GiaVbwOFGRgZkvkfQuV4p+Aq2mb3sljddFBu yxSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700773776; x=1701378576; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=lsaYqs+nbushsiBS5myk3jG5BJX/tO8lbMYgWGCqfuY=; b=HdU9f5/PDXoQHLfRmFoIyjWUTKNNdEXBMhN1FNtFIr5v26lFZJykqO8a9qRy6wrhu1 TNkcoBXyerO6m4q5tJbIPhvK8XXDw/ePPeTMCBZ5XLiChGRsQsWTODCj8pKjmqTwwO+o TgIUuhbkFWwJn0H0Z/QgjXosgXjvZQ6aPBHNPxQWTOsPMBO70XPPc+0t/J4b0zXNGIDh 86jmjou6VWhL0PQOFjtbh5DkTfrBScSH9/569jIn3rfPi4W9lrp7oqhGzOUtnfhQWx5M e1uIfJf+k/gAzC0GLlgz6zxKTyFE9nqPsRBs0lwgAUUn2W4HCQn/FXhseZWff8TZ8M6t 9InQ== X-Gm-Message-State: AOJu0YyoLQP4Ty1cBEwJ0BoPDbem8z/0kEs7CQHEB3EKobhKCNkrdmX6 PDLVCcZuOVpVp56gWI8LzaWPrFOBusVjTBoz1QZbGjMJG80= X-Google-Smtp-Source: AGHT+IE/Yn6OXSXWuKGT1F7INJgmi4W6Z/8ZRn7KYFo7UtUGXk4PuTcac34RA7/Gqs72f0STnCrsFwlVOZO4tqYcWtY= X-Received: by 2002:a05:6820:1625:b0:57b:469d:8af6 with SMTP id bb37-20020a056820162500b0057b469d8af6mr803811oob.4.1700773776044; Thu, 23 Nov 2023 13:09:36 -0800 (PST) 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 Received: by 2002:a8a:795:0:b0:4f0:1250:dd51 with HTTP; Thu, 23 Nov 2023 13:09:35 -0800 (PST) In-Reply-To: <202311231948.3ANJmwEC076780@gitrepo.freebsd.org> References: <202311231948.3ANJmwEC076780@gitrepo.freebsd.org> From: Mateusz Guzik Date: Thu, 23 Nov 2023 22:09:35 +0100 Message-ID: Subject: Re: git: ad34121518bb - main - Revert "pst: improve shutdown_post_sync handler" To: Mitchell Horne Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4SbrN12KNxz4Nl4 i386 kernel is going down, i suggest just dropping the patch On 11/23/23, Mitchell Horne wrote: > The branch main has been updated by mhorne: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a > > commit ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a > Author: Mitchell Horne > AuthorDate: 2023-11-23 19:46:28 +0000 > Commit: Mitchell Horne > CommitDate: 2023-11-23 19:48:44 +0000 > > Revert "pst: improve shutdown_post_sync handler" > > I did not realize this driver was i386-only, and the change fails to > compile. Revert so that I can fix it properly. > > This reverts commit 428ebb7cd9f51afb6809bf81cf21a05e0fd93ff4. > > Pointy hat to: mhorne > --- > sys/dev/pst/pst-iop.c | 2 +- > sys/dev/pst/pst-raid.c | 14 +++++--------- > 2 files changed, 6 insertions(+), 10 deletions(-) > > diff --git a/sys/dev/pst/pst-iop.c b/sys/dev/pst/pst-iop.c > index 43ced2401d2c..f9921a564333 100644 > --- a/sys/dev/pst/pst-iop.c > +++ b/sys/dev/pst/pst-iop.c > @@ -432,7 +432,7 @@ iop_queue_wait_msg(struct iop_softc *sc, int mfa, struct > i2o_basic_message *msg) > int status, timeout = 10000; > > mtx_lock(&sc->mtx); > - if ((sc->reg->oqueue_intr_mask & I20_OUT_INTR_QUEUE) == 0) { > + if (!(sc->reg->oqueue_intr_mask & 0x08)) { > msg->transaction_context = (u_int32_t)&request; > msg->initiator_context = (u_int32_t)iop_done; > sc->reg->iqueue = mfa; > diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c > index 4f9279462ee8..4e9c4fb724bc 100644 > --- a/sys/dev/pst/pst-raid.c > +++ b/sys/dev/pst/pst-raid.c > @@ -73,7 +73,7 @@ struct pst_request { > static disk_strategy_t pststrategy; > static int pst_probe(device_t); > static int pst_attach(device_t); > -static void pst_shutdown_post_sync(device_t, int); > +static int pst_shutdown(device_t); > static void pst_start(struct pst_softc *); > static void pst_done(struct iop_softc *, u_int32_t, struct i2o_single_reply > *); > static int pst_rw(struct pst_request *); > @@ -170,23 +170,18 @@ pst_attach(device_t dev) > name, psc->info->capacity/(512*255*63), 255, 63, > device_get_nameunit(psc->iop->dev)); > > - EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown_post_sync, > + EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown, > dev, SHUTDOWN_PRI_FIRST); > return 0; > } > > -static void > -pst_shutdown_post_sync(device_t dev, int howto __unused) > +static int > +pst_shutdown(device_t dev) > { > struct pst_softc *psc = device_get_softc(dev); > struct i2o_bsa_cache_flush_message *msg; > int mfa; > > - if (SCHEDULER_STOPPED()) { > - /* Request polled shutdown. */ > - psc->reg->oqueue_intr_mask = 0xffffffff; > - } > - > mfa = iop_get_mfa(psc->iop); > msg = (struct i2o_bsa_cache_flush_message *)(psc->iop->ibase + mfa); > bzero(msg, sizeof(struct i2o_bsa_cache_flush_message)); > @@ -199,6 +194,7 @@ pst_shutdown_post_sync(device_t dev, int howto > __unused) > msg->control_flags = 0x0; /* 0x80 = post progress reports */ > if (iop_queue_wait_msg(psc->iop, mfa, (struct i2o_basic_message > *)msg)) > printf("pst: shutdown failed!\n"); > + return 0; > } > > static void > > -- Mateusz Guzik From nobody Fri Nov 24 02:17:11 2023 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 4SbzBv74Dtz526rL; Fri, 24 Nov 2023 02:17:11 +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 4SbzBv6PPFz3LHD; Fri, 24 Nov 2023 02:17:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700792231; 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=9iZjghIhefOTZAkJQqJYXdC8hwZw5HPjsaGUENGTJoQ=; b=is8AeFsDMnVBtdLgZ4d40qWZzSc2rA+Rs71w9ZI++levtxiTxV9ksEC+eLTAyt5yeThveo KpGtWGLE3M14EqEnb4ZkFhiypf0+QOyDLZmhY8E+Bdu0fCxA7jAPLIkHB0W5BGZkSuAGT2 WyxLN2N3bCoXtq5ThDseumiDu/FmW7OT93RZ0gubfBW8t4dv3WgPXmPhE3kMC7w3MBFV5W dU0RSZlCbUl6UNUZ6GRA3XFyyp6n2LQTyvKWZbR/Ktd4sqB8x/KaklMg4Gxmy01/T6XTc1 zRb0JX0E8mfOyYtkx5QTlBWNdNJEogtK+r1YGhWVPQQyNBMue/E0I3LlMjUUAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700792231; 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=9iZjghIhefOTZAkJQqJYXdC8hwZw5HPjsaGUENGTJoQ=; b=PTicPM20TBgvUx+l7zGoM0p/aegJZNn2nEORAqbGRDrSqU7yLq7AvzF+dGarC3wbx6+NaR oZyaGgoKi+GlAsvsdBXI8KJEJ5XD5rby1cQAMdj1J6DxzS0MP5+yEHIWZ0NwqMyya2VM+4 evCUkrRJYHUWrTlgIu5WsT33t7K1NMxSe7eVKwsondaFl0NXLnaycx0Jp1M2SMzbF6uZhH YqmlG4nEHCRbCw2/SBnw4L+fxRNEg9GlMu/9Sf4NydtND1xZLJ6yiIHGQP/MEXXj8jJsSd xFng7S2Q6cBqouZZjqnDE+C2Hqh/12iadmmlG6Waop+mxDJGbpwZkf8enlRfYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700792231; a=rsa-sha256; cv=none; b=VJM0Cf2xzfwvrZbvWLLpdUVoKAcKoJqmt3ZscIShYhG3KKlBbPaCZTp+9gEJOlwJIG4Oom uPHYypumxUFStDdmiVpj0Ei5XqzOUPdQyw8jb33sPkzRNDaUnmfaeng7M8yCT3C49l84Iq hekMw+2CwEZ/Gr+KslBMP+T4pP52kNGG2J0x4s4Mg0aJxhb14x/VUOfT/20RDqRzrX1ZYm jcCyP+TWH2HbkjUTsj0EJKDAxztfAVHrjZM/EAf1qodZ/FSMdDTQUWq/rMaFkblEfxyTNs cy7T5nn8z73EvrEuiuWNewIbtp2NRLbXTQP4oDS4llx3dR0KoaXnM2LSIILGFA== 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 4SbzBv5T5zzBhD; Fri, 24 Nov 2023 02:17:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AO2HBdU026264; Fri, 24 Nov 2023 02:17:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AO2HBCq026261; Fri, 24 Nov 2023 02:17:11 GMT (envelope-from git) Date: Fri, 24 Nov 2023 02:17:11 GMT Message-Id: <202311240217.3AO2HBCq026261@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 5e16809c953f - main - tzsetup: symlink /etc/localtime instead of copying 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e16809c953f4cd19fadb1767469dec319de0353 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5e16809c953f4cd19fadb1767469dec319de0353 commit 5e16809c953f4cd19fadb1767469dec319de0353 Author: Ed Maste AuthorDate: 2022-10-14 16:44:35 +0000 Commit: Ed Maste CommitDate: 2023-11-24 02:13:49 +0000 tzsetup: symlink /etc/localtime instead of copying Using a symlink means that new timezone data (installed by an errata update, say) will be usable without having to be copied again. Reviewed by: bapt, kevans, philip Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37005 --- usr.sbin/tzsetup/tzsetup.8 | 2 +- usr.sbin/tzsetup/tzsetup.c | 119 ++++++++++----------------------------------- 2 files changed, 27 insertions(+), 94 deletions(-) diff --git a/usr.sbin/tzsetup/tzsetup.8 b/usr.sbin/tzsetup/tzsetup.8 index 109a52beb164..60461363da9a 100644 --- a/usr.sbin/tzsetup/tzsetup.8 +++ b/usr.sbin/tzsetup/tzsetup.8 @@ -52,7 +52,7 @@ The following options are available: Open all files and directories relative to .Ar chroot_directory . .It Fl n -Do not create or copy files. +Do not create or symlink files. .It Fl r Reinstall the zoneinfo file installed last time. The name is obtained from diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index f6440a0ea736..9610023ec3ea 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -744,109 +744,42 @@ static void message_zoneinfo_file(const char *title, char *prompt) static int install_zoneinfo_file(const char *zoneinfo_file) { - char buf[1024]; char prompt[SILLY_BUFFER_SIZE]; - struct stat sb; - ssize_t len; - int fd1, fd2, copymode; - - if (lstat(path_localtime, &sb) < 0) { - /* Nothing there yet... */ - copymode = 1; - } else if (S_ISLNK(sb.st_mode)) - copymode = 0; - else - copymode = 1; #ifdef VERBOSE - if (copymode) - snprintf(prompt, sizeof(prompt), - "Copying %s to %s", zoneinfo_file, path_localtime); - else - snprintf(prompt, sizeof(prompt), - "Creating symbolic link %s to %s", - path_localtime, zoneinfo_file); + snprintf(prompt, sizeof(prompt), "Creating symbolic link %s to %s", + path_localtime, zoneinfo_file); message_zoneinfo_file("Info", prompt); #endif if (reallydoit) { - if (copymode) { - fd1 = open(zoneinfo_file, O_RDONLY, 0); - if (fd1 < 0) { - snprintf(prompt, sizeof(prompt), - "Could not open %s: %s", zoneinfo_file, - strerror(errno)); - message_zoneinfo_file("Error", prompt); - return (DITEM_FAILURE | DITEM_RECREATE); - } - - if (unlink(path_localtime) < 0 && errno != ENOENT) { - snprintf(prompt, sizeof(prompt), - "Could not delete %s: %s", - path_localtime, strerror(errno)); - message_zoneinfo_file("Error", prompt); - return (DITEM_FAILURE | DITEM_RECREATE); - } - - fd2 = open(path_localtime, O_CREAT | O_EXCL | O_WRONLY, - S_IRUSR | S_IRGRP | S_IROTH); - if (fd2 < 0) { - snprintf(prompt, sizeof(prompt), - "Could not open %s: %s", - path_localtime, strerror(errno)); - message_zoneinfo_file("Error", prompt); - return (DITEM_FAILURE | DITEM_RECREATE); - } - - while ((len = read(fd1, buf, sizeof(buf))) > 0) - if ((len = write(fd2, buf, len)) < 0) - break; - - if (len == -1) { - snprintf(prompt, sizeof(prompt), - "Error copying %s to %s %s", zoneinfo_file, - path_localtime, strerror(errno)); - message_zoneinfo_file("Error", prompt); - /* Better to leave none than a corrupt one. */ - unlink(path_localtime); - return (DITEM_FAILURE | DITEM_RECREATE); - } - close(fd1); - close(fd2); - } else { - if (access(zoneinfo_file, R_OK) != 0) { - snprintf(prompt, sizeof(prompt), - "Cannot access %s: %s", zoneinfo_file, - strerror(errno)); - message_zoneinfo_file("Error", prompt); - return (DITEM_FAILURE | DITEM_RECREATE); - } - if (unlink(path_localtime) < 0 && errno != ENOENT) { - snprintf(prompt, sizeof(prompt), - "Could not delete %s: %s", - path_localtime, strerror(errno)); - message_zoneinfo_file("Error", prompt); - return (DITEM_FAILURE | DITEM_RECREATE); - } - if (symlink(zoneinfo_file, path_localtime) < 0) { - snprintf(prompt, sizeof(prompt), - "Cannot create symbolic link %s to %s: %s", - path_localtime, zoneinfo_file, - strerror(errno)); - message_zoneinfo_file("Error", prompt); - return (DITEM_FAILURE | DITEM_RECREATE); - } + if (access(zoneinfo_file, R_OK) != 0) { + snprintf(prompt, sizeof(prompt), + "Cannot access %s: %s", zoneinfo_file, + strerror(errno)); + message_zoneinfo_file("Error", prompt); + return (DITEM_FAILURE | DITEM_RECREATE); } - -#ifdef VERBOSE - if (copymode) + if (unlink(path_localtime) < 0 && errno != ENOENT) { snprintf(prompt, sizeof(prompt), - "Copied timezone file from %s to %s", - zoneinfo_file, path_localtime); - else + "Could not delete %s: %s", + path_localtime, strerror(errno)); + message_zoneinfo_file("Error", prompt); + return (DITEM_FAILURE | DITEM_RECREATE); + } + if (symlink(zoneinfo_file, path_localtime) < 0) { snprintf(prompt, sizeof(prompt), - "Created symbolic link from %s to %s", - zoneinfo_file, path_localtime); + "Cannot create symbolic link %s to %s: %s", + path_localtime, zoneinfo_file, + strerror(errno)); + message_zoneinfo_file("Error", prompt); + return (DITEM_FAILURE | DITEM_RECREATE); + } + +#ifdef VERBOSE + snprintf(prompt, sizeof(prompt), + "Created symbolic link from %s to %s", zoneinfo_file, + path_localtime); message_zoneinfo_file("Done", prompt); #endif } /* reallydoit */ From nobody Fri Nov 24 07:17:35 2023 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 4Sc5sn4h91z51n86; Fri, 24 Nov 2023 07:17:49 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4Sc5sn1hT7z4g9d; Fri, 24 Nov 2023 07:17:49 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.17.1/8.17.1) with ESMTP id 3AO7HZLb052894; Fri, 24 Nov 2023 09:17:38 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 3AO7HZLb052894 Received: (from kostik@localhost) by tom.home (8.17.1/8.17.1/Submit) id 3AO7HZTN052893; Fri, 24 Nov 2023 09:17:35 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 24 Nov 2023 09:17:35 +0200 From: Konstantin Belousov To: Ed Maste Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 5e16809c953f - main - tzsetup: symlink /etc/localtime instead of copying Message-ID: References: <202311240217.3AO2HBCq026261@gitrepo.freebsd.org> 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=us-ascii Content-Disposition: inline In-Reply-To: <202311240217.3AO2HBCq026261@gitrepo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Queue-Id: 4Sc5sn1hT7z4g9d On Fri, Nov 24, 2023 at 02:17:11AM +0000, Ed Maste wrote: > The branch main has been updated by emaste: > > URL: https://cgit.FreeBSD.org/src/commit/?id=5e16809c953f4cd19fadb1767469dec319de0353 > > commit 5e16809c953f4cd19fadb1767469dec319de0353 > Author: Ed Maste > AuthorDate: 2022-10-14 16:44:35 +0000 > Commit: Ed Maste > CommitDate: 2023-11-24 02:13:49 +0000 > > tzsetup: symlink /etc/localtime instead of copying > > Using a symlink means that new timezone data (installed by an errata > update, say) will be usable without having to be copied again. Does this mean that installations with split / and /usr get broken? From nobody Fri Nov 24 07:50:22 2023 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 4Sc6c93WkBz520g2; Fri, 24 Nov 2023 07:51:05 +0000 (UTC) (envelope-from Alexander@Leidinger.net) Received: from mailgate.Leidinger.net (mailgate.leidinger.net [IPv6:2a00:1828:2000:313::1: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-signature ECDSA (P-256) client-digest SHA256) (Client CN "mailgate.leidinger.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Sc6c86zsDz3HxG; Fri, 24 Nov 2023 07:51:04 +0000 (UTC) (envelope-from Alexander@Leidinger.net) Authentication-Results: mx1.freebsd.org; none 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leidinger.net; s=outgoing-alex; t=1700812240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=0u4eijx/MvAWNaMNOUhV5xkfoGcAA9TR+LQX4/uoTK8=; b=XBYNCVMn+2kch3+JRg7G0dhof4h0XsNZK0O1LGuEn/51LvlL2YWxHGhl2GWmx/Y7yZRTvO 0w81L3TB1U2pujgJj5Bo/0S7lBv6vxsgFdF5PoM0Etkr6pbmgX/hIdPEO8PkOeOnn1BOUy g722QXfMN0A3hB8UOy3MKXk1vYSKmet3gc24rg/0aBixL3MTOylt+VaF1/7WTMyxrdswxP mYo/WpnLVCIYA2EIWAfjzkyv3MYHGdt9B9Fna3fHFJwWp2XuGgnFqueAIOuGJVWjKMy2Cz GqRUYjSzEXKI+9bO/nLTIpwEohbq5BSdf4yLr1A6GTm5kpDslY2qlG+4xINl6Q== Date: Fri, 24 Nov 2023 08:50:22 +0100 From: Alexander Leidinger To: Rick Macklem , Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots In-Reply-To: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> References: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> Message-ID: <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> X-Sender: Alexander@Leidinger.net Organization: No organization, this is a private message. Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=_a63461b2de562d0279d32a4f9afc17b4"; micalg=pgp-sha256 X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:34240, ipnet:2a00:1828::/32, country:DE] X-Rspamd-Queue-Id: 4Sc6c86zsDz3HxG This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --=_a63461b2de562d0279d32a4f9afc17b4 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Am 2023-11-23 16:25, schrieb Rick Macklem: > The branch main has been updated by rmacklem: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=f5f277728adec4c5b3e840a1fb16bd16f8cc956d > > commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d > Author: Rick Macklem > AuthorDate: 2023-11-23 15:23:33 +0000 > Commit: Rick Macklem > CommitDate: 2023-11-23 15:23:33 +0000 > > nfsd: Fix NFS access to .zfs/snapshot snapshots > > When a process attempts to access a snapshot under > //.zfs/snapshot, the snapshot is automounted. > However, without this patch, the automount does not > set mnt_exjail, which results in the snapshot not being > accessible over NFS. > > This patch defines a new function called vfs_exjail_clone() > which sets mnt_exjail from another mount point and > then uses that function to set mnt_exjail in the snapshot > automount. A separate patch that is currently a pull request > for OpenZFS, calls this function to fix the problem. May the same/similar fix like for ZFS be needed / useful for nullfs mounted stuff? I have a ZFS dataset which is mounted via nullfs into a jail. This nullfs-mount is then exported via samba. In samba I have the shadow-copy stuff enabled, but it doesn't work, as the jails can't access the snapshot. Bye, Alexander. -- http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF --=_a63461b2de562d0279d32a4f9afc17b4 Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc; size=833 Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmVgVcwACgkQEg2wmwP4 2IZyHBAAiJ0wfCLEY3NtvjcNdxkMlgvXgNv/jGBAKzN0zSUj3VNRYLPkdQonwq2J aDLr2v5O6hMF97zuPCbyZvsrNf8Djc7ZlUMhe+2YjHHYNmFhVklBTMrFqmLuWGq4 0IMMcUyqDdgH9dpO2LvN9FkqEe6iQwKoik6S+VZPcT6DTIa/bN1g98aipTDZChAB mkyR9rK4MyKrVf4JiCISB5vtgOCaCQS7E9x/n908LWvCNEOaBpVPvVJw3GL+eS8a wO3TkuY/FLYnHHvcaD7H4WXSubTWWD5s//ngH6YGbeyH6Q6Axebjg1uyVzYVNrOY 2DnCJjw79rBG3FcR+7FV/6vsFKk/TKD/lZxcrKgMUFiWTjqnAP/XjoHdpgYAh3V5 jIbpBSTTgQbfzSNzDpdGkMIOKgSm4wFvz9Pnt/4UKd+U/ixLDqJL3sclJUuZWTgU BL0H60lBjIeybA1qKTSxyX/AMsEg1tsZ/7qI421TZbj7vgzA7tL1UtP9m1bNfFT8 5VxKQwxtez/U4Vw7fxbcrNEaN4MJsDMqUklSUKTBWON2vpqRKeIW4OQGqfXdZv2r +ctaZbzuZpoAXGm6SJFiL00Rw7Necsmk5ke93+RxnQd17oO64CabB762/Su8PrXx CKKoUVdl/q/c+LJOKQPcSkZS5moFypNvQ5DWzmdPZ5t7iuKv+M8= =r9BZ -----END PGP SIGNATURE----- --=_a63461b2de562d0279d32a4f9afc17b4-- From nobody Fri Nov 24 07:51:07 2023 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 4Sc6cS5DKnz520gj for ; Fri, 24 Nov 2023 07:51:20 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Sc6cS3HBXz3J6v for ; Fri, 24 Nov 2023 07:51:19 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-54b0310f536so136169a12.0 for ; Thu, 23 Nov 2023 23:51:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1700812278; x=1701417078; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=RZnli/N0JcM/uBoZyRjeWpvzR1m4MxpOXczqI8u4MKE=; b=xNXMaFayZb+OTYuoVAuQLr/G1O6K64jQw8BZoQXjBxEuDt9lMzCcTnNhjo3ADM0wA9 7ve2MuYjVWx3aVTh7ec0vbFvtMZiaPlV84Lr09h+JmM3pAPSyjhWvXmkdmvTF0tDd6iT wuETzN+IQeI5L7tlLRykA0pYhJ5dCz5m2qyT4ELW35Qfdr8ObaGsWYz6JQ8TnEmF4lpn 58ymEi+Q+h5JGQtOEb5U21yYO8XsIG6Jr7axvkXfg1ELXpquCncMRjIHZ488n6UXYfh3 IuD+fk33N7/JgFXx+pMcT0ahTo+FttYBi8hGH4GW9UYrn5YBn55HXB+nSLku7eMwtUh3 sOxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700812278; x=1701417078; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RZnli/N0JcM/uBoZyRjeWpvzR1m4MxpOXczqI8u4MKE=; b=tgF4GnaQoaZwaH5EsHVCgKBRZ+pc539qoSGOxH+HTl+gH6ah/4/Kr5J473QNrc0w6x UfIGG7Hc7uQKvjv7Xg6+GiVrGnc/hOBzD305Jef4dGbqNb3Ddw9XUXnCI5n0kipLwUD/ WIRfGc/+hpybIax498VIBvcCAIXXwJCgDkgnQ+JUmI0IxoHLOrIeg2RtI3/5IcfOsrdK jH4vxvEZBjPjIG5aFTSYroyvJvQhEJbo+JAvaKp4h5bHEPJtvawpy33nR7n/+GmQ3APt jv2gICLYfGEtJ4NZmGheP/GdmqgPCBtu1J/LcD3k5No9Yh2B9T2NjKSG9G2YS6234GYJ ppyQ== X-Gm-Message-State: AOJu0YxHAt1K+bBcV6FXF0vCJNw8AwGbFHy+EFl5H0fLG9+nDwCggrvB ae9ddsSwyy0PhgwOG29rBkRguaQPTgN7UQyAXE8kxw== X-Google-Smtp-Source: AGHT+IE+TqUtvw1vXo74m1Rv7lAJ/6Zmz/dP/IrMquWYrpF18vh3Ik5a9TmsfYNyvOvl+Gdz9NgviNnDb5iNOyYytto= X-Received: by 2002:a05:6402:43c8:b0:546:d6e1:fbf3 with SMTP id p8-20020a05640243c800b00546d6e1fbf3mr5280313edc.1.1700812278046; Thu, 23 Nov 2023 23:51:18 -0800 (PST) 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 References: <202311240217.3AO2HBCq026261@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Fri, 24 Nov 2023 00:51:07 -0700 Message-ID: Subject: Re: git: 5e16809c953f - main - tzsetup: symlink /etc/localtime instead of copying To: Konstantin Belousov Cc: Ed Maste , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000a9b7fb060ae1376b" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4Sc6cS3HBXz3J6v --000000000000a9b7fb060ae1376b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Nov 24, 2023 at 12:17=E2=80=AFAM Konstantin Belousov wrote: > On Fri, Nov 24, 2023 at 02:17:11AM +0000, Ed Maste wrote: > > The branch main has been updated by emaste: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D5e16809c953f4cd19fadb1767469dec= 319de0353 > > > > commit 5e16809c953f4cd19fadb1767469dec319de0353 > > Author: Ed Maste > > AuthorDate: 2022-10-14 16:44:35 +0000 > > Commit: Ed Maste > > CommitDate: 2023-11-24 02:13:49 +0000 > > > > tzsetup: symlink /etc/localtime instead of copying > > > > Using a symlink means that new timezone data (installed by an errat= a > > update, say) will be usable without having to be copied again. > Does this mean that installations with split / and /usr get broken? > Not in any real sense, no. Very little is run prior to /usr being mounted in these setups. What is run isn't a daemon and very few of them print times. And if they were, they'd print it in UTC not local time. The only thing I can think of that might be user-visible would be boot -s to single user. Date will report UTC instead of local time in these setups (which these days have become somewhat rare). Warner --000000000000a9b7fb060ae1376b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


--000000000000a9b7fb060ae1376b-- From nobody Fri Nov 24 09:45:42 2023 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 4Sc98R0wMdz520w3; Fri, 24 Nov 2023 09:45:43 +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 4Sc98R0STbz4Cwg; Fri, 24 Nov 2023 09:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700819143; 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=qR9qY7hypbjCY9jYPPtPBlXs5G0D+4/Kd23EmPAZa0c=; b=MhMfe61yIL+s80a2LjS5ZksDnAe0RTS+ULk/CRgnLLCUURSEUXOem9Lop5cYuLudF/vleE ApkldS6FjnKA7vc1Dnfyoi383sk23HwCLaG1OtueNo59RLStwGpwwKgG4jjf1Tv1X23UFB BHhHwbwgHJgQvai4qiymXu3BmBE232x1zGuFK3d9EPFRfMyr9cF38nD47UkhokpyUQBBSy F7NXh4lEhUmOZpoz8ovgMQ1MW5ClwrVq+ktp/gtHYnI5JELRr3xANkPjltreyh0uYyIIfA iA2XXANu9bGVKTQgpf3pAcT3r0C4jNwvtg9r15ECFia55BqOOhjgkzpnInWkmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700819143; 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=qR9qY7hypbjCY9jYPPtPBlXs5G0D+4/Kd23EmPAZa0c=; b=MFOTkXu+7jpDZZO4pDRJLX6i4cjcJKkydxvIQhCNi2YJOhYxZzsaHeEWnv2Ib4b0ARvYhD 2YNWRIuQcaJz7ECjQMQRkaDq0AQh8pY+xIRk0HuEu5rls/VpHcvs87/9O1mjydcK6VMseS 1XBPkQ3nizhP9FSfy0nhqGyD8fowmmOa6qNFGx4Y5fDhwyKmlfw/iOI69GnGNVCGnKJQcC 9fBQOXNRW9pBVq5mjJs7IpjdCWWQ0X9Ui62zlXB/n+IfJE8bS3MdIUmBYs1XS1RwQptK2g hGaQuBciwVigkTMQslWNZ3TVJjhFXLkiM8Qc4VIsnX90l6Ut0LhdY/GwXlHO7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700819143; a=rsa-sha256; cv=none; b=ve0MAZM6c+myR38T26uGE9nG+sAeRQanR9bok/H2bXz/cuZrKx/u73tIR9crLuWEW354u8 09z9lEEGGDT0sFN1puPZ9WljwV3TP9kZ3e8ogoYYIdARog8gfsfnNXz2+GpeUhBO8abHHz Ah2hPwtkFGMx9mamTISQabIlqFpM92M6Mbb5oUTxV/mFakZ6BMNMNSwvZpN+meDXb0j1Xq Qvv3GDJwrtoLRcoWv6DcTX6+488YYzabw2kGLKrDaKDsbbHXJejsIL/27+lnoA8Zrf2haw LkXw83LQx7jtfMVCbHK/9t3LfjJlrraeidLc0Bs/4UtDAG8EcnbwRI2bnYNQ8w== 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 4Sc98Q6WkSzgT2; Fri, 24 Nov 2023 09:45:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AO9jget079782; Fri, 24 Nov 2023 09:45:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AO9jgdS079780; Fri, 24 Nov 2023 09:45:42 GMT (envelope-from git) Date: Fri, 24 Nov 2023 09:45:42 GMT Message-Id: <202311240945.3AO9jgdS079780@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script 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: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e commit 0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e Author: Emmanuel Vadot AuthorDate: 2023-11-07 09:42:53 +0000 Commit: Emmanuel Vadot CommitDate: 2023-11-24 09:44:20 +0000 autofs: media: Don't include nosuid in the script We already have nosuid option in auto_master so no need to redefine it. Also it's easier for a user to modify the auto_master configuration file than the script (which shouldn't be modified). Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D42492 Reviewed by: rew --- usr.sbin/autofs/autofs/special_media | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/autofs/autofs/special_media b/usr.sbin/autofs/autofs/special_media index d72ddddddb2e..33fa4544d028 100755 --- a/usr.sbin/autofs/autofs/special_media +++ b/usr.sbin/autofs/autofs/special_media @@ -40,7 +40,7 @@ print_map_entry() { case "${_fstype}" in "exfat") if [ -f "/usr/local/sbin/mount.exfat" ]; then - echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype},nosuid :/dev/${_p}" + echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype} :/dev/${_p}" else /usr/bin/logger -p info -t "special_media[$$]" \ "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-exfat first" @@ -49,7 +49,7 @@ print_map_entry() { ;; "ntfs") if [ -f "/usr/local/bin/ntfs-3g" ]; then - echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype},nosuid :/dev/${_p}" + echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype} :/dev/${_p}" else /usr/bin/logger -p info -t "special_media[$$]" \ "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-ntfs first" @@ -57,10 +57,10 @@ print_map_entry() { fi ;; "ext2fs" | "msdosfs") - echo "-fstype=${_fstype},nosuid,async :/dev/${_p}" + echo "-fstype=${_fstype},async :/dev/${_p}" ;; *) - echo "-fstype=${_fstype},nosuid :/dev/${_p}" + echo "-fstype=${_fstype} :/dev/${_p}" ;; esac } From nobody Fri Nov 24 09:45:43 2023 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 4Sc98S1rm7z520fG; Fri, 24 Nov 2023 09:45:44 +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 4Sc98S0sCDz4D3b; Fri, 24 Nov 2023 09:45:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700819144; 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=6PzXmlpsBaa0TE3I1z4cVeJ9UhMrNH22Zl++HzRwmSU=; b=WnaL/sZVAjVndRz0O2KtyOxslBWeXZO1+C8CrcgmtTRBUFlgej9o4iORjxK2eLrIwV9mTW dR3Et0PEgb18xsYM2rxooZtyREL7Wucf4OGEhnvkUz6pEtQ+RcnBZObwWmFnu9r7dlYy42 hjjj9R5mkaopOt3cverGOHr9saCFViLERRf4+8HX0j/druIcgD/FtbukvrXCJciWek1Ru2 aprOeRo0jWBl3UtGhcHsSFccTnuQo6dUd1ZVSe9UPmneHfkhc8k/pJbbbrN4nJbm92HidN /Qhxaqty4iNMhYqmUtC7Vo88yWEucHdLeBRQ3rG4k/Oo7WuJOjmvOTuIp9K8wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700819144; 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=6PzXmlpsBaa0TE3I1z4cVeJ9UhMrNH22Zl++HzRwmSU=; b=LcHe33c9mSxtWJ7pauT+3lZ8QboPsBw9606xGVeSSWKuMmJKc0dsEamsLUaTGkknkkgr3q 5SCXDbqaM6uDTuuDEI9wGVMc0ch+ROHzRBmqoCT0rIcP8YZ4TbbLpPcYzboppJS8wWKw9O eXDhUoHT5jYRatr2HZyfEEAKJ1bZVobDqujNSYIB99dx4n43biV5oQIEarKOmEzDWz81lY oQJJOm9YEckSJJo9uXPU+m41x7tquXSeRt8gtMV8W/eEoLX1JzTmlQFkFYtWVw8l2y6/+g dkNzb4z/A0QyZSKGzObEegPcFJQ96cjzSOJG6parmEreB4EUBSnyVRH8S8JD8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700819144; a=rsa-sha256; cv=none; b=Kus5FZyEcoL2ZtPMjE4tQ5A38GZXkgVhCWgBaYdARZnnIwI2sk1ZLnGi/R2EXyy3kxgC/r aeI/gQkgKKrUYuP+3xF6b017AUIPVuM6fW182HDVWOermB/Iam4LxlcDPVSR3GS6otvRKk SMDvUfAXXbfbo+rK0P3MZdehPyXao258lfmomw+QcXLmeE8PNeaqlrBsqopotd9T2u1ur2 YaNhLwgi2dQ+otwYhT2FJNRooZag7DLBTjbUJmxAviOS5c5Xk1V6yLq16DlxCFRLFq6zd2 vD1yT+4kaICkHHAD9ckg30apd+vQS3Rg1Ee3Yw/U86ylSS1k41sSCUb1+/Bg4A== 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 4Sc98R6zYyzgR2; Fri, 24 Nov 2023 09:45:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AO9jhp5079839; Fri, 24 Nov 2023 09:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AO9jhdT079831; Fri, 24 Nov 2023 09:45:43 GMT (envelope-from git) Date: Fri, 24 Nov 2023 09:45:43 GMT Message-Id: <202311240945.3AO9jhdT079831@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 5a78fcfce4c5 - main - autofs: Remove stale comment 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: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a78fcfce4c563fcd47dcfb6f36aff2bdd14839b Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=5a78fcfce4c563fcd47dcfb6f36aff2bdd14839b commit 5a78fcfce4c563fcd47dcfb6f36aff2bdd14839b Author: Emmanuel Vadot AuthorDate: 2023-11-07 09:45:49 +0000 Commit: Emmanuel Vadot CommitDate: 2023-11-24 09:44:40 +0000 autofs: Remove stale comment devd action for automount -c was never commented. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D42493 Reviewed by: rew --- usr.sbin/autofs/auto_master | 2 -- 1 file changed, 2 deletions(-) diff --git a/usr.sbin/autofs/auto_master b/usr.sbin/autofs/auto_master index bbe05c533708..111836c058a5 100644 --- a/usr.sbin/autofs/auto_master +++ b/usr.sbin/autofs/auto_master @@ -2,7 +2,5 @@ # Automounter master map, see auto_master(5) for details. # /net -hosts -nobrowse,nosuid,intr -# When using the -media special map, make sure to edit devd.conf(5) -# to move the call to "automount -c" out of the comments section. #/media -media -nosuid,noatime,autoro #/- -noauto From nobody Fri Nov 24 09:45:45 2023 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 4Sc98T3qDVz520h5; Fri, 24 Nov 2023 09:45:45 +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 4Sc98T1qkJz4DMF; Fri, 24 Nov 2023 09:45:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700819145; 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=Qsv20WIi/a48/HaqTM1AOzZfaaZxu4KAPWnR2h/0jhk=; b=M5WMEEWoQtGiubau5Whm4Q/DDhBTUfuN6VlWXTTIf74tUyNoVIRVoT+qtqTn5YTq4630+S I+7YsGMB4tKEAPYuhr7LUpLs8mrFe1PhVyxPAHz75yC4L7GN9UOTzSNlHOIgb+CKMrjSl9 MUoDexD/ylMSUqn93ezD5gXlDCJHRLBw42DG1JmoXRz9ksZ+ILaoh40KQXDtvBxRQnemwF +RAufXZqWRR8Inns6rrGZpmOruz9e1YOQ422VM/EYcRMYzRfBu4pVLHvGwnaatL1K7LuDb XLHDuq4KhhUXcWfjEr0k7s+pAkEgIX92d6TahUBofr533zmb8iR6G51mX8z6pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700819145; 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=Qsv20WIi/a48/HaqTM1AOzZfaaZxu4KAPWnR2h/0jhk=; b=MA0AIaxN1VrMbCLw1QsnExIEbfQPOd+lw49aHgVSg9Y+WV99pltU0FcpahykGYGTng8Cyk SYXB/2nocPvmpHZ/Sb9BvTh6bFkNErdjl1tJIpu4zu9vmSXd4WGNCocNpeOvpyqhb+bCAg FGvnl04RNqnLS3L9WCAaAcu81OWRFGw0dMNTW1bSgGejEvk8c9Kmf7lLxgt/K2V4Y/4fYg r0q6iVHp5gzG46JkLbNlVCXTt/qUnYsWkopyzl5QAOCz6Zm3ql1zav0tDxZBkYiv3+mXi7 6/ibgAt54ef5nAcRoyaVwRZVzzg9dOc8CMCI0uXptk3/KKzb2VT2//6dCnJAqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700819145; a=rsa-sha256; cv=none; b=se4IVA2jKB9hvI3ujATeKE6iBZSXyqae+BfrZpiVlMA5GkXeIVOYTxCJICGn0qb/wEnA2t l6EeFVlwRIMnGJTHKwDyM8jvnTuypsCCv/+B3wXV/9v4M7rZyUDzWTgyyzDHVYvCDHmK5g SOAkIFTDIiTIDys/h6NZ2EIC5gkiaWCZC31RS4KlkKMYDR72wTF48w43ej/JvzK8bwwR8W zU5IHqPQi8voQWZ7OZR+Z2vKvVurEPIzhvxZL4ysJPpxxESUZL6G0OIgkA/bd7u7sYNdvd H/0Uhc1AjXm5TvvlGLQiNIBF5pxYGP3ASvUU78uoKMTASnXk7v5+99Pzfjc58A== 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 4Sc98T0vkNzgR4; Fri, 24 Nov 2023 09:45:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AO9jjWd079898; Fri, 24 Nov 2023 09:45:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AO9jj8d079895; Fri, 24 Nov 2023 09:45:45 GMT (envelope-from git) Date: Fri, 24 Nov 2023 09:45:45 GMT Message-Id: <202311240945.3AO9jj8d079895@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: b3c116d50eca - main - devd: autofs: Move autofs related events to a separate file 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: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b3c116d50ecacaab5236e0488cb74c1bcf614ae7 Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=b3c116d50ecacaab5236e0488cb74c1bcf614ae7 commit b3c116d50ecacaab5236e0488cb74c1bcf614ae7 Author: Emmanuel Vadot AuthorDate: 2023-11-07 10:06:15 +0000 Commit: Emmanuel Vadot CommitDate: 2023-11-24 09:45:03 +0000 devd: autofs: Move autofs related events to a separate file If a user don't have FreeBSD-autofs installed there is no need to try calling automount on every GEOM event. It's also easier to add/delete autofs related event in a separate file. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D42495 Reviewed by: imp --- sbin/devd/Makefile | 5 +++++ sbin/devd/autofs.conf | 9 +++++++++ sbin/devd/devd.conf | 7 ------- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile index 7f334ad6b409..68ff477f09c9 100644 --- a/sbin/devd/Makefile +++ b/sbin/devd/Makefile @@ -11,6 +11,11 @@ DEVDDIR= /etc/devd DEVD+= asus.conf .endif +CONFGROUPS+= AUTOFS +AUTOFSDIR= ${DEVDDIR} +AUTOFS+= autofs.conf +AUTOFSPACKAGE= autofs + CONFGROUPS+= DHCLIENT DHCLIENTDIR= ${DEVDDIR} DHCLIENT+= dhclient.conf diff --git a/sbin/devd/autofs.conf b/sbin/devd/autofs.conf new file mode 100644 index 000000000000..a06ca7295d38 --- /dev/null +++ b/sbin/devd/autofs.conf @@ -0,0 +1,9 @@ +# +# autofs(5) specific devd events + +# Discard autofs caches, useful for the -media special map. +notify 100 { + match "system" "GEOM"; + match "subsystem" "DEV"; + action "/usr/sbin/automount -c"; +}; diff --git a/sbin/devd/devd.conf b/sbin/devd/devd.conf index d793dd296437..08cbeb840b2f 100644 --- a/sbin/devd/devd.conf +++ b/sbin/devd/devd.conf @@ -136,13 +136,6 @@ notify 0 { action "service postgresql restart"; }; -# Discard autofs caches, useful for the -media special map. -notify 100 { - match "system" "GEOM"; - match "subsystem" "DEV"; - action "/usr/sbin/automount -c"; -}; - # Handle userland coredumps. # This commented out handler makes it possible to run an # automated debugging session after the core dump is generated. From nobody Fri Nov 24 09:50:28 2023 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 4Sc9Fw2R4zz522Qf; Fri, 24 Nov 2023 09:50: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 4Sc9Fw1zqPz4FFg; Fri, 24 Nov 2023 09:50:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700819428; 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=tenXvimy+VWzdPLXGz6GBi4V8KibvmYxHW9JxOcQIGY=; b=eZCy5+D1sEjKQ1A2doW0lexVwsYpVpVwd8xix8U2XlOZ9oxf9F1zidsjVwlie1Qo4eFM4H Z+u2WxutytM/yA3m3jWhdo9c1T+PAtm9s5o5MLz0pdSrVqqHny+rJruMxzroGXV21XiM99 QxzxW7S9zj5Wwji31I0lDjp9xNK7d/uBNk3IvK9SFURYEUL5AtndL9yR6i/kqDoDhjuiet ddjtgOlukYe02MITYzn52ic7aRgaATQ4x/6mtnoiKklY2NolG+wgeBa1T8jR0DsFGaJ5WZ qkTSXQ3pUQ1oZlPeO01q5cc8tGv1Ra9+PHyLTGN0PeuPp+Oy/GKo6nIo7LXnqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700819428; 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=tenXvimy+VWzdPLXGz6GBi4V8KibvmYxHW9JxOcQIGY=; b=g7bCs42L0QtktlckJVwwh03SP8xIyPBeK06t3+YQGLBuw3THMS21EluoWUDDqZ0o0LrEfl r0H38LWBZPIx97Vo7SWOr65Y5WxHV9OIR0GgRZTuhqSGDdSL1hUT4+3q5NP1eSJPAy4625 WIIyzSqLfXIL2XiIpKo+COBXWj1EENE/skOhSYSzxJMI+ZmDhGVokXnrDka7DR6txOAbih tWiB0J/cUBKGXxIixf+s/a1tZn1J+RHU+akJmxwRK9cGS5f8GYZJtAubeDoQ1FQv8pq8/E RQ5540FrR3WR6D68b9uu8BEA4HHhX+LOkE58mwZpYA8TFYTTUNEuGOoK61YcUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700819428; a=rsa-sha256; cv=none; b=AqbuqE9jvNr1h9uGpKFlR6d9cya+nH7vSle4ocexcnv1eK4Apy4luv/ibaC6b+yNpS3Sg3 YuuLcSTCpr5BoQSuO5oOeYzU00vFiCmftb/Nd5alX3nvhWwb3JR1y6xR+9P3nnf872Z3Vi J+urecn1Ac2LC44bmPsS1RNJIJ/HMODF++mZojRY9EOSU2HcRFSW6hC2Kk3yD4msBl62Tc Xx33s6qo2iEI+BBlKDGdAUJ+cxvBUYLkLcxnulezQTJxw/qFIKAiHK8a81OI/jZbsJZOZ1 Qn1l1sKNNX8S3YSFqrCrYr4SDGzbJfwMoYjcm2a7Q1HSrI/nN2aUzDdUXHY/cA== 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 4Sc9Fw13QHzgNj; Fri, 24 Nov 2023 09:50:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AO9oSNF089172; Fri, 24 Nov 2023 09:50:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AO9oSeH089169; Fri, 24 Nov 2023 09:50:28 GMT (envelope-from git) Date: Fri, 24 Nov 2023 09:50:28 GMT Message-Id: <202311240950.3AO9oSeH089169@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 2a35f3cdf63d - main - sys/mutex.h: Include sys/lock.h instead of sys/_lock.h 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: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2a35f3cdf63d1f9b1ea5ab0174adabb631757210 Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=2a35f3cdf63d1f9b1ea5ab0174adabb631757210 commit 2a35f3cdf63d1f9b1ea5ab0174adabb631757210 Author: Emmanuel Vadot AuthorDate: 2022-10-27 09:43:19 +0000 Commit: Emmanuel Vadot CommitDate: 2023-11-24 09:49:58 +0000 sys/mutex.h: Include sys/lock.h instead of sys/_lock.h It uses the LA_ defines when INVARIANTS is set. This unbreak dpaa2 with FDT only kernel (like ALLWINNER or ROCKCHIP) as the driver only include sys/lock.h via header polution for ACPI kernels. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D37145 Reviewed by: kib, mjg --- sys/sys/mutex.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/mutex.h b/sys/sys/mutex.h index 56c03a1b0be9..750a5e99679a 100644 --- a/sys/sys/mutex.h +++ b/sys/sys/mutex.h @@ -34,8 +34,8 @@ #define _SYS_MUTEX_H_ #include -#include #include +#include #ifdef _KERNEL #include From nobody Fri Nov 24 11:59:54 2023 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 4ScD7G2Fk7z51qpD; Fri, 24 Nov 2023 11:59:54 +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 4ScD7G1jHrz3F2Y; Fri, 24 Nov 2023 11:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700827194; 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=9W1zohNWhRQkq2N10RFZ3FmBLOOUW2PYa3SwUnpLmCI=; b=MYkkwYZPkalFSb9LBGD7sdt3gx1xP099/J8PnmrnMRISRenCOlNtaq2ugdxqLHaE7U6u7A rtMliDqTl5RpSvSjdi5RVLb1KtBgG+0gNVq3GaZjBnpiiqvZF7hIupOf02/m6evse0DqCi wL70xzIFRhrJhS/08zuTH6uIQZKJiOMcvRJkF5/gsewXZV2oNOG2cMAN20xUWAiMIXQvF0 ggTkdpZKIdgYJrksQWitrST75LixdNF0QvmS3qFHxTvDQt1AuZmr7HvzYZ9YDEV9Z4IIoL N3E/YSk1YYbO64uJwW8PEy72QPdgh+il57SdpPQvpo26K2ANdsymxQDeysokYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700827194; 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=9W1zohNWhRQkq2N10RFZ3FmBLOOUW2PYa3SwUnpLmCI=; b=Vme9NYN0/PAaMMvKtZH5vYOcfSk/QE8zt5RudtIcaPJoMgdKLiaBNHmqOBCckOexwcpXQk a4OnzIR7Nvq2qz4Nsnfhs/wJlbtME95PieWkP5WjszXN2+9BOxd6C5PtZI6gV7UESwUuVL M2CJdaI9rw8xczC+i50v/SUVh9PPlcfa1rkpP63y4MMASAT+Azha8dpzTYZdpm8ZypxpQU gJ3M5BCNKBk0SNWXO1vCJPFM+zC8GWlnxNZsT5pFZ2dSQnTWj9vMYBfOfooOSx8DClClo7 7lijRdQZFTsgWah5V8kXsPN23t2WvogiCOwrtKaQ7PlKXg6ormLW28WIRPTIZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700827194; a=rsa-sha256; cv=none; b=yP/nZu2Jts5hmJirBvXuYcwaYNnxLVkjr61qE5Kprer4QbB36HmIvjbOACWhfdqX87UhI6 LJS2n03ax8IbF5TVa8UEmk70EcNLZbiyjIlAE8rqoDQfp+xQl5hFnqRU6Q4V0fXLftpei6 K+VXLlzrj7+01V/kzP8aPj48oHffxW5nPWUQ4GpoFWdADtSPQEXeb7eme9RJCBth9bnVhm fm1eloualvLAKo0egIvL5YCIBHD6d9xlyT09rb14bCB2JURsTrRY+NCIL0yQaz6WjYoj+n LVYhMJrEl57PfGrCEmum1CKTrz9ck9/QvacNdfAvCtXwKdopfmic7Pk7qxfLHA== 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 4ScD7G0lqMzkMN; Fri, 24 Nov 2023 11:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOBxsu5098334; Fri, 24 Nov 2023 11:59:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOBxsXm098331; Fri, 24 Nov 2023 11:59:54 GMT (envelope-from git) Date: Fri, 24 Nov 2023 11:59:54 GMT Message-Id: <202311241159.3AOBxsXm098331@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 50335b1ae4e4 - main - sys/mutex.h: Reorder includes 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: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 50335b1ae4e48712f831e85ddfa7b00da0af382c Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=50335b1ae4e48712f831e85ddfa7b00da0af382c commit 50335b1ae4e48712f831e85ddfa7b00da0af382c Author: Emmanuel Vadot AuthorDate: 2023-11-24 10:30:09 +0000 Commit: Emmanuel Vadot CommitDate: 2023-11-24 11:59:02 +0000 sys/mutex.h: Reorder includes Fixes: 2a35f3cdf63d ("sys/mutex.h: Include sys/lock.h instead of sys/_lock.h") --- sys/sys/mutex.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/mutex.h b/sys/sys/mutex.h index 750a5e99679a..9fd6663ed75d 100644 --- a/sys/sys/mutex.h +++ b/sys/sys/mutex.h @@ -34,8 +34,8 @@ #define _SYS_MUTEX_H_ #include -#include #include +#include #ifdef _KERNEL #include From nobody Fri Nov 24 13:02:42 2023 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 4ScFWw3nT2z52DCQ; Fri, 24 Nov 2023 13:02:52 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4ScFWw0V7Pz3QrT; Fri, 24 Nov 2023 13:02:51 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.17.1/8.17.1) with ESMTP id 3AOD2gQu038639; Fri, 24 Nov 2023 15:02:45 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 3AOD2gQu038639 Received: (from kostik@localhost) by tom.home (8.17.1/8.17.1/Submit) id 3AOD2gwM038638; Fri, 24 Nov 2023 15:02:42 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 24 Nov 2023 15:02:42 +0200 From: Konstantin Belousov To: Alexander Leidinger Cc: Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots Message-ID: References: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> 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=us-ascii Content-Disposition: inline In-Reply-To: <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Queue-Id: 4ScFWw0V7Pz3QrT On Fri, Nov 24, 2023 at 08:50:22AM +0100, Alexander Leidinger wrote: > Am 2023-11-23 16:25, schrieb Rick Macklem: > > The branch main has been updated by rmacklem: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=f5f277728adec4c5b3e840a1fb16bd16f8cc956d > > > > commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d > > Author: Rick Macklem > > AuthorDate: 2023-11-23 15:23:33 +0000 > > Commit: Rick Macklem > > CommitDate: 2023-11-23 15:23:33 +0000 > > > > nfsd: Fix NFS access to .zfs/snapshot snapshots > > > > When a process attempts to access a snapshot under > > //.zfs/snapshot, the snapshot is automounted. > > However, without this patch, the automount does not > > set mnt_exjail, which results in the snapshot not being > > accessible over NFS. > > > > This patch defines a new function called vfs_exjail_clone() > > which sets mnt_exjail from another mount point and > > then uses that function to set mnt_exjail in the snapshot > > automount. A separate patch that is currently a pull request > > for OpenZFS, calls this function to fix the problem. > > May the same/similar fix like for ZFS be needed / useful for nullfs mounted > stuff? > > I have a ZFS dataset which is mounted via nullfs into a jail. This > nullfs-mount is then exported via samba. In samba I have the shadow-copy > stuff enabled, but it doesn't work, as the jails can't access the snapshot. Jails cannot access snapshots because, as I understand, snapshots are mounts. Nullfs does not provide an option to recursively bypass into mounts. The patch you responded to does not automatically mounts snapshots on clients, it only allows them to mount if wanted. You might try to set up something with autofs, no idea if it could be made to work usefully. From nobody Fri Nov 24 13:18:08 2023 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 4ScFsj1CsGz52JhX; Fri, 24 Nov 2023 13:18:17 +0000 (UTC) (envelope-from mike@karels.net) Received: from mail2.karels.net (mail2.karels.net [3.19.118.201]) (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 (2048 bits) client-digest SHA256) (Client CN "freebsd", Issuer "freebsd" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ScFsh5sxJz3TKM; Fri, 24 Nov 2023 13:18:16 +0000 (UTC) (envelope-from mike@karels.net) Authentication-Results: mx1.freebsd.org; none Received: from mail2.karels.net (localhost [IPv6:0:0:0:0:0:0:0:1]) by mail2.karels.net (8.17.1/8.17.1) with ESMTP id 3AODI91R097792; Fri, 24 Nov 2023 07:18:09 -0600 (CST) (envelope-from mike@karels.net) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=karels.net; s=mail2; t=1700831890; bh=aTIEwIGvVN+MNPhkX7gv+TRWLs1IOjLbEhhPlcSfrDg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=CNRrba0IZwMe8vzawbcubQvBoOcczgx10ub9CNSO1HdtXp+U1nkmrL8NW/jyHp/Bx ldJj4ZKMR7VsjuzG8pN55JhdBRveJ1mlaZCwFnL1q6vkUL5SuQeEOa2KrB3QpLLWow zO5xO7Vq4r848VcYKTB7FOmEZKXG984vGLPN8g+lDF1j2ZlslcuoWw3e8vlObaZXLz P1cHGy1pYoY6TyNyUx4zsVme4V5FL3O3aIeAxKMYlf8O3QLwbc+UuLd8x4jby3NlyN 1bwNDnAd8t91kz8Y22h7UvbSEpKUSx8FHSNCE/5WWWGeKak5zsxeb6nFGOa4Up/k3H CQuq19KwGpp+Q== Received: from [10.0.2.130] ([73.62.165.147]) by mail2.karels.net with ESMTPSA id KKGONZGiYGX+fQEAs/W3XQ (envelope-from ); Fri, 24 Nov 2023 07:18:09 -0600 From: Mike Karels To: Konstantin Belousov Cc: Alexander Leidinger , Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots Date: Fri, 24 Nov 2023 07:18:08 -0600 X-Mailer: MailMate (1.14r5964) Message-ID: In-Reply-To: References: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> 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 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16509, ipnet:3.16.0.0/14, country:US] X-Rspamd-Queue-Id: 4ScFsh5sxJz3TKM On 24 Nov 2023, at 7:02, Konstantin Belousov wrote: > On Fri, Nov 24, 2023 at 08:50:22AM +0100, Alexander Leidinger wrote: >> Am 2023-11-23 16:25, schrieb Rick Macklem: >>> The branch main has been updated by rmacklem: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Df5f277728adec4c5b3e840= a1fb16bd16f8cc956d >>> >>> commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d >>> Author: Rick Macklem >>> AuthorDate: 2023-11-23 15:23:33 +0000 >>> Commit: Rick Macklem >>> CommitDate: 2023-11-23 15:23:33 +0000 >>> >>> nfsd: Fix NFS access to .zfs/snapshot snapshots >>> >>> When a process attempts to access a snapshot under >>> //.zfs/snapshot, the snapshot is automounted. >>> However, without this patch, the automount does not >>> set mnt_exjail, which results in the snapshot not being >>> accessible over NFS. >>> >>> This patch defines a new function called vfs_exjail_clone() >>> which sets mnt_exjail from another mount point and >>> then uses that function to set mnt_exjail in the snapshot >>> automount. A separate patch that is currently a pull request >>> for OpenZFS, calls this function to fix the problem. >> >> May the same/similar fix like for ZFS be needed / useful for nullfs mo= unted >> stuff? >> >> I have a ZFS dataset which is mounted via nullfs into a jail. This >> nullfs-mount is then exported via samba. In samba I have the shadow-co= py >> stuff enabled, but it doesn't work, as the jails can't access the snap= shot. > > Jails cannot access snapshots because, as I understand, snapshots > are mounts. Nullfs does not provide an option to recursively bypass > into mounts. The patch you responded to does not automatically mounts > snapshots on clients, it only allows them to mount if wanted. It works for me, with main and this change, or 13.2 without a patch. I don't know the mechanics, but it doesn't use nullfs, and the snapshot does not show up as a separate filesystem with the mount command. Mike > You might try to set up something with autofs, no idea if it could be m= ade > to work usefully. From nobody Fri Nov 24 14:10:44 2023 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 4ScH2F1T4Dz52bDn; Fri, 24 Nov 2023 14:10:45 +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 4ScH2F0trvz3fmf; Fri, 24 Nov 2023 14:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835045; 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=HThg+IG7Yf9E1AMdborCdwm//B4eq33YNMZDpHK0Z8M=; b=pXXUgkGE2XioX97o1L67SnronQWG+gpNj+W/BS+qr8QFhMafFJCIVChTeat47D59qgZTGO O83xhjkeK0cWNT77BgW8q2TFojUVInBGsBScrZMgiuOTn/FrnIGXzisYAkaPcjgHJsMEQk +FOL5UFbuZXQUK5A3DjulDpPjPjtUQ1LP2vnttAb0T9GQAaFnRrE/BlMxb0lx97SyxiGM+ rKd1SGXT8NaHK5j7dwYwGH75yUq+O5IHgYLskRZS24yNcd+5b8ZaqlaXklebdcUDX3sbiC 84AZ78PmnztwJakghuFA9bMEp8whUZxbE6r/Ba5+IbBgzqdC0MFHp2tkAmZAoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835045; 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=HThg+IG7Yf9E1AMdborCdwm//B4eq33YNMZDpHK0Z8M=; b=js6pp6IVYuFZa9lkyxAP+9OwSmaQxCsUix1Oe5vs6fap8vk4yEwX7vzRanJb6wc4wJMpCJ ELDGXI919XwgdWHyyn1X0JvboifvEC6riemm6eU/r7s/RftnEZnI7aSfDfYxNQw3Ew8pLf OHzBLXyqSu4wg44VndAyazOcsiAnY1b8raJ5UEacDTkJq74ByH7hjOG5ReQIk+4ivJonGV ylKQ1gBqkB2ADfH2FGLcz88uf/s/HijEmU57Y2RuFmXYnsq+4QEMdTsshy/MrFQYUQm9FR JBw+rakfkHKksvERuWFSfWTDe7rIxf6lQHEOBWrofQ4oyYRBcFnwcT9hEyfazQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835045; a=rsa-sha256; cv=none; b=HWrN2NI9wJuTLaHrAxFmswYi62w++Y2/FvUxdvmPLzkwn0YRU3ecjPWRoQsw2WJqwAyhzC 7keuWyuyavkZdLQfW41F9jQKjhTNHeuBA6mAvczTgkl3GWhWwpDT7BP463TQIIxo368C+O /JFovZEcomO5nPCLGvmh0DAgQLX9JloJb3wJ0wc5IabA3Q7zDTd8iB1u+a4GBSq7uwYvwv 5iLlggm+SifIr37spc39RXrGPjA15ae16AZ7RoSWCJvwpUX7mwcTYy+dZGsH21uxarqwEO wJQ2ZXX3vHwJ4AqG/hYs0bbYBk70Szz/+4B17gA0q6XSptJPKPvcbaLXhVYJrA== 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 4ScH2D75njzp1q; Fri, 24 Nov 2023 14:10:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAiar024763; Fri, 24 Nov 2023 14:10:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAi9Y024760; Fri, 24 Nov 2023 14:10:44 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:44 GMT Message-Id: <202311241410.3AOEAi9Y024760@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 8423bf2a9e60 - stable/14 - libpfctl: handle allocation failure 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8423bf2a9e60a12e5978ed453eb16533247fa25a Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8423bf2a9e60a12e5978ed453eb16533247fa25a commit 8423bf2a9e60a12e5978ed453eb16533247fa25a Author: Kristof Provost AuthorDate: 2023-11-17 09:14:59 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:19:08 +0000 libpfctl: handle allocation failure While it's unlikely for userspace to fail to allocate memory it is still possible. Handle malloc() returning NULL. Reported by: Bill Meeks MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 33d55d0d0f33787e9e2796b5000be73af42573bc) --- lib/libpfctl/libpfctl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 72da534ac1df..1ef96f52c19c 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -71,6 +71,11 @@ pfctl_do_ioctl(int dev, uint cmd, size_t size, nvlist_t **nvl) retry: nv.data = malloc(size); + if (nv.data == NULL) { + ret = ENOMEM; + goto out; + } + memcpy(nv.data, data, nvlen); nv.len = nvlen; @@ -190,6 +195,8 @@ _pfctl_get_status_counters(const nvlist_t *nvl, struct pfctl_status_counter *c; c = malloc(sizeof(*c)); + if (c == NULL) + continue; c->id = ids[i]; c->counter = counts[i]; From nobody Fri Nov 24 14:10:45 2023 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 4ScH2F3TVCz52bH7; Fri, 24 Nov 2023 14:10:45 +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 4ScH2F2drPz3fh2; Fri, 24 Nov 2023 14:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835045; 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=Ag6P2K9M5AMGPI34LfnIr7CCfiK12QEV9cU71bdCmeQ=; b=W2JpSFOuj+mOBdAB2PVjX+5TqA54dXiQ6plxtp2c0/TED72ev9PiV+3z+XQDCB7DR0wktc AK+tMDr3gDkOKMYbYIhnqAVhZh07PUDkUibTxFSOXJqPZMLDMFpXw3EE1vZNv1KRCVh23s rad2bOM5hGigOMoOwni/63eEJ18fLhv+IvJyBu/SZ9ExkVUc+Mqut0M+R5EpimL2TGqpqg oIR244/MZPGamM6kJ3OROPW4uiWRJ3RITCI6NgLGOcWG100c+W2hs7QEKhupVPRZWmC4D/ TSO5TG1W2aVZJKr+GJxdupjSe6JfNng+nMSbNCZ0kmVO7kg5GNAyjAtIqD68NQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835045; 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=Ag6P2K9M5AMGPI34LfnIr7CCfiK12QEV9cU71bdCmeQ=; b=MvF1DJiJBwS/GOEtbRmx4vnrYIzZnCRLT5PxpKnZHBOpifJ8x42v6KIV36TGrzTrkJBfoK ibufUHLWGMvjQTxTiW3uHqlxpUqx3WDJN9kKzzT+RcqAV3T2onwZvnSngRiEyOTWokVkhQ quj5imhXRvOGZFiFaEnTljj8i3UyzO9bD0ldZOi0SN1FVxdPr4Rch2E+CBYhkFl+ZU0r3T r7d35EZ39oHZt4zaUcuCfGnSv8UJoO5KAd184e0oAcuk68Qm90ELd9eBGCFQC1KuZA1B1G C5yviiM4cbNnzR1xtGxvSvpdl82TtZSu6SAr0Ouk56iQqD5bfK3pwdzp0dSEgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835045; a=rsa-sha256; cv=none; b=E7pRPSSXPw+u8SmkbcuysZiFKoHZpGuVmid9LJFjmCXr3j4fQydJzXHms+A1C4KfidyQFU 8VeozLdtgAmC+NAJtRPA6zihtbvNLqnpoYbVRbF8oleeCVuRY87lPJS/RIvOGIpuwYJVsB roPTXFJXuFNqdUC7MvYtK1MYvVFax60hq50Sla9Mw45zxcVq5z4rZvxu00raAhRu3fLtkw MrzwwBT0ObtutOIuPmPkX3zq7EMe9nJQhWrJHvjDN0IOJTKlgprE9Mb3AMisiE33/2usnQ Ye6AVrHDRMKcROh772Y/xypTTz4yzOvDTVGqEq1rB6+oOY1r70umQxenrjd0Yw== 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 4ScH2F1jqwzp1r; Fri, 24 Nov 2023 14:10:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAjXG024861; Fri, 24 Nov 2023 14:10:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAjIM024857; Fri, 24 Nov 2023 14:10:45 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:45 GMT Message-Id: <202311241410.3AOEAjIM024857@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 3b0e5375ca85 - stable/13 - libpfctl: handle allocation failure 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3b0e5375ca85124a1684ae22b9ef5872ea0f5278 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=3b0e5375ca85124a1684ae22b9ef5872ea0f5278 commit 3b0e5375ca85124a1684ae22b9ef5872ea0f5278 Author: Kristof Provost AuthorDate: 2023-11-17 09:14:59 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:19:04 +0000 libpfctl: handle allocation failure While it's unlikely for userspace to fail to allocate memory it is still possible. Handle malloc() returning NULL. Reported by: Bill Meeks MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 33d55d0d0f33787e9e2796b5000be73af42573bc) --- lib/libpfctl/libpfctl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 7fc22734994b..e5675f2a232b 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -71,6 +71,11 @@ pfctl_do_ioctl(int dev, uint cmd, size_t size, nvlist_t **nvl) retry: nv.data = malloc(size); + if (nv.data == NULL) { + ret = ENOMEM; + goto out; + } + memcpy(nv.data, data, nvlen); nv.len = nvlen; @@ -190,6 +195,8 @@ _pfctl_get_status_counters(const nvlist_t *nvl, struct pfctl_status_counter *c; c = malloc(sizeof(*c)); + if (c == NULL) + continue; c->id = ids[i]; c->counter = counts[i]; From nobody Fri Nov 24 14:10:46 2023 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 4ScH2G2g58z52b1h; Fri, 24 Nov 2023 14:10:46 +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 4ScH2G1xbPz3fw9; Fri, 24 Nov 2023 14:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835046; 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=yUWAjA+FBf/aX/Zk75IxO4dzFqQkwcro09T4QpmMJoQ=; b=ZTV4QIeU3YkM0qVOvc7gAtvvlvLoFh67PkwNb7fA/ol+qjqUcdKC2xWZXOHbOhc7aLwqcy piauAQn3PQmfWQaij+SQjEYUnWd1y13NLmcKWFk4eHK2LgyNwz+rPlGvWej8VeLOuO/5AE mYyh0BuZMDNP32QqpMfWtO99VDiyDrJ7d4mtitGklLzl2k8RD8MzWs70YbWZrDm108Pm3d TCw4g5k6OrQi9PHAnW1c5p8h+z35AKxlFZWPTELHu+BY3Bg7N1OhB8UWtBTxCSFMGqgsdt 8X/shZYEwfphA6Ya0a227gfTL9ojSFAVjJFRPQrg+KB6keVZrPxws0tHmvCQUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835046; 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=yUWAjA+FBf/aX/Zk75IxO4dzFqQkwcro09T4QpmMJoQ=; b=TAvb6+wdblh68hU3Pn0CbJhpkkjPOzn11ehgHC8lQAebeYvQPQO6H+wQO1kOx0jyTfsf2/ cgvpOg9uFx2eQbg2d5mh2PXEQuRJ3PSKkHndP5TQyoCmTvaBgxvKWJnD+/VZyvn9k+0NXN 10NG33GtHM2HUoBCNqIJVxpppOyYd6j9FHoR3VpK+kgsEuCMTKS2+XMj/CHCkYa5j2mdEJ SPWc5jnCC7ZEcHMkBPytD8koUMdqvk2BpVLGhfq6wN+6z86VcKwtdqVYvDJaVeIhxU4zWf BlE9ykGFdw25PFi0Tc3JpD+QY4Gi7lWZi85BXuJchsS8nZqobysfXHiGbLsuiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835046; a=rsa-sha256; cv=none; b=R9n6RcbCIeq//vlam2FCRnRg9AWSaBZARnhUvtWKiBIJqxZ50nEIy51ZOg3HHgowY5sgk7 e6DRCgokIox5v+6/a3UxDVe9RVET7CfqC5Ju+qbcwq+ho0TGAIhAWew2bdfaZBKKugMXE7 tqIOl7Vli6MDSE3oULcqHMogGghUU5q9lNzOo7i+cc0xJIxwatBgUiIF8NrmBuJ93wxfwL j0Bc5YcIzxVSfiEekKJzurqEIUIyAWmRK83OL/EXtDROpEGuXH/RLMQnlem6Y+yrzboyVc wreRy8fbXke2SErPR6JprXRgrWMMa0nDwy5QU6g/RrenL38rO18lsTIkGr1P3g== 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 4ScH2G0zCdznk5; Fri, 24 Nov 2023 14:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAkT8024907; Fri, 24 Nov 2023 14:10:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAkLr024904; Fri, 24 Nov 2023 14:10:46 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:46 GMT Message-Id: <202311241410.3AOEAkLr024904@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 68013761ce74 - stable/14 - libpfctl: handle pfctl_do_ioctl() failures better 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 68013761ce7403bce5ab842885eceade23488796 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=68013761ce7403bce5ab842885eceade23488796 commit 68013761ce7403bce5ab842885eceade23488796 Author: Kristof Provost AuthorDate: 2023-11-17 09:19:38 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:19:13 +0000 libpfctl: handle pfctl_do_ioctl() failures better Ensure that we free nvlists and other allocations if pfctl_do_ioctl() fails. MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 498934c5ff51e6b0d3199db5d27ed11b1e8b9582) --- lib/libpfctl/libpfctl.c | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 1ef96f52c19c..f43fb78d9a0f 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -221,6 +221,7 @@ pfctl_get_status(int dev) nvl = nvlist_create(0); if (pfctl_do_ioctl(dev, DIOCGETSTATUSNV, 4096, &nvl)) { + nvlist_destroy(nvl); free(status); return (NULL); } @@ -741,12 +742,13 @@ pfctl_get_eth_rulesets_info(int dev, struct pfctl_eth_rulesets_info *ri, nvlist_add_string(nvl, "path", path); if ((ret = pfctl_do_ioctl(dev, DIOCGETETHRULESETS, 256, &nvl)) != 0) - return (ret); + goto out; ri->nr = nvlist_get_number(nvl, "nr"); +out: nvlist_destroy(nvl); - return (0); + return (ret); } int @@ -763,16 +765,16 @@ pfctl_get_eth_ruleset(int dev, const char *path, int nr, nvlist_add_number(nvl, "nr", nr); if ((ret = pfctl_do_ioctl(dev, DIOCGETETHRULESET, 1024, &nvl)) != 0) - return (ret); + goto out; ri->nr = nvlist_get_number(nvl, "nr"); strlcpy(ri->path, nvlist_get_string(nvl, "path"), MAXPATHLEN); strlcpy(ri->name, nvlist_get_string(nvl, "name"), PF_ANCHOR_NAME_SIZE); +out: nvlist_destroy(nvl); - - return (0); + return (ret); } int @@ -788,13 +790,14 @@ pfctl_get_eth_rules_info(int dev, struct pfctl_eth_rules_info *rules, nvlist_add_string(nvl, "anchor", path); if ((ret = pfctl_do_ioctl(dev, DIOCGETETHRULES, 1024, &nvl)) != 0) - return (ret); + goto out; rules->nr = nvlist_get_number(nvl, "nr"); rules->ticket = nvlist_get_number(nvl, "ticket"); +out: nvlist_destroy(nvl); - return (0); + return (ret); } int @@ -813,7 +816,7 @@ pfctl_get_eth_rule(int dev, uint32_t nr, uint32_t ticket, nvlist_add_bool(nvl, "clear", clear); if ((ret = pfctl_do_ioctl(dev, DIOCGETETHRULE, 4096, &nvl)) != 0) - return (ret); + goto out; pfctl_nveth_rule_to_eth_rule(nvl, rule); @@ -821,8 +824,9 @@ pfctl_get_eth_rule(int dev, uint32_t nr, uint32_t ticket, strlcpy(anchor_call, nvlist_get_string(nvl, "anchor_call"), MAXPATHLEN); +out: nvlist_destroy(nvl); - return (0); + return (ret); } int @@ -1079,7 +1083,7 @@ int pfctl_get_clear_rule(int dev, uint32_t nr, uint32_t ticket, nvlist_add_bool(nvl, "clear_counter", true); if ((ret = pfctl_do_ioctl(dev, DIOCGETRULENV, 8192, &nvl)) != 0) - return (ret); + goto out; pf_nvrule_to_rule(nvlist_get_nvlist(nvl, "rule"), rule); @@ -1087,9 +1091,9 @@ int pfctl_get_clear_rule(int dev, uint32_t nr, uint32_t ticket, strlcpy(anchor_call, nvlist_get_string(nvl, "anchor_call"), MAXPATHLEN); +out: nvlist_destroy(nvl); - - return (0); + return (ret); } int @@ -1284,13 +1288,13 @@ _pfctl_clear_states(int dev, const struct pfctl_kill *kill, nvlist_add_bool(nvl, "kill_match", kill->kill_match); if ((ret = pfctl_do_ioctl(dev, ioctlval, 1024, &nvl)) != 0) - return (ret); + goto out; if (killed) *killed = nvlist_get_number(nvl, "killed"); +out: nvlist_destroy(nvl); - return (ret); } @@ -1466,8 +1470,10 @@ pfctl_get_syncookies(int dev, struct pfctl_syncookies *s) nvl = nvlist_create(0); - if ((ret = pfctl_do_ioctl(dev, DIOCGETSYNCOOKIES, 256, &nvl)) != 0) - return (errno); + if ((ret = pfctl_do_ioctl(dev, DIOCGETSYNCOOKIES, 256, &nvl)) != 0) { + ret = errno; + goto out; + } enabled = nvlist_get_bool(nvl, "enabled"); adaptive = nvlist_get_bool(nvl, "adaptive"); @@ -1485,9 +1491,9 @@ pfctl_get_syncookies(int dev, struct pfctl_syncookies *s) s->lowwater = nvlist_get_number(nvl, "lowwater") * 100 / state_limit; s->halfopen_states = nvlist_get_number(nvl, "halfopen_states"); +out: nvlist_destroy(nvl); - - return (0); + return (ret); } int From nobody Fri Nov 24 14:10:46 2023 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 4ScH2G4bNzz52b1j; Fri, 24 Nov 2023 14:10:46 +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 4ScH2G3ff0z3ffR; Fri, 24 Nov 2023 14:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835046; 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=MeQqgSrQpuJyxW6HY4AiOB6quG2gImi6xESWmQBeyk4=; b=WiR6TdRquy7zO0umRX673y2BW113fvSHzxAYG7FqLD4FXfpTL+QLU+38lGxvVLvNrR5OwO v1EMnSfPMSwAm4U+VvIG0Yg9soDKCqF4dQpJDWm92kx3jtwLYds3hcXD5/4vqaIjJKSGj1 /O7WIzWee2pUpj2EEF9thEyXpvf3X2dn3IB8Pn3lrUIiyXVzBQRPp48Cb1DtUydBOFkugh b1mTkc9rnjOl1jdy/V4FKWwgsckT8jBLmPwBMu+huYULgVkTRbw+TR+2cg9Rw321WOY4IG +R5tn3CPxdaZocPG4mJlfI5d/qwTTRyZhH56Mih133AB0ODogiLlvbFGB7Xb7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835046; 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=MeQqgSrQpuJyxW6HY4AiOB6quG2gImi6xESWmQBeyk4=; b=ubH772EKr5Q5tEEidkLdFsOTPYtvY7EtDlzYjvlW7ZNt1xmdNu5i93Y4nMJDUQD2Ka4wLi ds+4/UfAHXXLjUAkXMvipbWbFi+CPFdiCko4jFrbISoHEGmtqep5uaBNu+omQu/aWNchfu R+W1/5epC6YW/dAXgm/QzkAnx3gDFdP4o9iUk16a7GHG+TdMJE2ezvS2/XGy5V28cAh4Ys fuUUH2/I6rIqlgvThgn0TVjCPYMFuVgt5n2eISP28WBN2RoIn0w+hvh/W3pchido61e+Lq hFHFN14nPJai9ASeZBxybrlXfoaZDp8O9mt268jkUwcp9GMrzP05JMPsfW3uzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835046; a=rsa-sha256; cv=none; b=JL1UIWsTwPgxhQZ/fG1deUbXDSMfTRPOXkxPU9++9eXVCCVEuzOJC6C+B2/UQtc3QbZtGT VG0BOahkePcASjOTdC8ZhMLnw5wnAGhDSXY3m+KjKX6vgziimWQTEH2C/vS92aydWpjm1o RCfujIB5yfnsAW49aWuheVW3oNv6sa4H2eZ/j2dsV7xhF2wLulxHQWGQRGYESAlovFO/L5 B7lVzt5kueV1Trm8MP81/rGAck1J1tWxJclCzLu/vPUApsbjGyaHqnrtq2X752jMZEfWX6 U0CYiT8SkWA53TX2D7iFF8fql66ScebUxfaZ+fjNStVhSzrmZQQyQpywrKkIGg== 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 4ScH2G2hpYznk6; Fri, 24 Nov 2023 14:10:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAkcr024949; Fri, 24 Nov 2023 14:10:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAkWI024946; Fri, 24 Nov 2023 14:10:46 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:46 GMT Message-Id: <202311241410.3AOEAkWI024946@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: df4feb98df2a - stable/13 - libpfctl: handle pfctl_do_ioctl() failures better 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: df4feb98df2a2887c05798d9f8752953777d1564 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=df4feb98df2a2887c05798d9f8752953777d1564 commit df4feb98df2a2887c05798d9f8752953777d1564 Author: Kristof Provost AuthorDate: 2023-11-17 09:19:38 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:19:39 +0000 libpfctl: handle pfctl_do_ioctl() failures better Ensure that we free nvlists and other allocations if pfctl_do_ioctl() fails. MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit 498934c5ff51e6b0d3199db5d27ed11b1e8b9582) --- lib/libpfctl/libpfctl.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index e5675f2a232b..be45746368de 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -221,6 +221,7 @@ pfctl_get_status(int dev) nvl = nvlist_create(0); if (pfctl_do_ioctl(dev, DIOCGETSTATUSNV, 4096, &nvl)) { + nvlist_destroy(nvl); free(status); return (NULL); } @@ -792,7 +793,7 @@ int pfctl_get_clear_rule(int dev, uint32_t nr, uint32_t ticket, nvlist_add_bool(nvl, "clear_counter", true); if ((ret = pfctl_do_ioctl(dev, DIOCGETRULENV, 8192, &nvl)) != 0) - return (ret); + goto out; pf_nvrule_to_rule(nvlist_get_nvlist(nvl, "rule"), rule); @@ -800,9 +801,9 @@ int pfctl_get_clear_rule(int dev, uint32_t nr, uint32_t ticket, strlcpy(anchor_call, nvlist_get_string(nvl, "anchor_call"), MAXPATHLEN); +out: nvlist_destroy(nvl); - - return (0); + return (ret); } int @@ -985,13 +986,13 @@ _pfctl_clear_states(int dev, const struct pfctl_kill *kill, nvlist_add_bool(nvl, "kill_match", kill->kill_match); if ((ret = pfctl_do_ioctl(dev, ioctlval, 1024, &nvl)) != 0) - return (ret); + goto out; if (killed) *killed = nvlist_get_number(nvl, "killed"); +out: nvlist_destroy(nvl); - return (ret); } @@ -1135,8 +1136,10 @@ pfctl_get_syncookies(int dev, struct pfctl_syncookies *s) nvl = nvlist_create(0); - if ((ret = pfctl_do_ioctl(dev, DIOCGETSYNCOOKIES, 256, &nvl)) != 0) - return (errno); + if ((ret = pfctl_do_ioctl(dev, DIOCGETSYNCOOKIES, 256, &nvl)) != 0) { + ret = errno; + goto out; + } enabled = nvlist_get_bool(nvl, "enabled"); adaptive = nvlist_get_bool(nvl, "adaptive"); @@ -1154,9 +1157,9 @@ pfctl_get_syncookies(int dev, struct pfctl_syncookies *s) s->lowwater = nvlist_get_number(nvl, "lowwater") * 100 / state_limit; s->halfopen_states = nvlist_get_number(nvl, "halfopen_states"); +out: nvlist_destroy(nvl); - - return (0); + return (ret); } int From nobody Fri Nov 24 14:10:47 2023 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 4ScH2H6hjPz52b1n; Fri, 24 Nov 2023 14:10:47 +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 4ScH2H2wKXz3ffv; Fri, 24 Nov 2023 14:10:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835047; 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=V3aMsUMjAeOGEAmA0vctcDyQzTeBRrZ1w6fMMLxaXgQ=; b=cWYmfC5p8abcP3CyezivNuEhnwTf83Faivbb9c66IABtgua3m2V6rQdW6UQVLFqB1CQeUE 2WGpSHVu52+m0fLMfkKDPHcNJEYOosdQPe1l2FdY+CELqQpehQvQJ02iDedu1ZKFmu7SvK W1Z9hjfbjVA7qRC6IaemF0hwMb3wxnW+oBtocoxMZZIv3NpBpCVJOkDm60aq27wFz0N13c Qr3muLPrDOm5lFXnoNOv2aqe44rDCU5KQEb6/jgVYiKRzBdK2cnUm5ls1shjems0/jM20Y 2jh7qTZpoKnBCOhS9f9gGMto28uu7KSlIM7ajWmtp8vvvOaIvz4UmKmYDf1uQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835047; 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=V3aMsUMjAeOGEAmA0vctcDyQzTeBRrZ1w6fMMLxaXgQ=; b=o87V0pyoJ6mIuSgXCJdNuDAl3iTxg+TqevSKvO+4VSV2vmzb3hg9NXovLdXnCia8RwIJcl brlhBaTAyAGpzpwJTsM5Fyd7a4HQYXmvC/RxhSiYLZZkWZOi6g+TAYijvAnqabwNXqRB/M L03OW2w0vPbWTT7I0pwf9g3j+51KLfLpvpccwfwPamvdBSspM9fXy/tNXEpM0QMEmZRlV7 2ODw+aKkZoprjQV7gu67lt8p+aTJhvCsiwl4s22lhzJ7E9zRrFgte86pAALrOXFF3GHrgQ BMYm1MY4wjO5mGk6HLQZwcsDM7CFawB7fzPe8xNjSZzNNEpIPn4qjZBohAio2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835047; a=rsa-sha256; cv=none; b=BJ2iw8ojCojzl5eiP74+aXUdMka0Ie6dkSM1IJ25oHTyogP6rMPh+ZYKGDZpG2P6mRU8vk rkGWTC5Og9jHlAZ2WUpvlDvGw0+LpFZorV0CdOJ9bL0MEPTVEJQ5fBscHUfr1soXINOGN1 YxD25kt4jb+3hCKl5QnrkfcujOjy6nM01gl0+SUol21TTHpOeaIUf8xrdyDDSODDpTCWTo SVhwZZVE8+/ZQZYwpj4FwuKC17cFfVZ7ylf1f3v9FaaQrZmbw6hU0WLTQ0Dn18VmUQUXU0 YiP86zEafy7uS/a46XIZxhsI8kPFULFbAB/RweYc5ZqREcbkOtiVF8KbXFrscA== 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 4ScH2H20hvznsb; Fri, 24 Nov 2023 14:10:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAlpv024999; Fri, 24 Nov 2023 14:10:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAlXb024996; Fri, 24 Nov 2023 14:10:47 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:47 GMT Message-Id: <202311241410.3AOEAlXb024996@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 38663ae5ccc2 - stable/14 - pf: always create multihomed states as floating 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 38663ae5ccc2b83677356306279dec294459614c Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=38663ae5ccc2b83677356306279dec294459614c commit 38663ae5ccc2b83677356306279dec294459614c Author: Kristof Provost AuthorDate: 2023-11-16 16:06:29 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:19:55 +0000 pf: always create multihomed states as floating When we create a new state for multihomed sctp connections (i.e. based on INIT/INIT_ACK or ASCONF parameters) we cannot know what interfaces we'll be seeing that traffic on. Make those states floating, irrespective of state policy. MFC after: 1 week Sponsored by: Orange Business Services (cherry picked from commit 0fe663b2a815dcb41431543940ec51408f418392) --- sys/netpfil/pf/pf.c | 8 ++++++-- tests/sys/netpfil/pf/sctp.py | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 9cb5fe03b5c2..a9870ebe166b 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6131,8 +6131,12 @@ again: j->pd.sctp_flags |= PFDESC_SCTP_ADD_IP; PF_RULES_RLOCK(); sm = NULL; - /* XXX: May generated unwanted abort if we try to insert a duplicate state. */ - ret = pf_test_rule(&r, &sm, kif, + /* + * New connections need to be floating, because + * we cannot know what interfaces it will use. + * That's why we pass V_pfi_all rather than kif. + */ + ret = pf_test_rule(&r, &sm, V_pfi_all, j->m, off, &j->pd, &ra, &rs, NULL); PF_RULES_RUNLOCK(); SDT_PROBE4(pf, sctp, multihome, test, kif, r, j->m, ret); diff --git a/tests/sys/netpfil/pf/sctp.py b/tests/sys/netpfil/pf/sctp.py index 5db52dd993f2..6042badffb64 100644 --- a/tests/sys/netpfil/pf/sctp.py +++ b/tests/sys/netpfil/pf/sctp.py @@ -372,6 +372,7 @@ class TestSCTP(VnetTestTemplate): ToolsHelper.print_output("/sbin/pfctl -e") ToolsHelper.pf_rules([ + "set state-policy if-bound", "block proto sctp", "pass inet proto sctp to 192.0.2.0/24"]) @@ -386,9 +387,9 @@ class TestSCTP(VnetTestTemplate): # Check that we have a state for 192.0.2.3 and 192.0.2.2 to 192.0.2.1, but also to 192.0.2.4 states = ToolsHelper.get_output("/sbin/pfctl -ss") print(states) - assert re.search(r"all sctp 192.0.2.1:.*192.0.2.3:1234", states) + assert re.search(r".*sctp 192.0.2.1:.*192.0.2.3:1234", states) assert re.search(r"all sctp 192.0.2.1:.*192.0.2.2:1234", states) - assert re.search(r"all sctp 192.0.2.4:.*192.0.2.3:1234", states) + assert re.search(r".*sctp 192.0.2.4:.*192.0.2.3:1234", states) assert re.search(r"all sctp 192.0.2.4:.*192.0.2.2:1234", states) class TestSCTPv6(VnetTestTemplate): From nobody Fri Nov 24 14:10:47 2023 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 4ScH2J11SCz52bW0; Fri, 24 Nov 2023 14:10:48 +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 4ScH2H4h6Jz3fqy; Fri, 24 Nov 2023 14:10:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835047; 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=gc7i84h1OzOtPUbFAZEXbbVW5vtS7O8Nu0OAf5cSfhs=; b=a0s41VQMA182WAqFSG+kNkox13RXXJggYAKMdiQrhNHXF1pcL2YYydyK/0x1YE6wa4OoO9 e2X2ksaSWZzob4zbrTsBHzW06MS3xTwCxE903BCXw1H+XjwzjdExaIDIiLfq0d0yV1mAqJ q+xTMbxABWL2Yyhn1DMZ0ol2mGlcSB7xZgxXSpE8B/82PaWHOE1E+mEqbT6CbSk0/VWLFJ 5l882XkNFgZdcrLc4UkTi0Hl9l4QhheI4LlzGJXXLE7hGL5U1qZklcHeslYq/sU6hObgDI g+gJLseFSwltG5KBmgYagh2CQmSFSFkZu/ruP63Kc7dGW2X5ePgVl7LZH6ZMyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835047; 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=gc7i84h1OzOtPUbFAZEXbbVW5vtS7O8Nu0OAf5cSfhs=; b=jIOYPnVDNMfFK0rOJ+7zztPcNaSjysgz+Z2K/1Eqb8JySRSsZccT/j+hZA5QZ8sFMS4uEK IEFfOWAmxCWmaWuTl9YRq5apjscoN0wtXheM3ekefAwOi65UWWTRgHupTnESTXTMu5qXgN 74yDQKa1cml0LOQNj6WV0CswNBBpisKnlYpC2dcU9rPlDIlimuLEzvtUrQZqC8MS3Do99d m5LS8TUzLjlx/wbfYwef0u/FQNkD2oMK1YluxBjuK+n6pUJzKaZgYCcPMrQf3qcKgMWP72 OQ/W2JXmMeMm8Uv6gUP4X2eIxi/HOrva4pSroMFHqqxXQL/kv42X3yPA/oIlKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835047; a=rsa-sha256; cv=none; b=Kf1J7tU3qEpq/OFAU6paIQjqIq3ppxnoJCjlcQtE7F/oconlGWLCOTX58FrS/v2Iwrqnbb FablYssAbD2x8ZcZg2XiZi+xGbWvaki1LSB/2KlVQ2OxmUG+DkBmxXjAKCoaBZtnWwt5WZ WNvttxPUGelKDJVRIKIBfv7EhlyGeUrCB+EtBaxykmKUT2qRW2jrGsIf9Lm9Pv9UvSoImx Lp5UoBXCNeYTZX3AguIUWOiZy8UTPUh/oJ9KjA8RwKpWguOQvR2mLINy34LUEygqorZCZz QhkmJYkEcgQ+KpyRNVfhXlxYkmY6DWYx6EcRNnhG/SOCkPqeS2x78wFw+1C2wg== 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 4ScH2H3m0Pznsc; Fri, 24 Nov 2023 14:10:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAlMH025047; Fri, 24 Nov 2023 14:10:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAl11025044; Fri, 24 Nov 2023 14:10:47 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:47 GMT Message-Id: <202311241410.3AOEAl11025044@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 147f278d7d4b - stable/13 - pf: always create multihomed states as floating 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 147f278d7d4b0e9550d6a8e47082251c6ce7d136 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=147f278d7d4b0e9550d6a8e47082251c6ce7d136 commit 147f278d7d4b0e9550d6a8e47082251c6ce7d136 Author: Kristof Provost AuthorDate: 2023-11-16 16:06:29 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:20:22 +0000 pf: always create multihomed states as floating When we create a new state for multihomed sctp connections (i.e. based on INIT/INIT_ACK or ASCONF parameters) we cannot know what interfaces we'll be seeing that traffic on. Make those states floating, irrespective of state policy. MFC after: 1 week Sponsored by: Orange Business Services (cherry picked from commit 0fe663b2a815dcb41431543940ec51408f418392) --- sys/netpfil/pf/pf.c | 8 ++++++-- tests/sys/netpfil/pf/sctp.py | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 1323a1003af8..84ff1fea7731 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5540,8 +5540,12 @@ again: j->pd.sctp_flags |= PFDESC_SCTP_ADD_IP; PF_RULES_RLOCK(); sm = NULL; - /* XXX: May generated unwanted abort if we try to insert a duplicate state. */ - ret = pf_test_rule(&r, &sm, pd->dir, kif, + /* + * New connections need to be floating, because + * we cannot know what interfaces it will use. + * That's why we pass V_pfi_all rather than kif. + */ + ret = pf_test_rule(&r, &sm, pd->dir, V_pfi_all, j->m, off, &j->pd, &ra, &rs, NULL); PF_RULES_RUNLOCK(); SDT_PROBE4(pf, sctp, multihome, test, kif, r, j->m, ret); diff --git a/tests/sys/netpfil/pf/sctp.py b/tests/sys/netpfil/pf/sctp.py index 5db52dd993f2..6042badffb64 100644 --- a/tests/sys/netpfil/pf/sctp.py +++ b/tests/sys/netpfil/pf/sctp.py @@ -372,6 +372,7 @@ class TestSCTP(VnetTestTemplate): ToolsHelper.print_output("/sbin/pfctl -e") ToolsHelper.pf_rules([ + "set state-policy if-bound", "block proto sctp", "pass inet proto sctp to 192.0.2.0/24"]) @@ -386,9 +387,9 @@ class TestSCTP(VnetTestTemplate): # Check that we have a state for 192.0.2.3 and 192.0.2.2 to 192.0.2.1, but also to 192.0.2.4 states = ToolsHelper.get_output("/sbin/pfctl -ss") print(states) - assert re.search(r"all sctp 192.0.2.1:.*192.0.2.3:1234", states) + assert re.search(r".*sctp 192.0.2.1:.*192.0.2.3:1234", states) assert re.search(r"all sctp 192.0.2.1:.*192.0.2.2:1234", states) - assert re.search(r"all sctp 192.0.2.4:.*192.0.2.3:1234", states) + assert re.search(r".*sctp 192.0.2.4:.*192.0.2.3:1234", states) assert re.search(r"all sctp 192.0.2.4:.*192.0.2.2:1234", states) class TestSCTPv6(VnetTestTemplate): From nobody Fri Nov 24 14:10:48 2023 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 4ScH2J6bMhz52bTf; Fri, 24 Nov 2023 14:10:48 +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 4ScH2J3xR4z3fnb; Fri, 24 Nov 2023 14:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835048; 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=ZNTjTv7z9lNHKoxQe4xGKCiALyYx7owl/PHCudpol+I=; b=qlvWC2rECwkoDAdlGwrste+oeqtSP0EmVjdExC39VI3yDJcgimaZYwZ2s/oZfv6lIUlny3 lcQ1+lKZivFJ5iKs6ZCALABqFeZHYQRRsy5OK9M2H/wlplg2skzsyy+z/u2WArbaWoFX58 V4plQHFspz++k/rKEF7h7kScoLJm6eXXFvwCILQCrOXkUUbkP8PI31T9hHqhxqycQsquMa 0q2iZ13RxwYaYqv8tYxUNpVr0wIs29GJvCQfj5DAOp5TqwYBUmjHDMT2vbTDfWTZ7WGkTn 3VT1dyFMioceM6hCF7s63jGxK2x35tlNYtoKig5MKIg/10BG4V8XA6MxdSC7ag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835048; 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=ZNTjTv7z9lNHKoxQe4xGKCiALyYx7owl/PHCudpol+I=; b=fdivcDgas3KYOgk9ij4oQybPK3/Q/CvhjoCcZk04fJDbBj2Rg72hxr9s0qa925EAP6k3Wi fAyqjHfPlazs8GsaTRHPgd568M+iyXtXJ+QVcyWVEcdY7JvJw/ZnV4lK+J1Lo755ZBrzUq F2amtJvyXbuQlJUpJZcm/vTFCBz6yLwGsZWHiCduQID750VDwpfb82FaUMxn2rrqvhWkHV 5zmr9bp+xRTiqCLHDeEUobqzyzcti7woXt/W9Oq9fDQlkNABx0vvujQQZL5PG4LEOCh+fU J7ZyYKhpfK/bxS8eycTB9VHnHzjYuMhJaQ17X/NLlAQGMmlbPtxHTn+tRHcB/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835048; a=rsa-sha256; cv=none; b=YiIhHVciscnT6bSJ1wyvYo/dreyt+SoIE5+zowYwxZrBUEUGGv8FJjyg8y1+JzKUXFrR0r uwcmzHTsL2MPZK8tbu8+sicI78HXx+g0wwCor1JRr7bybgOpIure/wOVJkxOTQJs+cRaoo atbCFm7Hp9Q7IcilGsdQHtFml3KygFZRyR/uizSwI4JYF9rs6W0hFD/DZ/hjKdHygCIo/e O3CkHLriTmunmrZBHEsWcojMhJrsn5dJli8HJ43cgVZ905uds+wzXX4k5cpA7hTFN3n0Y3 i/fcTyRq1I1F9URxhX3mFkx2bl7hkojYdqdPvhhkFxOgCEsWpy3GLEe6g5lxgg== 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 4ScH2J32f2znY0; Fri, 24 Nov 2023 14:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAmYe025100; Fri, 24 Nov 2023 14:10:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAmSJ025097; Fri, 24 Nov 2023 14:10:48 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:48 GMT Message-Id: <202311241410.3AOEAmSJ025097@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 4b25aa8d20ba - stable/14 - pf: skip urpf check for sctp multihomed states 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4b25aa8d20ba22dea992d7893ac074d5d54ac807 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4b25aa8d20ba22dea992d7893ac074d5d54ac807 commit 4b25aa8d20ba22dea992d7893ac074d5d54ac807 Author: Kristof Provost AuthorDate: 2023-11-16 19:55:02 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:20:32 +0000 pf: skip urpf check for sctp multihomed states When we create a new state for multihomed sctp connections (i.e. based on INIT/INIT_ACK or ASCONF parameters) we cannot know what interfaces we'll be seeing that traffic on. These states are floating states, i.e. on "all" interfaces. We cannot do reverse path filtering for these states, so do not do so. MFC after: 1 week Sponsored by: Orange Business Services (cherry picked from commit a8dbbeb1c71b6f302818b8e041a2b50486b90180) --- sys/netpfil/pf/pf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index a9870ebe166b..082987d34b07 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7160,6 +7160,9 @@ pf_routable(struct pf_addr *addr, sa_family_t af, struct pfi_kkif *kif, if (af != AF_INET && af != AF_INET6) return (0); + if (kif == V_pfi_all) + return (1); + /* Skip checks for ipsec interfaces */ if (kif != NULL && kif->pfik_ifp->if_type == IFT_ENC) return (1); From nobody Fri Nov 24 14:10:48 2023 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 4ScH2K3Lpsz52bKS; Fri, 24 Nov 2023 14:10:49 +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 4ScH2J5JCwz3fj8; Fri, 24 Nov 2023 14:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835048; 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=/+CUX2pFcSJnmAwVGi6hgDC6sTfO2Mhs3j1H9fugWro=; b=k5fDqLIM7ZgHkMngwIGtAPQTu1ep5X5uWmn5o1ytKHFOH4V7sW9IqNa3gcNbOvDm6RPANP tEmnQYc4BEFBrPr9/2SC3NZBVVy4tvbJrU1i5WBWQyQAwgrFnp9jtKzH4uhggIkk22w+YQ Uplnq1oUre+DnaNVCQEGuVn2rjltTa5aiyL9lrLDqJ83v6fYuqjLCbw5/41LqPvE9kDzQS 62Y85khS0ktU7Rlb79pYkz6xGBPs9rK73whlZIvbLKIcm4lt5/Ze4mpQ5s/neq0rhUE8ku cVdbxvfsJr03cyK2ZMNRA/b3uy5pyruqJYvMQgR0juGLK2xSIKdnF1CmmAd44Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835048; 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=/+CUX2pFcSJnmAwVGi6hgDC6sTfO2Mhs3j1H9fugWro=; b=BZ1yWnyFrt3yc+6E/KVdsXv1wv+Med+dcBncGbzqIX+o40/oTJ1v6rBuuRiN6nHo5au42L jPy7szW7IJtxX5RO8lxPQYQjdn9UiwkzCU/T3uiDOZgwy2VF9nvV0K/UcemYFZvZSIwiBn RmtYZw6T/hHdV24MMLKlKzlkbKItaFHGuLuS1ZLqtGEKv37zx+89Ub01CH0Owb9X/5Z7Uo M2AHP0mEb9yOp9/yKfVl8Auj2PCKS6UVuD6rZuHR5ohEq4i7DQERpvQIDRLDwJPnjG//an pHhSp/ihFNeAWBZDqEXA1y6gAmk0Tq2DcXvMAhgZVBMqfxttVrWRkLeiCOV2Kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835048; a=rsa-sha256; cv=none; b=Rkqxh5AbmqMgltASNASjdE8SAdjPo/eEGpP4NkeoC3pHHg19osyHyQM7qWMxS6sVtbB6f0 B9GD3dajrQz7/FMmI/7QOHF2eaKirgMIRGWd7RIzYZp1R4oLKQ+7n59KhUqYJYrY4RKdTp Ra++kEKEg8xxocmM+n2/sFxK0CnczhyyAdEPm3W6T3n2kfCRmabh2ffFSNcD2nrGw55fpl rOUepbyRBTK1c2pq+DQthZQl3/73cBFJsLeWGQueRLUozKRyze2Old7Y7FrGCXw+v3ruxr iDI/gQjH9bwfPbAqEvdvoKKZ6zZ42z4+eJHE5UYn1R+hLHQ3Im6CoGaotklQ5Q== 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 4ScH2J4NtBzp1F; Fri, 24 Nov 2023 14:10:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAmNH025151; Fri, 24 Nov 2023 14:10:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAm56025148; Fri, 24 Nov 2023 14:10:48 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:48 GMT Message-Id: <202311241410.3AOEAm56025148@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: a0fb8e16fe3d - stable/13 - pf: skip urpf check for sctp multihomed states 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a0fb8e16fe3d43445c1ac312ddcf38ceb50f23d1 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=a0fb8e16fe3d43445c1ac312ddcf38ceb50f23d1 commit a0fb8e16fe3d43445c1ac312ddcf38ceb50f23d1 Author: Kristof Provost AuthorDate: 2023-11-16 19:55:02 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:20:36 +0000 pf: skip urpf check for sctp multihomed states When we create a new state for multihomed sctp connections (i.e. based on INIT/INIT_ACK or ASCONF parameters) we cannot know what interfaces we'll be seeing that traffic on. These states are floating states, i.e. on "all" interfaces. We cannot do reverse path filtering for these states, so do not do so. MFC after: 1 week Sponsored by: Orange Business Services (cherry picked from commit a8dbbeb1c71b6f302818b8e041a2b50486b90180) --- sys/netpfil/pf/pf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 84ff1fea7731..278c1db118cf 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6570,6 +6570,9 @@ pf_routable(struct pf_addr *addr, sa_family_t af, struct pfi_kkif *kif, if (af != AF_INET && af != AF_INET6) return (0); + if (kif == V_pfi_all) + return (1); + /* Skip checks for ipsec interfaces */ if (kif != NULL && kif->pfik_ifp->if_type == IFT_ENC) return (1); From nobody Fri Nov 24 14:10:49 2023 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 4ScH2K639Jz52bBy; Fri, 24 Nov 2023 14:10:49 +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 4ScH2K549xz3ftn; Fri, 24 Nov 2023 14:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835049; 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=Lj90uDqOgwfvR6MbCkApE21M2Xm7fxrF32lkZ88+Er8=; b=N7z58UmPFU0r90xzqNeAs9zgRMJiqxu0sHluXWlVlXR/FD/54YPaWuKjxEagNp+xPvqAXo sNM/GYIUOkFScs/haEkOTK+3lf/evujHBOx2vyz+hfTx0yCfn2nvxqYDMJnJEoM5eV2yen h63bwlUH3A2CBNXyHcJlzXNnTBHC/pCaNvMM1auasYFRfNLX6A6tiJ5dV4SIJaZMwbCFju I/+joZoNRDn1TfzfZNMb5KVF19fEfzXN43t36dDRjnHemS5gt1VMmGEr1iecIZgzsoGQHu qVOln+GryLZq8W9oKZdW85wDFagm5mGgd6l+6KPXDPaXmKXPoFqWbr9QtCxr0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835049; 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=Lj90uDqOgwfvR6MbCkApE21M2Xm7fxrF32lkZ88+Er8=; b=RNxlNec9JkI0fN5Ixbtw+7XQ2+itryI7/HghxMUDGz3UtUcwlFvPEDF8cN+j7V3nyBHgxw j4qmYXuazCVLQ9/jx1gD5Os2nXexRafqzoHO83IJr+eC7LGJLkKALT1c9cDK2xCd4DdFwU VS8e0Q9pLWozmU7DSqAwVLIGtgiqvvAkouOrKA36e6Avx6j+Fp6BOazNdKCGd+vO2A0kEb hIFcSthepLS4RSVg8ftPin8BClLCBd4HWTXSoo9gp0vUDsc9PSnmTJ1/QYU8BU29nwvyOm aXbFir8kj0sB20fVw0YtckYxVtz89bLfOgl+hAlKKpJRoFj342z6m7vGIiXNCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835049; a=rsa-sha256; cv=none; b=qrFv1K4c5RmO7JLGUBAelMSQTHWNHQ/O6SUdulkE4O7ezj9ufUEHq+RX1vUAeSldjx01dq nBOafqsypNLXGDLMUXQYxftCeeF0XzLA9RlurIuKJuY2dQ4fv7cGB7KT9GM6ApAWeqL28B YuO6M2ZOCXISDD+beHbyIPJtzI/Ojl13M/YqD7pUlna3L4Cm9ScYbEyQr6lx3B9HT6dZUe qd8Jgux0zWDy4zsNjd3WSHYbkWJ1D9ngesDwn5p6pkYbvH+f7ij8vv/PDSkeck4K23YU6X BQ9PstvK1dRKFRedk4vOE1059vnb98TdLAK/1LssAna1UGEPtgz2ZRQZBq/d3Q== 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 4ScH2K46RDznqG; Fri, 24 Nov 2023 14:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAnWm025196; Fri, 24 Nov 2023 14:10:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAnVO025193; Fri, 24 Nov 2023 14:10:49 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:49 GMT Message-Id: <202311241410.3AOEAnVO025193@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: ad57a81170fc - stable/14 - pf: sctp heartbeats confirm a connection 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ad57a81170fce9f638a6d57d60cb46362363dd1d Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ad57a81170fce9f638a6d57d60cb46362363dd1d commit ad57a81170fce9f638a6d57d60cb46362363dd1d Author: Kristof Provost AuthorDate: 2023-11-17 12:52:34 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:20:45 +0000 pf: sctp heartbeats confirm a connection When we create a new state for multihomed sctp connections (i.e. based on INIT/INIT_ACK or ASCONF parameters) the new connection will never see a COOKIE/COOKIE_ACK exchange. We should consider HEARTBEAT_ACK to be a confirmation that the connection is established. This ensures that such connections do not time out earlier than expected. MFC after: 1 week Sponsored by: Orange Business Services (cherry picked from commit 7093414c63b08864dd9348f63e67b39a70c8b1be) --- sys/net/pfvar.h | 17 ++++++++++------- sys/netpfil/pf/pf.c | 2 +- sys/netpfil/pf/pf_norm.c | 10 +++++++++- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 15fa671ddcbe..27428ad161f8 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1580,13 +1580,16 @@ struct pf_pdesc { #define PFDESC_SCTP_INIT 0x0001 #define PFDESC_SCTP_INIT_ACK 0x0002 #define PFDESC_SCTP_COOKIE 0x0004 -#define PFDESC_SCTP_ABORT 0x0008 -#define PFDESC_SCTP_SHUTDOWN 0x0010 -#define PFDESC_SCTP_SHUTDOWN_COMPLETE 0x0020 -#define PFDESC_SCTP_DATA 0x0040 -#define PFDESC_SCTP_ASCONF 0x0080 -#define PFDESC_SCTP_OTHER 0x0100 -#define PFDESC_SCTP_ADD_IP 0x0200 +#define PFDESC_SCTP_COOKIE_ACK 0x0008 +#define PFDESC_SCTP_ABORT 0x0010 +#define PFDESC_SCTP_SHUTDOWN 0x0020 +#define PFDESC_SCTP_SHUTDOWN_COMPLETE 0x0040 +#define PFDESC_SCTP_DATA 0x0080 +#define PFDESC_SCTP_ASCONF 0x0100 +#define PFDESC_SCTP_HEARTBEAT 0x0200 +#define PFDESC_SCTP_HEARTBEAT_ACK 0x0400 +#define PFDESC_SCTP_OTHER 0x0800 +#define PFDESC_SCTP_ADD_IP 0x1000 u_int16_t sctp_flags; u_int32_t sctp_initiate_tag; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 082987d34b07..84bd75276af7 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5932,7 +5932,7 @@ pf_test_state_sctp(struct pf_kstate **state, struct pfi_kkif *kif, dst->scrub->pfss_v_tag = pd->sctp_initiate_tag; } - if (pd->sctp_flags & PFDESC_SCTP_COOKIE) { + if (pd->sctp_flags & (PFDESC_SCTP_COOKIE | PFDESC_SCTP_HEARTBEAT_ACK)) { if (src->state < SCTP_ESTABLISHED) { pf_set_protostate(*state, psrc, SCTP_ESTABLISHED); (*state)->timeout = PFTM_SCTP_ESTABLISHED; diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 5f2b8e9d36ff..2625966a0278 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -2115,12 +2115,20 @@ pf_scan_sctp(struct mbuf *m, int ipoff, int off, struct pf_pdesc *pd, pd->sctp_flags |= PFDESC_SCTP_SHUTDOWN_COMPLETE; break; case SCTP_COOKIE_ECHO: - case SCTP_COOKIE_ACK: pd->sctp_flags |= PFDESC_SCTP_COOKIE; break; + case SCTP_COOKIE_ACK: + pd->sctp_flags |= PFDESC_SCTP_COOKIE_ACK; + break; case SCTP_DATA: pd->sctp_flags |= PFDESC_SCTP_DATA; break; + case SCTP_HEARTBEAT_REQUEST: + pd->sctp_flags |= PFDESC_SCTP_HEARTBEAT; + break; + case SCTP_HEARTBEAT_ACK: + pd->sctp_flags |= PFDESC_SCTP_HEARTBEAT_ACK; + break; case SCTP_ASCONF: pd->sctp_flags |= PFDESC_SCTP_ASCONF; From nobody Fri Nov 24 14:10:49 2023 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 4ScH2L119Lz52b3y; Fri, 24 Nov 2023 14:10:50 +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 4ScH2K6kT9z3fyt; Fri, 24 Nov 2023 14:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835050; 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=ZZd7RFUIwpZwQwZ+22WsqJETzj4gtd9XSf+RuC451lE=; b=unZE/piXL+YSxgTH/iIh3nAfRYcTpHh3a4eqH/5XiU5vvMoPbhAyi4yssy0Ro6hHsuJM8R +ZuAR8Dym3AFNRvPUTeV2Be6NPKJ01VyqZ5j5yOIK2HO9ZwqdKY3sZvS6sEjD+/E+4m0Ga p0uWmM2e3+DF/y/i4zyTsB+Hc4h9A9s5wDonWoxH/KPIrVhbymG9TAkxePAr7z9z2Y8lzZ gd2VtPMaG3AFJTtUCNaQqThQ0DnsAZjh3NJSEu66j1P2GvoQjQAkbpji58TBQJiV6cbQpS 9mmWt1zsy2+JRSdGvgNkrOu3SZXgekEN9/DXNWjF06AVQockhF2w0NO4hpPfeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700835050; 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=ZZd7RFUIwpZwQwZ+22WsqJETzj4gtd9XSf+RuC451lE=; b=B05Kk5mLQ0CgC+Sre4ayJcNsRsl3PVYGLqeMpLwMAx1+Okw+XEH3h2hE2bPASF5UrXElMH 5111gelqk+6GJK4a1TEOSTf5lyg7D94iOFO6HeetUhsRKvPb+u3oHHuPQxlSvcxXPLhz5E zaODReQLvQty1f+q8bcsz4rcOtwsMPlrzj6qsCzGTGBSNncFSu03ppmrJ2/iGe8LUaT+JN 8va4Xgz67tvk6fWCTRP6UNVJg/OJakTPTANrTxwoWFsti7ng7CqG2ickVrpteB4zUZ0z5h dCGW39nZSNr0/KocYBcqPQzWdYL9/w9zQggDAz9GAHJPGvFvGJdostye3rrm+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700835050; a=rsa-sha256; cv=none; b=rG4+vlwi43Fr1eK5vgidU9NIlMz/uVV2+Ha9LUop6Lmt+nb1ZmYmLwjFXF0OXjpRuUFPaK eQiTLSsMO9nNCztCeG3cnvpXyN3LT8rB9XdGvC0ezdXHC+VDde23APu8bnTXVQMPh+63J7 bpUTITTAxpDUXIBYAYGXG3piYSmeikNI9nrCVf2h+G1S07KZ/hRQGbJOitd69WEtfSaMsx wqDq7hQWvmS8Ycy/2P7G52dUiEapuWwK6nC1KsnEAZJ+Jm89eBeYnCgvrOS01FOAEcdEsL Cwpv6jDprKTftjqyB8WeMrsSAE7V3izFUMorG1t0SVPSsaQkE7xhNHi7crMQpQ== 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 4ScH2K5fp3zn1x; Fri, 24 Nov 2023 14:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOEAnxc025241; Fri, 24 Nov 2023 14:10:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOEAn1H025238; Fri, 24 Nov 2023 14:10:49 GMT (envelope-from git) Date: Fri, 24 Nov 2023 14:10:49 GMT Message-Id: <202311241410.3AOEAn1H025238@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: c5abe31a4f7d - stable/13 - pf: sctp heartbeats confirm a connection 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c5abe31a4f7d8d518c5d25ebed3127d23e2b1c89 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c5abe31a4f7d8d518c5d25ebed3127d23e2b1c89 commit c5abe31a4f7d8d518c5d25ebed3127d23e2b1c89 Author: Kristof Provost AuthorDate: 2023-11-17 12:52:34 +0000 Commit: Kristof Provost CommitDate: 2023-11-24 09:20:42 +0000 pf: sctp heartbeats confirm a connection When we create a new state for multihomed sctp connections (i.e. based on INIT/INIT_ACK or ASCONF parameters) the new connection will never see a COOKIE/COOKIE_ACK exchange. We should consider HEARTBEAT_ACK to be a confirmation that the connection is established. This ensures that such connections do not time out earlier than expected. MFC after: 1 week Sponsored by: Orange Business Services (cherry picked from commit 7093414c63b08864dd9348f63e67b39a70c8b1be) --- sys/net/pfvar.h | 17 ++++++++++------- sys/netpfil/pf/pf.c | 2 +- sys/netpfil/pf/pf_norm.c | 10 +++++++++- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 9c6f5bccae02..11bde6224eb3 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1329,13 +1329,16 @@ struct pf_pdesc { #define PFDESC_SCTP_INIT 0x0001 #define PFDESC_SCTP_INIT_ACK 0x0002 #define PFDESC_SCTP_COOKIE 0x0004 -#define PFDESC_SCTP_ABORT 0x0008 -#define PFDESC_SCTP_SHUTDOWN 0x0010 -#define PFDESC_SCTP_SHUTDOWN_COMPLETE 0x0020 -#define PFDESC_SCTP_DATA 0x0040 -#define PFDESC_SCTP_ASCONF 0x0080 -#define PFDESC_SCTP_OTHER 0x0100 -#define PFDESC_SCTP_ADD_IP 0x0200 +#define PFDESC_SCTP_COOKIE_ACK 0x0008 +#define PFDESC_SCTP_ABORT 0x0010 +#define PFDESC_SCTP_SHUTDOWN 0x0020 +#define PFDESC_SCTP_SHUTDOWN_COMPLETE 0x0040 +#define PFDESC_SCTP_DATA 0x0080 +#define PFDESC_SCTP_ASCONF 0x0100 +#define PFDESC_SCTP_HEARTBEAT 0x0200 +#define PFDESC_SCTP_HEARTBEAT_ACK 0x0400 +#define PFDESC_SCTP_OTHER 0x0800 +#define PFDESC_SCTP_ADD_IP 0x1000 u_int16_t sctp_flags; u_int32_t sctp_initiate_tag; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 278c1db118cf..c09f80d2f82b 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5341,7 +5341,7 @@ pf_test_state_sctp(struct pf_kstate **state, struct pfi_kkif *kif, dst->scrub->pfss_v_tag = pd->sctp_initiate_tag; } - if (pd->sctp_flags & PFDESC_SCTP_COOKIE) { + if (pd->sctp_flags & (PFDESC_SCTP_COOKIE | PFDESC_SCTP_HEARTBEAT_ACK)) { if (src->state < SCTP_ESTABLISHED) { pf_set_protostate(*state, psrc, SCTP_ESTABLISHED); (*state)->timeout = PFTM_SCTP_ESTABLISHED; diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 071387c12983..d1ffa21d7873 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -2084,12 +2084,20 @@ pf_scan_sctp(struct mbuf *m, int ipoff, int off, struct pf_pdesc *pd, pd->sctp_flags |= PFDESC_SCTP_SHUTDOWN_COMPLETE; break; case SCTP_COOKIE_ECHO: - case SCTP_COOKIE_ACK: pd->sctp_flags |= PFDESC_SCTP_COOKIE; break; + case SCTP_COOKIE_ACK: + pd->sctp_flags |= PFDESC_SCTP_COOKIE_ACK; + break; case SCTP_DATA: pd->sctp_flags |= PFDESC_SCTP_DATA; break; + case SCTP_HEARTBEAT_REQUEST: + pd->sctp_flags |= PFDESC_SCTP_HEARTBEAT; + break; + case SCTP_HEARTBEAT_ACK: + pd->sctp_flags |= PFDESC_SCTP_HEARTBEAT_ACK; + break; case SCTP_ASCONF: pd->sctp_flags |= PFDESC_SCTP_ASCONF; From nobody Fri Nov 24 14:47:16 2023 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 4ScHrX5pC4z51KZr; Fri, 24 Nov 2023 14:47:24 +0000 (UTC) (envelope-from SRS0=oA7f=HF=klop.ws=ronald-lists@realworks.nl) Received: from smtp-relay-int.realworks.nl (smtp-relay-int.realworks.nl [194.109.157.24]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4ScHrX3Sbgz4L5h; Fri, 24 Nov 2023 14:47:24 +0000 (UTC) (envelope-from SRS0=oA7f=HF=klop.ws=ronald-lists@realworks.nl) Authentication-Results: mx1.freebsd.org; none Date: Fri, 24 Nov 2023 15:47:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=klop.ws; s=rw2; t=1700837236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=i9eMogLouKV1uU8dnSFJ5Rg3ik74Rzqp/ZiR0g8NtRg=; b=PiUGyLFnePfsbp/hIJnpcu+uAVoKudv3rFlMdiqV/XvjehsosakQxrZO5j2OTbCuSwTWS4 kX6BRNwuuDpYK9vaGpMsj2fxt8QTHl1Q9vbxXLKhCY+ZWcB1emXYqFrihm22AwFrQ75/5Y a1BK1OrJEUALLSwaohnVzp+CyouZVmO8Y4+gA1W78bMKSc6UHynZldh/6LwfQP4hGUbepH OVKorV5umoPVxwe17Vy3PBkqE4a1EIvi4Rfy1JJwSKMW66hVU4Aag6e091iPHdIEjI59X1 MAWcu4cxD/aFEZ1hHaWyFCtz0Xk4Uovbq/22NF2LIuo9CuqrIMIZ0Bxz3mzO8A== From: Ronald Klop To: Emmanuel Vadot Cc: dev-commits-src-all@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-main@FreeBSD.org Message-ID: <2003387449.7766.1700837236386@localhost> In-Reply-To: <202311240945.3AO9jgdS079780@gitrepo.freebsd.org> References: <202311240945.3AO9jgdS079780@gitrepo.freebsd.org> Subject: Re: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script 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: multipart/alternative; boundary="----=_Part_7765_896222002.1700837236314" X-Mailer: Realworks (680.25) Importance: Normal X-Priority: 3 (Normal) X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:3265, ipnet:194.109.0.0/16, country:NL] X-Rspamd-Queue-Id: 4ScHrX3Sbgz4L5h ------=_Part_7765_896222002.1700837236314 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hi, Wouldn't this apply for a /usr/src/UPDATING or /usr/src/RELNOTES entry? As it might change default behaviour on a security measure. Regards. Ronald. Van: Emmanuel Vadot Datum: vrijdag, 24 november 2023 10:45 Aan: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Onderwerp: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script > > The branch main has been updated by manu: > > URL: https://cgit.FreeBSD.org/src/commit/?id=0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e > > commit 0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e > Author: Emmanuel Vadot > AuthorDate: 2023-11-07 09:42:53 +0000 > Commit: Emmanuel Vadot > CommitDate: 2023-11-24 09:44:20 +0000 > > autofs: media: Don't include nosuid in the script > > We already have nosuid option in auto_master so no need to redefine it. > Also it's easier for a user to modify the auto_master configuration file > than the script (which shouldn't be modified). > > Sponsored by: Beckhoff Automation GmbH & Co. KG > Differential Revision: https://reviews.freebsd.org/D42492 > Reviewed by: rew > --- > usr.sbin/autofs/autofs/special_media | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/usr.sbin/autofs/autofs/special_media b/usr.sbin/autofs/autofs/special_media > index d72ddddddb2e..33fa4544d028 100755 > --- a/usr.sbin/autofs/autofs/special_media > +++ b/usr.sbin/autofs/autofs/special_media > @@ -40,7 +40,7 @@ print_map_entry() { > case "${_fstype}" in > "exfat") > if [ -f "/usr/local/sbin/mount.exfat" ]; then > - echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype},nosuid :/dev/${_p}" > + echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype} :/dev/${_p}" > else > /usr/bin/logger -p info -t "special_media[$$]" \ > "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-exfat first" > @@ -49,7 +49,7 @@ print_map_entry() { > ;; > "ntfs") > if [ -f "/usr/local/bin/ntfs-3g" ]; then > - echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype},nosuid :/dev/${_p}" > + echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype} :/dev/${_p}" > else > /usr/bin/logger -p info -t "special_media[$$]" \ > "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-ntfs first" > @@ -57,10 +57,10 @@ print_map_entry() { > fi > ;; > "ext2fs" | "msdosfs") > - echo "-fstype=${_fstype},nosuid,async :/dev/${_p}" > + echo "-fstype=${_fstype},async :/dev/${_p}" > ;; > *) > - echo "-fstype=${_fstype},nosuid :/dev/${_p}" > + echo "-fstype=${_fstype} :/dev/${_p}" > ;; > esac > } > > > > ------=_Part_7765_896222002.1700837236314 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Hi,

Wouldn't this apply for a /usr/src/UPDATING or /usr/src/RELNOTES entry?
As it might change default behaviour on a security measure.

Regards.
Ronald.

 

Van: Emmanuel Vadot <manu@FreeBSD.org>
Datum: vrijdag, 24 november 2023 10:45
Aan: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Onderwerp: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script

The branch main has been updated by manu:

URL:
https://cgit.FreeBSD.org/src/commit/?id=0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e

commit 0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2023-11-07 09:42:53 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2023-11-24 09:44:20 +0000

    autofs: media: Don't include nosuid in the script
    
    We already have nosuid option in auto_master so no need to redefine it.
    Also it's easier for a user to modify the auto_master configuration file
    than the script (which shouldn't be modified).
    
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
    Differential Revision:  https://reviews.freebsd.org/D42492
    Reviewed by:    rew
---
 usr.sbin/autofs/autofs/special_media | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/usr.sbin/autofs/autofs/special_media b/usr.sbin/autofs/autofs/special_media
index d72ddddddb2e..33fa4544d028 100755
--- a/usr.sbin/autofs/autofs/special_media
+++ b/usr.sbin/autofs/autofs/special_media
@@ -40,7 +40,7 @@ print_map_entry() {
    case "${_fstype}" in
    "exfat")
        if [ -f "/usr/local/sbin/mount.exfat" ]; then
-           echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype},nosuid   :/dev/${_p}"
+           echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype}  :/dev/${_p}"
        else
            /usr/bin/logger -p info -t "special_media[$$]" \
                "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-exfat first"
@@ -49,7 +49,7 @@ print_map_entry() {
        ;;
    "ntfs")
        if [ -f "/usr/local/bin/ntfs-3g" ]; then
-           echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype},nosuid    :/dev/${_p}"
+           echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype}   :/dev/${_p}"
        else
            /usr/bin/logger -p info -t "special_media[$$]" \
                "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-ntfs first"
@@ -57,10 +57,10 @@ print_map_entry() {
        fi
        ;;
    "ext2fs" | "msdosfs")
-       echo "-fstype=${_fstype},nosuid,async   :/dev/${_p}"
+       echo "-fstype=${_fstype},async  :/dev/${_p}"
        ;;
    *)
-       echo "-fstype=${_fstype},nosuid :/dev/${_p}"
+       echo "-fstype=${_fstype}    :/dev/${_p}"
        ;;
    esac
 }
 


  ------=_Part_7765_896222002.1700837236314-- From nobody Fri Nov 24 14:51:07 2023 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 4ScHx35WKPz51MG7; Fri, 24 Nov 2023 14:51:19 +0000 (UTC) (envelope-from manu@bidouilliste.com) Received: from mx.blih.net (mx.blih.net [212.83.155.74]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4ScHx30Lgzz4M4L; Fri, 24 Nov 2023 14:51:18 +0000 (UTC) (envelope-from manu@bidouilliste.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bidouilliste.com; s=mx; t=1700837471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fKy1MTIMPd1uKgvc3dNvU5hvJRbJ7ggJoPjlEj1p6fE=; b=OAY6KAtavEkdOEQeaY/bTPLIIIsQ/tqR3A49j+v8UoTJ4H0BWKQor45BGcyZAckFYSwylO fQDrp7Us28qa91JQRMmcNvKE0B/PRK8WzkC7/hDvwBD2UdPqz9QC+jIKmsctKZm5WrOiw2 k1I+CDidAs+eD3fffcJzievOBpulX/o= Received: from skull.home.blih.net (lfbn-lyo-1-2174-135.w90-66.abo.wanadoo.fr [90.66.97.135]) by mx.blih.net (OpenSMTPD) with ESMTPSA id 23f6623c (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Fri, 24 Nov 2023 14:51:11 +0000 (UTC) Date: Fri, 24 Nov 2023 15:51:07 +0100 From: Emmanuel Vadot To: Ronald Klop Cc: Emmanuel Vadot , dev-commits-src-all@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script Message-Id: <20231124155107.fe95c803b3c5d0f1b18e3c9d@bidouilliste.com> In-Reply-To: <2003387449.7766.1700837236386@localhost> References: <202311240945.3AO9jgdS079780@gitrepo.freebsd.org> <2003387449.7766.1700837236386@localhost> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; amd64-portbld-freebsd15.0) 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=US-ASCII Content-Transfer-Encoding: 7bit X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:12876, ipnet:212.83.128.0/19, country:FR] X-Rspamd-Queue-Id: 4ScHx30Lgzz4M4L Hi, On Fri, 24 Nov 2023 15:47:16 +0100 (CET) Ronald Klop wrote: > Hi, > > Wouldn't this apply for a /usr/src/UPDATING or /usr/src/RELNOTES entry? > As it might change default behaviour on a security measure. No it doesn't. As noted in the commit message nosuid is already present in auto_master, I'm just removing a duplicate here. > Regards. > Ronald. > > > Van: Emmanuel Vadot > Datum: vrijdag, 24 november 2023 10:45 > Aan: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org > Onderwerp: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script > > > > The branch main has been updated by manu: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e > > > > commit 0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e > > Author: Emmanuel Vadot > > AuthorDate: 2023-11-07 09:42:53 +0000 > > Commit: Emmanuel Vadot > > CommitDate: 2023-11-24 09:44:20 +0000 > > > > autofs: media: Don't include nosuid in the script > > > > We already have nosuid option in auto_master so no need to redefine it. > > Also it's easier for a user to modify the auto_master configuration file > > than the script (which shouldn't be modified). > > > > Sponsored by: Beckhoff Automation GmbH & Co. KG > > Differential Revision: https://reviews.freebsd.org/D42492 > > Reviewed by: rew > > --- > > usr.sbin/autofs/autofs/special_media | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/usr.sbin/autofs/autofs/special_media b/usr.sbin/autofs/autofs/special_media > > index d72ddddddb2e..33fa4544d028 100755 > > --- a/usr.sbin/autofs/autofs/special_media > > +++ b/usr.sbin/autofs/autofs/special_media > > @@ -40,7 +40,7 @@ print_map_entry() { > > case "${_fstype}" in > > "exfat") > > if [ -f "/usr/local/sbin/mount.exfat" ]; then > > - echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype},nosuid :/dev/${_p}" > > + echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype} :/dev/${_p}" > > else > > /usr/bin/logger -p info -t "special_media[$$]" \ > > "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-exfat first" > > @@ -49,7 +49,7 @@ print_map_entry() { > > ;; > > "ntfs") > > if [ -f "/usr/local/bin/ntfs-3g" ]; then > > - echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype},nosuid :/dev/${_p}" > > + echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype} :/dev/${_p}" > > else > > /usr/bin/logger -p info -t "special_media[$$]" \ > > "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-ntfs first" > > @@ -57,10 +57,10 @@ print_map_entry() { > > fi > > ;; > > "ext2fs" | "msdosfs") > > - echo "-fstype=${_fstype},nosuid,async :/dev/${_p}" > > + echo "-fstype=${_fstype},async :/dev/${_p}" > > ;; > > *) > > - echo "-fstype=${_fstype},nosuid :/dev/${_p}" > > + echo "-fstype=${_fstype} :/dev/${_p}" > > ;; > > esac > > } > > > > > > > > > > -- Emmanuel Vadot From nobody Fri Nov 24 15:00:22 2023 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 4ScJ7Y5833z51fjK; Fri, 24 Nov 2023 15:00:25 +0000 (UTC) (envelope-from SRS0=oA7f=HF=klop.ws=ronald-lists@realworks.nl) Received: from smtp-relay-int.realworks.nl (smtp-relay-int.realworks.nl [194.109.157.24]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4ScJ7Y4NvNz4NbQ; Fri, 24 Nov 2023 15:00:25 +0000 (UTC) (envelope-from SRS0=oA7f=HF=klop.ws=ronald-lists@realworks.nl) Authentication-Results: mx1.freebsd.org; none Date: Fri, 24 Nov 2023 16:00:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=klop.ws; s=rw2; t=1700838022; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=pGC+HdmTk7zxovESDBn0kDCeXZziTj32nLfyvpcizwo=; b=IjHi5IJ61MZ7X2ZT99Rz4H39hsuok9VlPtt5Js2eakglUcNXnNU3cvEsNUrL6fMBMqWvnr +ptp0EKNuU617bJb+f3Nzn5sM/XEyqBojX81oV3oamSKAHTW1jaxa1hbKE/RCKZzFoaLS0 NOF0GFuGqn8rnrjNgcU9uY6Mq/AiZFW0P9z3b/FTUMqN379CJRz29JN1MuMdJ5dyXMLUA6 /ttl7iXhXhkHsilJJ/7HVIy11QtgAUsl/EikkiKo6q+TpTYENA1X/+zrpZPCsIwtYUZODj ESfV1SheOMhV1wxo7SycS+ZS6LJi8OoMByusnxkpSzkzoKzXzrX9XU+4ih8olw== From: Ronald Klop To: Emmanuel Vadot Cc: dev-commits-src-all@FreeBSD.org, src-committers@FreeBSD.org, Emmanuel Vadot , dev-commits-src-main@FreeBSD.org Message-ID: <194935678.8142.1700838022590@localhost> In-Reply-To: <20231124155107.fe95c803b3c5d0f1b18e3c9d@bidouilliste.com> References: <202311240945.3AO9jgdS079780@gitrepo.freebsd.org> <2003387449.7766.1700837236386@localhost> <20231124155107.fe95c803b3c5d0f1b18e3c9d@bidouilliste.com> Subject: Re: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script 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: multipart/alternative; boundary="----=_Part_8141_1624612915.1700838022586" X-Mailer: Realworks (680.25) Importance: Normal X-Priority: 3 (Normal) X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:3265, ipnet:194.109.0.0/16, country:NL] X-Rspamd-Queue-Id: 4ScJ7Y4NvNz4NbQ ------=_Part_8141_1624612915.1700838022586 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Ah thanks. Didn't notice the remark in the commit message. Van: Emmanuel Vadot Datum: vrijdag, 24 november 2023 15:51 Aan: Ronald Klop CC: Emmanuel Vadot , dev-commits-src-all@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-main@FreeBSD.org Onderwerp: Re: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script > > Hi, > > On Fri, 24 Nov 2023 15:47:16 +0100 (CET) > Ronald Klop wrote: > > > Hi, > > > > Wouldn't this apply for a /usr/src/UPDATING or /usr/src/RELNOTES entry? > > As it might change default behaviour on a security measure. > > No it doesn't. > As noted in the commit message nosuid is already present in > auto_master, I'm just removing a duplicate here. > > > Regards. > > Ronald. > > > > > > Van: Emmanuel Vadot > > Datum: vrijdag, 24 november 2023 10:45 > > Aan: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org > > Onderwerp: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script > > > > > > The branch main has been updated by manu: > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e > > > > > > commit 0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e > > > Author: Emmanuel Vadot > > > AuthorDate: 2023-11-07 09:42:53 +0000 > > > Commit: Emmanuel Vadot > > > CommitDate: 2023-11-24 09:44:20 +0000 > > > > > > autofs: media: Don't include nosuid in the script > > > > > > We already have nosuid option in auto_master so no need to redefine it. > > > Also it's easier for a user to modify the auto_master configuration file > > > than the script (which shouldn't be modified). > > > > > > Sponsored by: Beckhoff Automation GmbH & Co. KG > > > Differential Revision: https://reviews.freebsd.org/D42492 > > > Reviewed by: rew > > > --- > > > usr.sbin/autofs/autofs/special_media | 8 ++++---- > > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > > > diff --git a/usr.sbin/autofs/autofs/special_media b/usr.sbin/autofs/autofs/special_media > > > index d72ddddddb2e..33fa4544d028 100755 > > > --- a/usr.sbin/autofs/autofs/special_media > > > +++ b/usr.sbin/autofs/autofs/special_media > > > @@ -40,7 +40,7 @@ print_map_entry() { > > > case "${_fstype}" in > > > "exfat") > > > if [ -f "/usr/local/sbin/mount.exfat" ]; then > > > - echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype},nosuid :/dev/${_p}" > > > + echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype} :/dev/${_p}" > > > else > > > /usr/bin/logger -p info -t "special_media[$$]" \ > > > "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-exfat first" > > > @@ -49,7 +49,7 @@ print_map_entry() { > > > ;; > > > "ntfs") > > > if [ -f "/usr/local/bin/ntfs-3g" ]; then > > > - echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype},nosuid :/dev/${_p}" > > > + echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype} :/dev/${_p}" > > > else > > > /usr/bin/logger -p info -t "special_media[$$]" \ > > > "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-ntfs first" > > > @@ -57,10 +57,10 @@ print_map_entry() { > > > fi > > > ;; > > > "ext2fs" | "msdosfs") > > > - echo "-fstype=${_fstype},nosuid,async :/dev/${_p}" > > > + echo "-fstype=${_fstype},async :/dev/${_p}" > > > ;; > > > *) > > > - echo "-fstype=${_fstype},nosuid :/dev/${_p}" > > > + echo "-fstype=${_fstype} :/dev/${_p}" > > > ;; > > > esac > > > } > > > > > > > > > > > > > > > > > > > -- > Emmanuel Vadot > > > ------=_Part_8141_1624612915.1700838022586 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit Ah thanks. Didn't notice the remark in the commit message.
 

Van: Emmanuel Vadot <manu@bidouilliste.com>
Datum: vrijdag, 24 november 2023 15:51
Aan: Ronald Klop <ronald-lists@klop.ws>
CC: Emmanuel Vadot <manu@FreeBSD.org>, dev-commits-src-all@FreeBSD.org, src-committers@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Onderwerp: Re: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script


 Hi,

On Fri, 24 Nov 2023 15:47:16 +0100 (CET)
Ronald Klop <ronald-lists@klop.ws> wrote:

> Hi,
>
> Wouldn't this apply for a /usr/src/UPDATING or /usr/src/RELNOTES entry?
> As it might change default behaviour on a security measure.

 No it doesn't.
 As noted in the commit message nosuid is already present in
auto_master, I'm just removing a duplicate here.

> Regards.
> Ronald.
>
>  
> Van: Emmanuel Vadot <manu@FreeBSD.org>
> Datum: vrijdag, 24 november 2023 10:45
> Aan: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
> Onderwerp: git: 0b7c89c8c236 - main - autofs: media: Don't include nosuid in the script
> >
> > The branch main has been updated by manu:
> >
> > URL: https://cgit.FreeBSD.org/src/commit/?id=0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e
> >
> > commit 0b7c89c8c236fcfabd1abd59c6b8274c7eb80f5e
> > Author:     Emmanuel Vadot <manu@FreeBSD.org>
> > AuthorDate: 2023-11-07 09:42:53 +0000
> > Commit:     Emmanuel Vadot <manu@FreeBSD.org>
> > CommitDate: 2023-11-24 09:44:20 +0000
> >
> >     autofs: media: Don't include nosuid in the script
> >     
> >     We already have nosuid option in auto_master so no need to redefine it.
> >     Also it's easier for a user to modify the auto_master configuration file
> >     than the script (which shouldn't be modified).
> >     
> >     Sponsored by:   Beckhoff Automation GmbH & Co. KG
> >     Differential Revision:  https://reviews.freebsd.org/D42492
> >     Reviewed by:    rew
> > ---
> >  usr.sbin/autofs/autofs/special_media | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/usr.sbin/autofs/autofs/special_media b/usr.sbin/autofs/autofs/special_media
> > index d72ddddddb2e..33fa4544d028 100755
> > --- a/usr.sbin/autofs/autofs/special_media
> > +++ b/usr.sbin/autofs/autofs/special_media
> > @@ -40,7 +40,7 @@ print_map_entry() {
> >     case "${_fstype}" in
> >     "exfat")
> >         if [ -f "/usr/local/sbin/mount.exfat" ]; then
> > -           echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype},nosuid   :/dev/${_p}"
> > +           echo "-mountprog=/usr/local/sbin/mount.exfat,fstype=${_fstype}  :/dev/${_p}"
> >         else
> >             /usr/bin/logger -p info -t "special_media[$$]" \
> >                 "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-exfat first"
> > @@ -49,7 +49,7 @@ print_map_entry() {
> >         ;;
> >     "ntfs")
> >         if [ -f "/usr/local/bin/ntfs-3g" ]; then
> > -           echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype},nosuid    :/dev/${_p}"
> > +           echo "-mountprog=/usr/local/bin/ntfs-3g,fstype=${_fstype}   :/dev/${_p}"
> >         else
> >             /usr/bin/logger -p info -t "special_media[$$]" \
> >                 "Cannot mount ${_fstype} formatted device /dev/${_p}: Install sysutils/fusefs-ntfs first"
> > @@ -57,10 +57,10 @@ print_map_entry() {
> >         fi
> >         ;;
> >     "ext2fs" | "msdosfs")
> > -       echo "-fstype=${_fstype},nosuid,async   :/dev/${_p}"
> > +       echo "-fstype=${_fstype},async  :/dev/${_p}"
> >         ;;
> >     *)
> > -       echo "-fstype=${_fstype},nosuid :/dev/${_p}"
> > +       echo "-fstype=${_fstype}    :/dev/${_p}"
> >         ;;
> >     esac
> >  }
> >  
> >
> >
> >
>
>  


-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>


  ------=_Part_8141_1624612915.1700838022586-- From nobody Fri Nov 24 15:58:58 2023 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 4ScKRL68knz526YG; Fri, 24 Nov 2023 15:59:10 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ScKRL0vpMz3JVf; Fri, 24 Nov 2023 15:59:10 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-28397a2c402so1555216a91.2; Fri, 24 Nov 2023 07:59:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700841548; x=1701446348; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Uwfr0AV9sksOICNM+XXVqQmwLF+fRWEWC5S9+I9sHIM=; b=FjE2IkGITg/BVtDUcuMojiL42+yum2VQJn8Fk7c60XlKw4G55g0bsH2s6VLPfXBDEb YaUJgan8E4n0y6vXHr80ND7y35+hqDWmMMg3WWTFxkT950qfYShGjIyt4D6mdqmdXHda cWM6fsJYCdZaSWvqT8IjOFbIigQ4iCSbVXyLI8ugMUSWRyB42BkFqrm5iZCrzcPYpOhn SjHVZ9Jtd93D82JvhOPd6lRWDF9uwCe/BlqKZzRZ3/UEqmcCY8HxAiUsKf6Ta2Rkyv7Z lfFIlYhO0JyykH2Ji9kvegLBhwnxFcOv7JA7uR0xPQxBSSPDLeJv+A5bil1Sl7URo5ZM 8CPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700841548; x=1701446348; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Uwfr0AV9sksOICNM+XXVqQmwLF+fRWEWC5S9+I9sHIM=; b=VSUEDASZE9KY9rMYeZgS0CXf8OSHjxd8NlNmr0ihgi+OUaHe6VKZLWoT8Snto11r+W 9v30ZqgvYkcmz7Cd228pAqyWH7Ikm6dkloXFb/kMmwnU8CZUx7isRfOpGesOF9te6djd kVOwPztdnPF+fn9Kbkn2abUxSJmQi3rBGCRWnXFQRgywRfzarizwgwli95sefRwtsquf pg0eEBtTvf2DxbQ+23TKveXkqn8vTp2EAAg+ERcFFf3bPIvZaz1hXyknuK5NSwt+m4nh /jKchsuS1tni7LGQ5anwm5Wga6XF4X6buwdqs9MwUTGZNl5pB8dJnRwBQmtyL6XumD8L j1SQ== X-Gm-Message-State: AOJu0YygjhPD1yDYTDRebnQ1mqCuVDIphLo+le5Hsee+YYaiPSmHNFJh AkZvRm4sEyQSjnP1E7ghZBYYDAgjAU0EUBpn2Q== X-Google-Smtp-Source: AGHT+IHtwC20bf69CROIlHzqEVcrfy3RTtVOHGoMYu6L+ypDzFUrIIDczNPmy6O25fo+8pmISMf11yzKNTIlIf9Bxa4= X-Received: by 2002:a17:90a:de8e:b0:27d:dc9:c67d with SMTP id n14-20020a17090ade8e00b0027d0dc9c67dmr2986196pjv.36.1700841548448; Fri, 24 Nov 2023 07:59:08 -0800 (PST) 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 References: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> In-Reply-To: From: Rick Macklem Date: Fri, 24 Nov 2023 07:58:58 -0800 Message-ID: Subject: Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots To: Mike Karels Cc: Konstantin Belousov , Alexander Leidinger , Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[] X-Rspamd-Queue-Id: 4ScKRL0vpMz3JVf On Fri, Nov 24, 2023 at 5:18=E2=80=AFAM Mike Karels wrote= : > > CAUTION: This email originated from outside of the University of Guelph. = Do not click links or open attachments unless you recognize the sender and = know the content is safe. If in doubt, forward suspicious emails to IThelp@= uoguelph.ca. > > > On 24 Nov 2023, at 7:02, Konstantin Belousov wrote: > > > On Fri, Nov 24, 2023 at 08:50:22AM +0100, Alexander Leidinger wrote: > >> Am 2023-11-23 16:25, schrieb Rick Macklem: > >>> The branch main has been updated by rmacklem: > >>> > >>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Df5f277728adec4c5b3e840= a1fb16bd16f8cc956d > >>> > >>> commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d > >>> Author: Rick Macklem > >>> AuthorDate: 2023-11-23 15:23:33 +0000 > >>> Commit: Rick Macklem > >>> CommitDate: 2023-11-23 15:23:33 +0000 > >>> > >>> nfsd: Fix NFS access to .zfs/snapshot snapshots > >>> > >>> When a process attempts to access a snapshot under > >>> //.zfs/snapshot, the snapshot is automounted. > >>> However, without this patch, the automount does not > >>> set mnt_exjail, which results in the snapshot not being > >>> accessible over NFS. > >>> > >>> This patch defines a new function called vfs_exjail_clone() > >>> which sets mnt_exjail from another mount point and > >>> then uses that function to set mnt_exjail in the snapshot > >>> automount. A separate patch that is currently a pull request > >>> for OpenZFS, calls this function to fix the problem. > >> > >> May the same/similar fix like for ZFS be needed / useful for nullfs mo= unted > >> stuff? > >> > >> I have a ZFS dataset which is mounted via nullfs into a jail. This > >> nullfs-mount is then exported via samba. In samba I have the shadow-co= py > >> stuff enabled, but it doesn't work, as the jails can't access the snap= shot. > > > > Jails cannot access snapshots because, as I understand, snapshots > > are mounts. Nullfs does not provide an option to recursively bypass > > into mounts. The patch you responded to does not automatically mounts > > snapshots on clients, it only allows them to mount if wanted. > > It works for me, with main and this change, or 13.2 without a patch. > I don't know the mechanics, but it doesn't use nullfs, and the snapshot > does not show up as a separate filesystem with the mount command. Yes. ZFS essentially does an automount of the snapshots under .zfs/snapshot= . (As I understand it, there are non-default ZFS options that allow these to = be mounted manually instead.) I can now see that these automounts are 'real mounts" in the mountlist. The only reason they are not visible is that they have MNT_IGNORE set on them. Now, as for what happens when nullfs is on top of ZFS, I do not know. What Kostik says about nullfs recursing into mounts suggests it will not wo= rk. I will look at it, but since I am headed to Florida for a few weeks, it may not happen until the end of the year. If someone can test this case and determine if there is no NFS client acces= s for snapshots under .zfs after applying the patch that is an attachment in PR#275200 when nullfs is over the ZFS file system, that would be appreciated. rick > > Mike > > > You might try to set up something with autofs, no idea if it could be m= ade > > to work usefully. > From nobody Fri Nov 24 16:16:54 2023 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 4ScKr64mmMz52FZq; Fri, 24 Nov 2023 16:17:10 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ScKr473kjz3QMy; Fri, 24 Nov 2023 16:17:08 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=gc1Ii0cj; spf=pass (mx1.freebsd.org: domain of rick.macklem@gmail.com designates 2607:f8b0:4864:20::434 as permitted sender) smtp.mailfrom=rick.macklem@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-6cb74a527ceso1734987b3a.2; Fri, 24 Nov 2023 08:17:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700842625; x=1701447425; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=OGpBaFdSRYIr/S+GoyJMU1sjJLpJIvuUYi/N2XkoSYw=; b=gc1Ii0cjXVQmjxx1FfVqhd8l5hT+DEbngDo4r7wKTDY34Lo8usdM1XQAAr5KL4HPte tRt3m7Tpszy4O3IOjPWclYkcPk7m+3sPbDWdwECuxiSSi2F4SmP9YsWzCVz/ROUBbaBn cleOgvrjlIrcRLgxu3ce0PEM+guosQRKKdF53xFVDfaCaCzRu8s5KGd0rJrSyvVDddwk dcYex/a2mXkMNIr4qMgNw2Io0KlD3MwdL8z/7UBQUkmCfEvl6Gp0pnUHlDg4gHjWFlsh NSWPIF2UU3ptkNAD9D+3GG/8RkgdslS2K+86XwzRlNrejaRMxNEpUK1i0ma/4pA5BEZH 9JtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700842625; x=1701447425; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OGpBaFdSRYIr/S+GoyJMU1sjJLpJIvuUYi/N2XkoSYw=; b=wOXX2yo3nv97ftcKudCw7/XBbCX/Yb9qnlDwwFS26iHV/lBsc68FIvkO/paCaQ43o8 Fn/3IWpqAjUFxWa+CrYYD1PvJn7CStGqHfVaANV2jvU8nK9XQKo/5+UJaTCRrNBbc0qy zAqXWSvk1ek956Uc+kkXiKafJ0uCiH4VjICJD2rpvILQ5uaWXcjrOzpFR9llq1G21L+e GbUTsl+wKE0PQiHIUf1eLBwgMGuEKjsnUyyCrjE309xOBP/AvFBf+Wv2ft3WGLrNlhlf 9chH0h2yhY+6GcOCtd1KrXhTnQJmSyC5OsYgrOTKgqk5+EZygXZ5134szJdSJ/NtnqPm 82Ug== X-Gm-Message-State: AOJu0YzFdvJlGuzTyzy099Z0VCnwpdQNCBRg/8cCq6A9iuLu4IJkxyfP 4D6SScGfFNgzjj3iv0t7hPnpXOlUFnMlaxaIyA== X-Google-Smtp-Source: AGHT+IHrhavaZ7MBydd5ZfEb7jTV5QDM4W9rsaBcaxRv+hbqYnPw5KOIORLikpuafqNatphtkI2Urfv3quS6cREEokI= X-Received: by 2002:a17:90b:4d0e:b0:280:62a7:3743 with SMTP id mw14-20020a17090b4d0e00b0028062a73743mr3488748pjb.30.1700842624618; Fri, 24 Nov 2023 08:17:04 -0800 (PST) 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 References: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> In-Reply-To: From: Rick Macklem Date: Fri, 24 Nov 2023 08:16:54 -0800 Message-ID: Subject: Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots To: Mike Karels Cc: Konstantin Belousov , Alexander Leidinger , Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.59 / 15.00]; NEURAL_HAM_SHORT(-0.99)[-0.987]; NEURAL_HAM_LONG(-0.98)[-0.982]; NEURAL_HAM_MEDIUM(-0.62)[-0.619]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::434:from]; TAGGED_FROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCPT_COUNT_SEVEN(0.00)[7]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,leidinger.net,freebsd.org] X-Rspamd-Queue-Id: 4ScKr473kjz3QMy X-Spamd-Bar: --- On Fri, Nov 24, 2023 at 7:58=E2=80=AFAM Rick Macklem wrote: > > On Fri, Nov 24, 2023 at 5:18=E2=80=AFAM Mike Karels wro= te: > > > > CAUTION: This email originated from outside of the University of Guelph= . Do not click links or open attachments unless you recognize the sender an= d know the content is safe. If in doubt, forward suspicious emails to IThel= p@uoguelph.ca. > > > > > > On 24 Nov 2023, at 7:02, Konstantin Belousov wrote: > > > > > On Fri, Nov 24, 2023 at 08:50:22AM +0100, Alexander Leidinger wrote: > > >> Am 2023-11-23 16:25, schrieb Rick Macklem: > > >>> The branch main has been updated by rmacklem: > > >>> > > >>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Df5f277728adec4c5b3e8= 40a1fb16bd16f8cc956d > > >>> > > >>> commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d > > >>> Author: Rick Macklem > > >>> AuthorDate: 2023-11-23 15:23:33 +0000 > > >>> Commit: Rick Macklem > > >>> CommitDate: 2023-11-23 15:23:33 +0000 > > >>> > > >>> nfsd: Fix NFS access to .zfs/snapshot snapshots > > >>> > > >>> When a process attempts to access a snapshot under > > >>> //.zfs/snapshot, the snapshot is automounted. > > >>> However, without this patch, the automount does not > > >>> set mnt_exjail, which results in the snapshot not being > > >>> accessible over NFS. > > >>> > > >>> This patch defines a new function called vfs_exjail_clone() > > >>> which sets mnt_exjail from another mount point and > > >>> then uses that function to set mnt_exjail in the snapshot > > >>> automount. A separate patch that is currently a pull request > > >>> for OpenZFS, calls this function to fix the problem. > > >> > > >> May the same/similar fix like for ZFS be needed / useful for nullfs = mounted > > >> stuff? > > >> > > >> I have a ZFS dataset which is mounted via nullfs into a jail. This > > >> nullfs-mount is then exported via samba. In samba I have the shadow-= copy > > >> stuff enabled, but it doesn't work, as the jails can't access the sn= apshot. > > > > > > Jails cannot access snapshots because, as I understand, snapshots > > > are mounts. Nullfs does not provide an option to recursively bypass > > > into mounts. The patch you responded to does not automatically mounts > > > snapshots on clients, it only allows them to mount if wanted. > > > > It works for me, with main and this change, or 13.2 without a patch. > > I don't know the mechanics, but it doesn't use nullfs, and the snapshot > > does not show up as a separate filesystem with the mount command. > Yes. ZFS essentially does an automount of the snapshots under .zfs/snapsh= ot. > (As I understand it, there are non-default ZFS options that allow these t= o be > mounted manually instead.) > I can now see that these automounts are 'real mounts" in the > mountlist. The only reason > they are not visible is that they have MNT_IGNORE set on them. Oh and I forgot to mention that this automount is for some weird in memory file system that does just enough so you can see the snapshots. Once you "cd ", the vnodes are associated with the ZFS mount (dataset) and not this weird snapshot fs. (That is why it doesn't nee= d to be exported, but did need mnt_exjail to be set properly.) I might be able to test a nullfs over ZFS case later to-day and will post if I do so. rick > > Now, as for what happens when nullfs is on top of ZFS, I do not know. > What Kostik says about nullfs recursing into mounts suggests it will not = work. > I will look at it, but since I am headed to Florida for a few weeks, it m= ay > not happen until the end of the year. > > If someone can test this case and determine if there is no NFS client acc= ess > for snapshots under .zfs after applying the patch that is an > attachment in PR#275200 > when nullfs is over the ZFS file system, that would be appreciated. > > rick > > > > > Mike > > > > > You might try to set up something with autofs, no idea if it could be= made > > > to work usefully. > > From nobody Fri Nov 24 16:28:23 2023 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 4ScL541Nj1z52KxT; Fri, 24 Nov 2023 16:28:24 +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 4ScL540X8Tz3TN6; Fri, 24 Nov 2023 16:28:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700843304; 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=nuKkOeT57iHJfdNrfKAExiqTTfG4dmw+6nvdBrXF0W0=; b=OmNDRCD5wPaHVHfaH2zxqrKAclV6dJPObrBWC7OI/xBo3yBydUqn3T7RS1ZDwkr6S3Laeu 05dhs9nIKFfJqLroXaaH9W+JkFx2wTb4ywAf3BmO0t7hkE+wf9nSDyDlM8UADoOaASeQA/ prqzhgu0RX4s323xXVQBcyHeeE/cztbZc6LhWVEfqAQ7DxCJp0hPrljvVxb6H7lwZ9/hg1 nASdTxz1J8L591FMNIDEfzqwYN/NzFiyFRrUK2vHqMhnvYc3um9PCGXz4Bd1xk/70V7lrx Av8ewfNL/YkOaFh+QkpqQFjpGUhjOUxsuUjTP9YBtHZMuPWknQIh3nB7etauaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700843304; 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=nuKkOeT57iHJfdNrfKAExiqTTfG4dmw+6nvdBrXF0W0=; b=k+5DriA0vGj580+tI+Q5ozyWG8WxbFgcnizLl12ckSQdKR0zSle69KJ2SeKYZM5egLpEc4 dOzshecegi134vAymhYs7ij562iHk8MKs5+RITx1g6HViJ2a4IWK/axRoYP4aFT2uQ4gRu +jzqfPMeMVkrC5zhzvYPWgTru90v1DOYqsdFJmSUa8g5AlHbYs8+/6cC6LjMKVcHtj63DD IOCYF+97Zfo2gpI+Ahrlbajs55M47Icb7iLnPb/epkD65h33DqNGcovG2jTawyPfDIEPfO JfB6er0Q+u5k82f+qCZF6in1WTiitMyaSJpGD0lCdaQqFhkRMVxBtXx6HVknDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700843304; a=rsa-sha256; cv=none; b=RDVuH3bWAkloOKD9vDsFkIArM814lBR1YWP26gwxrjG9lWbEq+biposn7fmuLXKYtjMDoy W7uaJhd89J23WoeGkqN8/q+90OA/CzRiCSmdVe2pGNTWOTpZ6W9bzy/nykWAJcC7UT0MdC H+0nnV+ZJ2f7sU6JIYGxxxnUtdEwMa+zuEpD3qrfO5dEl5lFMksWCcwcjDCi9V75+88XUb xlPlNs/tiNCJjt5siShjf6QVpVoTJpXvnRfzmvsCKb/LZh3qfDerNkI4NAONd2VdLWqP9K yo6SyOegLWOV5EUa49IFkSYYQl8JbVgHFe5xvt7dEvrpjfUaEzAcz8Aw95K/8w== 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 4ScL536hXrzsBY; Fri, 24 Nov 2023 16:28:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOGSN3p051252; Fri, 24 Nov 2023 16:28:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOGSN7v051249; Fri, 24 Nov 2023 16:28:23 GMT (envelope-from git) Date: Fri, 24 Nov 2023 16:28:23 GMT Message-Id: <202311241628.3AOGSN7v051249@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 393ac29f0b8b - main - kqueue: on process exit, force-clear its registered signal events 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 393ac29f0b8be068c8e46f76c2eeee07d20ea4df Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=393ac29f0b8be068c8e46f76c2eeee07d20ea4df commit 393ac29f0b8be068c8e46f76c2eeee07d20ea4df Author: Konstantin Belousov AuthorDate: 2023-11-24 06:41:58 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-24 16:26:53 +0000 kqueue: on process exit, force-clear its registered signal events Normally, process already has all its kqueue fds destroyed at the moment p_klist is detached in exit flow. But, if the process was created with rfork(2) with shared file descriptors, its signal knotes can survive. Then, knlist_detach() does not destroy non-empty knlist. Later, when owning kqueue is closed, we access freed (or rather, reused, because struct proc is type-stable) memory by referencing p->p_klist from such knote. Handle this situation by deleting all knotes hanging from p_klist. PR: 275286 Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42745 --- sys/kern/kern_exit.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index 112f9c7b0f33..d7b45ee96654 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -985,6 +985,7 @@ proc_reap(struct thread *td, struct proc *p, int *status, int options) proc_id_clear(PROC_ID_PID, p->p_pid); PROC_LOCK(p); + knlist_delete(p->p_klist, td, 1); knlist_detach(p->p_klist); p->p_klist = NULL; PROC_UNLOCK(p); From nobody Fri Nov 24 16:37:56 2023 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 4ScLJ42wJbz52PfK; Fri, 24 Nov 2023 16:37:56 +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 4ScLJ42T9Kz3XY5; Fri, 24 Nov 2023 16:37:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700843876; 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=FtYyd6EUA9aAK8BFhM9vVkRQr5ncDaxnHrUy9XSTvUE=; b=mv0/ns/jIX6SaZtKDqtmCBir2cGYFW990jpr+Dn33Funi2i9RVyVUTPBfWgFkkVhcxkkwW hVxAKE+ofAL57eV1R8YKAxsC7YYKAI9rzpWr7UUKZQKu9oGiMhC2aj9oRNX8KA8cb/OO1y 9s/3rLwxZ8w8cvArxafqm8p3r2LkRAf0Ym5x+WqDAdXywTIYAIapULGb40HqsEQKt4I38c Vxk5dEqnppvTsyBmta9fXJP4Nt5o+wOiAiWVZkHKrGqUhY0VB3hlkXUeuI85DEseP7eaJV bIPN7W/QSN/0jKbdacTN4k/wOn/nocFoOoWumn9Q4Lx9QIkma1Bs2juDR9Dfeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700843876; 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=FtYyd6EUA9aAK8BFhM9vVkRQr5ncDaxnHrUy9XSTvUE=; b=LUk1H84vu1VQT/Odwpsd2+FxrK1ubTkX9t/Dq2pMziUAfKHuDFks1LA4+K1k//Q03HHeI6 KubPBTmC4LQD4U3gK8C3Dvphd23KmQkfxzJVme79ohfVpCmTn70AzENfceh13DcTb3mE/J 51LLY7o7PVoNJUiezGQjv8vuzB+haTFya0kDtR2JI7Mg6xOrgMDagS9DvJJdp89CNfs/7w 9CNUr69MuhUWVA/xxU7XIbA+SdTsFpvb2uV7fwozzjASJk8MRlVX/ULjfE6S3E4EoDJ78G yukCDiE/o87+G9f54INRGEVXXw4IdveDHI6zc9lhXV87yXz5h3CNfRQRXCTFmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700843876; a=rsa-sha256; cv=none; b=U0R2PH9Jd4M+hzenkb4juzF8DeH4tO1a59Z2hcyblGLhTmOj+q0YqOcvhFbYw7Fn2iv8h1 T4L6hRo1iOSVOKFxsOFX9QdouNVy4aLJqh3ly5OICFSqCqdu9eh9HvoQ6qy9LdEsxYzrFm YcOX0O5ks2VeZXoiluXb/aaO8j2GFAnl3MJUY+Mp6FBesKKBcUKyu2nZpsuN93nK6yzkqe BFtsK5wi9wlssTvaOWT5Ss2anPXUWUL067T6WvJw810BF9UWE/iHfey9CF8zF4qARnc9lx lOlLZVfCcG5PhGT73tck067iCmnuQv07SJ4GHGNNpUKdLQtL1opZC3iToLkFHg== 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 4ScLJ41YJyzsHf; Fri, 24 Nov 2023 16:37:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOGbuff067778; Fri, 24 Nov 2023 16:37:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOGburw067775; Fri, 24 Nov 2023 16:37:56 GMT (envelope-from git) Date: Fri, 24 Nov 2023 16:37:56 GMT Message-Id: <202311241637.3AOGburw067775@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 187268c471c1 - stable/14 - bhyve: Fix the GDB_LOG build 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 187268c471c1708371365dd1c56bd3fec1120c03 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=187268c471c1708371365dd1c56bd3fec1120c03 commit 187268c471c1708371365dd1c56bd3fec1120c03 Author: Mark Johnston AuthorDate: 2023-11-11 17:14:49 +0000 Commit: Mark Johnston CommitDate: 2023-11-24 16:37:43 +0000 bhyve: Fix the GDB_LOG build MFC after: 1 week Fixes: 7d9ef309bd09 ("libvmmapi: Add a struct vcpu and use it in most APIs.") (cherry picked from commit 4e288572b85815bcefb929fcc4f20c01a459e9db) --- usr.sbin/bhyve/gdb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bhyve/gdb.c b/usr.sbin/bhyve/gdb.c index 55178677f837..a6c0700308e7 100644 --- a/usr.sbin/bhyve/gdb.c +++ b/usr.sbin/bhyve/gdb.c @@ -764,7 +764,7 @@ gdb_cpu_add(struct vcpu *vcpu) CPU_SET(vcpuid, &vcpus_active); if (!TAILQ_EMPTY(&breakpoints)) { vm_set_capability(vcpu, VM_CAP_BPT_EXIT, 1); - debug("$vCPU %d enabled breakpoint exits\n", vcpu); + debug("$vCPU %d enabled breakpoint exits\n", vcpuid); } /* From nobody Fri Nov 24 16:37:57 2023 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 4ScLJ54BJBz52PfM; Fri, 24 Nov 2023 16:37:57 +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 4ScLJ53TQKz3Xk2; Fri, 24 Nov 2023 16:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700843877; 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=x7x9pqj58nohW/VoWSjBBohDc42PvDYHrWwmVQlc5Oo=; b=wqHuDNhMBxn9iICdwTWFMYxe8yFZ7Vt1pY8dVXCp/vge7fIDpPXvQw6AQMu7h/h9FrKDdT VGQVN4IkdCbt7VUrkF4xD2GAQKNprDp4zB4deMs/skfgkPWUOiYCkjtkcQV08NYHCRynVE hyuZK3H2MVXKT3LvCuA9uDwz+9TDNxIcVMmH5EOIRKzf8BhBHjaDWgzFN9sQ8v3226uC/H JOus5UjwBaHktTzzPVifMBTZe5CGkvuiLg682lv01JMZS57+YECHBbKyRsXTTCUmIkQXMm RLuz+EwZs+MpFwR6C2hH8txXzdtGiUuqAQz/R0M9qFLgtxOyx44PZiCANya/1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700843877; 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=x7x9pqj58nohW/VoWSjBBohDc42PvDYHrWwmVQlc5Oo=; b=FxhP93zLRD5M3seeTXOFJGL15ofMcpAtJKcrz2YKzBmk1H1HybPorYPIZxjWcgBTNBlam0 +dMaq8ZEOwhGRAUahCYYUIu2lnjglmE3I21GXoXt0C/6WvVm2qBjtANgIIyVy5r2PAGTSU VyWyZH4LUgr+kwAqQWu0G9ouceSJtdSA1uw7y5OOab7UTnj84L414DFs6Qw+528MxXMHH7 4GKk3O+EGQdOHlu8wQNfuPwEyPfG1N013JRUZwqwPqC9uHTY3c/yFWHEM/tRoKsunyG0ut oc3YWy1uRUfb8EFmQLqgGZPcEgj407o8YHp4QAQS+FZMBgtZG2vun5aKvIo99A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700843877; a=rsa-sha256; cv=none; b=JVIv26Fk4e5pjipYzVNkao3kgxDYjfIsBBotR2xVePfCKkMzxCcAshAATak8Ir8oYcFYcY mmpQAwGElQnTq/xcFihlyqi5/mIytw3LKHSA+3eWQhL7Qi8DAtcCPkhLmTlW0pM1hwRoX2 JzaB2cwkYNEwwlheVb7JWAMJGwFXIDzM5OlJVBTqtAcZLlNY9b7PY1TmdeDsvzDqV0vpvq l3ubMKjvL1SGw61UFG+Sz06Kc49ShZMWgQ6t4pWGX5fnfzZA4SHIYSOe2pIWCvqSs+PGg6 7LOdY3ebbv52JJm6dLtpbcDpOui5wcPFh4HQihIFyWDnY23KDJenv59xEs4ygg== 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 4ScLJ52Y0hzrlH; Fri, 24 Nov 2023 16:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOGbvMw067832; Fri, 24 Nov 2023 16:37:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOGbvtu067829; Fri, 24 Nov 2023 16:37:57 GMT (envelope-from git) Date: Fri, 24 Nov 2023 16:37:57 GMT Message-Id: <202311241637.3AOGbvtu067829@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 34c7691f5320 - stable/14 - ktls tests: Relax error checking for shutdown(2) a bit 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 34c7691f532064c5a3d61a115b4ea086b2da3179 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=34c7691f532064c5a3d61a115b4ea086b2da3179 commit 34c7691f532064c5a3d61a115b4ea086b2da3179 Author: Mark Johnston AuthorDate: 2023-11-17 14:29:28 +0000 Commit: Mark Johnston CommitDate: 2023-11-24 16:37:46 +0000 ktls tests: Relax error checking for shutdown(2) a bit In my test suite runs I occasionally see shutdown(2) fail with ECONNRESET rather than ENOTCONN. soshutdown(2) will return ENOTCONN if the socket has been disconnected (synchronized by the socket lock), and tcp_usr_shutdown() will return ECONNRESET if the inpcb has been dropped (synchronized by the inpcb lock). I think it's possible to pass the first check in soshutdown() but fail the second check in tcp_usr_shutdown(), so modify the KTLS tests to permit this. Reviewed by: jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D42277 (cherry picked from commit b08a9b86f581edf09c5a2729d877a0204499685b) --- tests/sys/kern/ktls_test.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/sys/kern/ktls_test.c b/tests/sys/kern/ktls_test.c index a3d0c17d6d62..f57ae74112a2 100644 --- a/tests/sys/kern/ktls_test.c +++ b/tests/sys/kern/ktls_test.c @@ -1904,10 +1904,13 @@ test_ktls_receive_bad_size(const atf_tc_t *tc, struct tls_enable *en, /* * The other end may notice the error and drop the connection * before this executes resulting in shutdown() failing with - * ENOTCONN. Ignore this error if it occurs. + * either ENOTCONN or ECONNRESET. Ignore this error if it + * occurs. */ - if (shutdown(sockets[1], SHUT_WR) != 0) - ATF_REQUIRE_ERRNO(ENOTCONN, true); + if (shutdown(sockets[1], SHUT_WR) != 0) { + ATF_REQUIRE_MSG(errno == ENOTCONN || errno == ECONNRESET, + "shutdown() failed: %s", strerror(errno)); + } ktls_receive_tls_error(sockets[0], EMSGSIZE); From nobody Fri Nov 24 16:39:21 2023 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 4ScLKj417lz52QH8; Fri, 24 Nov 2023 16:39:21 +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 4ScLKj3Z2Yz3YCZ; Fri, 24 Nov 2023 16:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700843961; 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=NuZutdHbyEpAvoCtIo1VhmWwcK3DB9pmg6ghiNWTzH0=; b=jPOkFXCPqz9mX3mItNbNvA53whnezK0wQo8ozorZJhjORidAHrfHEB5PycpdWt94Hjy/pe 2Wyf7Fiyx1+4S7+8qgzTQknCxblgEyMM3RYS9YG8a31JbWwc1XzRFexHS9wDmw2fQnOFkq SIgkdJdAmaDG0oCSbFL6mt2CAoD4tSu+qOuzUW+T1p/T5BamWatW5YHg3BGvehwPgu/L3C 0H8IGMyiu1+YIN+1HNHVZjN27sEf6Ja08Ee162Z8p3seLp2QwtjlVXXmB3QeKsOeeKfj7e EZK2ar8xYg+s4zItwFvuCBUNQQqdS5dma4MGwhNaiBfG4EfRpbQJ7ckrKK4/Tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700843961; 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=NuZutdHbyEpAvoCtIo1VhmWwcK3DB9pmg6ghiNWTzH0=; b=hmO9r8PEAKmcJmUrXWfdCuSrlrCksvt83h54tKR33b3F99I4oXJp/S3jo1GFgsaZtnD//G vRn/SoH941YPQk7f0qXWkOi6QQbTBYtDu2EsekSUiwM6Iu0ALV2duHcEHUqcrqj2Qnkc2F VAolQphydmfnSFRpgLQjtVIrKW+IgmNLNws9NGouZgHJySHD/CwGogJL4woRZh3xSsnc3s 34Lw0FpnkBNX8NnA1aejKzj8likaq94gjpYgbJzCaU6B7VnvT2pzJvOyXYEeU8H1rJ+bxh BEOSNfv3wREXBtNdP6Gdpf+VrOnLwX+040n2HU34Xmj9Pbs6PBZsKh7OllopcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700843961; a=rsa-sha256; cv=none; b=EN5edROXcUIHI8FiIKUD70lheORAUFKlVYXfVknHd4KCXsIsSUDGo/ngDqfv8XdwCYHPnf LrIQZN9YBiqFaUfQ8ns30numFxWdOrvl9pA+VrQ+SglujMbr9NOP5hja/6f3+ca8dPZPFN vucahHiVUNozth/23lFGe2OFNA7vaJbrLnvKsJ/RY+nlRqBZ9WlawVi1RamwnCITb9q34Y RfXAEof0NSieZl4upKIXgZtv2bhFBQjK7hUBNZH/WYR/hSNbQbcVkXX/cQWWLWBwbwO+ZC 4uVA347b0mAtGhr8PmSrWCzvVXfZbHZuz+j55OvoVtTiiZIp0LTegYbHSyxJ1Q== 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 4ScLKj2dqjzsLC; Fri, 24 Nov 2023 16:39:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOGdLZw068159; Fri, 24 Nov 2023 16:39:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOGdLJn068156; Fri, 24 Nov 2023 16:39:21 GMT (envelope-from git) Date: Fri, 24 Nov 2023 16:39:21 GMT Message-Id: <202311241639.3AOGdLJn068156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 73902ed85ab7 - main - ldconfig: only configure compat32 when kernel supports it 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73902ed85ab73d455d4be8c77336c88a07512230 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=73902ed85ab73d455d4be8c77336c88a07512230 commit 73902ed85ab73d455d4be8c77336c88a07512230 Author: Konstantin Belousov AuthorDate: 2023-11-18 13:09:30 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-24 16:38:42 +0000 ldconfig: only configure compat32 when kernel supports it and eliminate hard-coded arch list. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42669 --- libexec/rc/rc.d/ldconfig | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libexec/rc/rc.d/ldconfig b/libexec/rc/rc.d/ldconfig index ed3484017d84..beb79ba95b84 100755 --- a/libexec/rc/rc.d/ldconfig +++ b/libexec/rc/rc.d/ldconfig @@ -39,10 +39,7 @@ ldconfig_start() startmsg 'ELF ldconfig path:' ${_LDC} ${ldconfig} -elf ${_ins} ${_LDC} - machine_arch=$(sysctl -n hw.machine_arch) - - case ${machine_arch} in - aarch64|amd64|powerpc64) + if check_kern_features compat_freebsd32; then for i in ${ldconfig_local32_dirs}; do if [ -d "${i}" ]; then _files=`find ${i} -type f` @@ -67,7 +64,7 @@ ldconfig_start() startmsg '32-bit compatibility ldconfig path:' ${_LDC} ${ldconfig} -32 ${_ins} ${_LDC} ;; - esac + fi fi } From nobody Fri Nov 24 17:22:34 2023 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 4ScMHZ2JPqz51JJ9; Fri, 24 Nov 2023 17:22:34 +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 4ScMHZ1q2sz4GTq; Fri, 24 Nov 2023 17:22:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846554; 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=+aw41kTqqDOaKN+AI6mUzgwVWJfBH2cFqNgN4fUwcYY=; b=aU70mR2w6Z6ucnC3cnwpvcaYMY8K3Jju6mABiiMC7t4iGGWvo7/t4lyMU9l3fs6iH/asmH 7iQWZ47ApFowbFEYj3y+YHdV2vsq/SGjrEQ3DipicPK/DHFGDqNYI0zoWdGvfskmUyG3RS g1N80OM6o49USnpsyVuLSz5hwfCACfmKrtLyCZPSG65mr1hCRjR8gGZ0R0vkCqrrUadNpy txa6M6EuHT1rR4TCC4cEhq8NO/UBA9DsN6tOglUv+rAbCwfqv5nOi1SsZFdzQGY0KjHJTR dHO76Mjuf8NLiQyedWIMX3i+vwJ+KGs3yjlfP5HtEi8NS0GN+77/gLG7Tw57+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846554; 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=+aw41kTqqDOaKN+AI6mUzgwVWJfBH2cFqNgN4fUwcYY=; b=T6glgLa1Gp7Z4ic3fm49xN9jqSegt6/35jnNUXwasqvWQwhrgO7yM56JxVMV/TJMP9rf8P lZVa9mdauZ2RD+udbgq6wr46Gd+732/RX3UTExbNH5EACTiWoZSvkmY+nuq22z2a0DIIOx b4sgKPUl8kcHVPdjqmy8oEczLOMxALzieB8JH5xPFmaAO0kH/dgSNnhUa8a4SspA9NaoiI P8TBQgx4IzAsb/39q+6He8XPQr/wz4OWdWNLhMbF3uG/ZBYDaCcziHRR429QmzDYkHWb0k +h7z2iRXZRV53Dce7jnLuSa8a5C7Nz/1A3629iO/8UkiDZXEqMssBv+QppIMxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700846554; a=rsa-sha256; cv=none; b=CXEMv2mqlxSD8MSKFPf923pwwItf2Sn4QGW9QlIMgauAP6lAK0uOO7FmVTUq6N044/TRHd jOTv+0mraO/2FpRw3EANkt9qePH0uyoL0x/AuTThxAG1f/UHYc3VsND53XFBo1/Z+B8gWl AnULG0gSMgeYAUPO3xmVpB1uwdXyCe7zV4J2bKGJEEV0gU4kqesOX+heJ2WH6J0ZcoXjiT h4EIGIAnVUVE4jL3kL/9mfIHBuQM14EQc/01QBPZBgXn6qocgcz0x65a43TqPVAfG96kGI spIGBjyv7WYzc+Pz52HorkwVzxjxRTU/xdDxbP2PlmqQLCjokAtwrot54dxnzg== 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 4ScMHZ0jVdztp4; Fri, 24 Nov 2023 17:22:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHMYuj050633; Fri, 24 Nov 2023 17:22:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHMXBM050630; Fri, 24 Nov 2023 17:22:34 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:22:34 GMT Message-Id: <202311241722.3AOHMXBM050630@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 94bddd2ab75f - stable/14 - pseudofs: fix off by one in hash iteration in pfs_purge 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: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 94bddd2ab75fd59fb25c7e162b3b335679bc518a Auto-Submitted: auto-generated The branch stable/14 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=94bddd2ab75fd59fb25c7e162b3b335679bc518a commit 94bddd2ab75fd59fb25c7e162b3b335679bc518a Author: Alvin Chen AuthorDate: 2023-11-20 05:55:35 +0000 Commit: Mateusz Guzik CommitDate: 2023-11-24 17:22:15 +0000 pseudofs: fix off by one in hash iteration in pfs_purge Sponsored by: Dell Technologies Differential Revision: https://reviews.freebsd.org/D42628 (cherry picked from commit e0d0f0930ee22af7bf38d28d8590d4e6c822871d) --- sys/fs/pseudofs/pseudofs_vncache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/pseudofs/pseudofs_vncache.c b/sys/fs/pseudofs/pseudofs_vncache.c index 33023dd0d08f..e58aced7f81b 100644 --- a/sys/fs/pseudofs/pseudofs_vncache.c +++ b/sys/fs/pseudofs/pseudofs_vncache.c @@ -306,7 +306,7 @@ pfs_purge(struct pfs_node *pn) mtx_lock(&pfs_vncache_mutex); restart: removed = 0; - for (i = 0; i < pfs_vncache_hash; i++) { + for (i = 0; i <= pfs_vncache_hash; i++) { restart_chain: SLIST_FOREACH(pvd, &pfs_vncache_hashtbl[i], pvd_hash) { if (pn != NULL && pvd->pvd_pn != pn) From nobody Fri Nov 24 17:27:39 2023 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 4ScMPV2g3Qz51Lnh; Fri, 24 Nov 2023 17:27:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ScMPV2C5lz4HSD; Fri, 24 Nov 2023 17:27:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846862; 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: in-reply-to:in-reply-to:references:references; bh=LhkH4PTSu595nBFXLYXN3K35Btg3cLswbFkc5Jl1g4I=; b=dfYFkJbCmFipB75nR9pcG1KlO+Nvw5vvzA4G4QlwZCJ/laUk4+7i9NLX+l/9i8IO22kPoi Fk5L60TL7no0hdu21q8S5LERx+Px0ac+LPuBWUmLBg5yecyIeUoQt2ji3Tqtg3JIZcJL4F gbrdWh+gL+bU6UNnl0c9Pa2OOqBiLb/IelBOIBXuMva7DQLAnFHTR0PrwpxmFVk54WoePt wgY1GUSznCx+fXFXEbL5xlxE4vqi8B2WnlrF/WpCR9V4/Z7B7oiTV+WdeCBL26HYG2lnB9 h+KvFLicQKTBt4JxhVOgsO0bKIehCYjOOQwUuqxwVwd6Q4QbxfKneC3Esrmphg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846862; 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: in-reply-to:in-reply-to:references:references; bh=LhkH4PTSu595nBFXLYXN3K35Btg3cLswbFkc5Jl1g4I=; b=PymXkhDpzpnsAUrpwaTY0m1WgYSkZXUwEVQ4YvulTZR6G8OOa2a8XqB3R2DwKwiKTlVJAc 9IFz2AxEOp+3I+82VEVCksjN8kkqad5+smNY4GsD7mJq6uG4QUHOyosxD7Ss87wxzJPb8P NhGdHY4tj8vGlxY0tlVK6MgPyt8YRWPIs+hlhVZTE2Z5aLszZD7u/2opLUIsL14jVKM7tC d9NBKQZfY/C/CuWYPY4H+Uw0BKCgmb38+g9g97+Fm08xWOW144bpe8+waAog53Pffw3jG/ vmC/dQIO/PtswSNjmXHJgV3O1BEF1kpkTYvivr3hhyFcETzD7VNxhEM+7Zr9Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700846862; a=rsa-sha256; cv=none; b=HYQRtxXzDtkosBmDLunnrjMIS1y9kr58kcht7DUmBimwk9BKIlxdrDez/KQJf/Qf77lYNG ecV5m3TAVBIL42Cqb3haisUctk1WjrU+YqaWmkFl/szp8fMllkjOyOsHdyn80MF1JMdD1C 7FK/2QFF1yid4BfWkpia9D+kV89BbWmy/MwcAHqcMCvvNrKgTA30Q4FE/8W4FpeId2B3LU l1roIvpNEvjxLaqeOLT0plNdYhovmxYQA8GjiFds5lOLgjCPKPUBYqgBkZrE8dKEYzmbHp Nxb5SAPKvHdfj3FtcQQin1XbPJfnFGKCoDVM9fmNpE1C9hrYGbAjHB5/h+b2bg== Received: from [IPV6:2601:648:8384:fd00:cd8e:ae25:64ed:d338] (unknown [IPv6:2601:648:8384:fd00:cd8e:ae25:64ed:d338]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ScMPT5GMtz49q; Fri, 24 Nov 2023 17:27:41 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <79e6e3a1-96a5-4d3e-9c48-a89bcbd6303d@FreeBSD.org> Date: Fri, 24 Nov 2023 09:27:39 -0800 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 2a35f3cdf63d - main - sys/mutex.h: Include sys/lock.h instead of sys/_lock.h Content-Language: en-US To: Emmanuel Vadot , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202311240950.3AO9oSeH089169@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202311240950.3AO9oSeH089169@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/24/23 1:50 AM, Emmanuel Vadot wrote: > The branch main has been updated by manu: > > URL: https://cgit.FreeBSD.org/src/commit/?id=2a35f3cdf63d1f9b1ea5ab0174adabb631757210 > > commit 2a35f3cdf63d1f9b1ea5ab0174adabb631757210 > Author: Emmanuel Vadot > AuthorDate: 2022-10-27 09:43:19 +0000 > Commit: Emmanuel Vadot > CommitDate: 2023-11-24 09:49:58 +0000 > > sys/mutex.h: Include sys/lock.h instead of sys/_lock.h > > It uses the LA_ defines when INVARIANTS is set. > This unbreak dpaa2 with FDT only kernel (like ALLWINNER or ROCKCHIP) as > the driver only include sys/lock.h via header polution for ACPI kernels. > > Sponsored by: Beckhoff Automation GmbH & Co. KG > Differential Revision: https://reviews.freebsd.org/D37145 > Reviewed by: kib, mjg Avoiding the nested include here was originally an intentional design decision. It was supposed to be a compile error if you didn't include lock.h first, and callers are always supposed to include both (up until now). However, I'm fine with changing this, but we should be consistent and change all the other lock headers at once including sys/rwlock.h, sys/sx.h, and sys/lockmgr.h. You will also need to patch all of these headers to remove the #error if LOCK_DEBUG or LOCK_FILE isn't defined (including sys/mutex.h which you missed in this commit). You will also need to update all the relevant manpages (mutex.9, sx.9, rwlock.9, and lockmgr.9) to remove the #include . For MFC purposes I would suggest to also fix dpaa2 to #include explicitly as it was supposed to do previously. -- John Baldwin From nobody Fri Nov 24 17:28:54 2023 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 4ScMQv1FhRz51MQg; Fri, 24 Nov 2023 17:28:55 +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 4ScMQv0QVbz4J3G; Fri, 24 Nov 2023 17:28:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846935; 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=aLWr30l1l6AnhsSRpBwkKGh0U2M346GsFEv/roMh3fs=; b=czpN/tT/l6DFUmq3yqeIrgGpkcvJYkXWYL7YxN9dflKPpvgSFx1CdsE+FmUeNcuiZazvje 0M/8K3YFGxld2kAGgfdvod2An6ON4f0gzO0ff3L1Zjkj+ZOY6lpJbt95BIST0XpzqECSy/ F//oHK6N6yJ7/BI6zNopFH0X0GN83ir1S7VWYxJzua+DE3SzWBX8Tiq7Ce6nsmVkEpxLGn 38FLRoOqETzqO3RevHE7On51wqZEUTp9Fww+5F8uMsheWUCqLLImAmNBd0SbVj1gfEXTSD eaUVZ3elAoXesLSnS3GfpjTDzZcPsA1ImyAQL0V3aI0+Sw0G3Rs8/WbHn25Uvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846935; 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=aLWr30l1l6AnhsSRpBwkKGh0U2M346GsFEv/roMh3fs=; b=XW6IRkECu7DmBGsTAHb9UxO5aSYOwzvAuZGWUhyoCYa8aXuZ1m1XgqozYs5BSOBC0GzfGC oaEgbAKNI5RVvQUyFUwc5DDSeltJcVKhgQC3/PCY3gB/dkAg26C43ci4yuY7M1hEk7PsLy CjD7LcheRnIcBNXipZbd1IjA5gzDleWL1zW9sFP3XKcRTexNnO/R+Kl7WcBko0+aY595vR Qyfea6JyQuJ00Pimknkip3NK660SkpaJebQaqP+bmgyhS2jOn+11EvluYInv+AnZ5TPuQm UDOMumUxuzs5RO4YbREkjyU7N4AsY7Fi3yqBlepinGLXaGJETggozIWI6Ss6LQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700846935; a=rsa-sha256; cv=none; b=VjvVrooYkh+DXfim4cf25OGWyDp1CStlIHbt0pZDdduueezQxmNxCovB6BtOP7YcEvm10S Vl9jMavRhnHA2F1dmb9yPlk4GYn47Q/cUPhUguOuPLkEpOXgA8XoFuXCotsUotjouYuy2n YhD5FubOTka3JymVw9c8BRvbqQzInz0vw/tU/ZLxA7IOT2IB14F3dtHUMXvkcpzUdteTiq kUsE4axt5F03TW71OqwcJSRqH/ncxE6qTm9DJVRaee4YPYJZAKwAy0Pwnbz4vj0QEGoKy6 JscLMGT06xhQTCqsEwYYKrTuEIVmtC2LzjnrpKiTjyTwPAJfrxsBWhRDbCshAw== 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 4ScMQt6bQwztZS; Fri, 24 Nov 2023 17:28:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHSsD3051627; Fri, 24 Nov 2023 17:28:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHSsou051624; Fri, 24 Nov 2023 17:28:54 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:28:54 GMT Message-Id: <202311241728.3AOHSsou051624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 751615c53844 - main - newbus: Add a set of bus resource helpers for nexus-like devices 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 751615c538446ea0384f8faa9cb2508670c3799a Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=751615c538446ea0384f8faa9cb2508670c3799a commit 751615c538446ea0384f8faa9cb2508670c3799a Author: John Baldwin AuthorDate: 2023-11-24 17:28:00 +0000 Commit: John Baldwin CommitDate: 2023-11-24 17:28:00 +0000 newbus: Add a set of bus resource helpers for nexus-like devices These routines can be used to implement bus_alloc/adjust/activate/deactive/release_resource on bus drivers which suballocate resources from rman(9) resource managers. These methods require a new bus_get_rman method in the bus driver to return the suitable rman for a given resource type. The activate/deactivate helpers also require the bus to implement the bus_map/ummap_resource methods. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42739 --- sys/kern/bus_if.m | 24 ++++++++ sys/kern/subr_bus.c | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++ sys/sys/bus.h | 17 ++++++ 3 files changed, 198 insertions(+) diff --git a/sys/kern/bus_if.m b/sys/kern/bus_if.m index 7bd08fb713f8..7078683911b8 100644 --- a/sys/kern/bus_if.m +++ b/sys/kern/bus_if.m @@ -77,6 +77,12 @@ CODE { { return (0); } + + static struct rman * + null_get_rman(device_t bus, int type, u_int flags) + { + return (NULL); + } }; /** @@ -622,6 +628,24 @@ METHOD struct resource_list * get_resource_list { device_t _child; } DEFAULT bus_generic_get_resource_list; +/** + * @brief Return a struct rman. + * + * Used by drivers which use bus_generic_rman_alloc_resource() etc. to + * implement their resource handling. It should return the resource + * manager used for the given resource type. + * + * @param _dev the bus device + * @param _type the resource type + * @param _flags resource flags (@c RF_XXX flags in + * ) + */ +METHOD struct rman * get_rman { + device_t _dev; + int _type; + u_int _flags; +} DEFAULT null_get_rman; + /** * @brief Is the hardware described by @p _child still attached to the * system? diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 80fe182eab56..9e191f4c3a4f 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -4189,6 +4189,163 @@ bus_generic_rl_alloc_resource(device_t dev, device_t child, int type, start, end, count, flags)); } +/** + * @brief Helper function for implementing BUS_ALLOC_RESOURCE(). + * + * This implementation of BUS_ALLOC_RESOURCE() allocates a + * resource from a resource manager. It uses BUS_GET_RMAN() + * to obtain the resource manager. + */ +struct resource * +bus_generic_rman_alloc_resource(device_t dev, device_t child, int type, + int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) +{ + struct resource *r; + struct rman *rm; + + rm = BUS_GET_RMAN(dev, type, flags); + if (rm == NULL) + return (NULL); + + r = rman_reserve_resource(rm, start, end, count, flags & ~RF_ACTIVE, + child); + if (r == NULL) + return (NULL); + rman_set_rid(r, *rid); + + if (flags & RF_ACTIVE) { + if (bus_activate_resource(child, type, *rid, r) != 0) { + rman_release_resource(r); + return (NULL); + } + } + + return (r); +} + +/** + * @brief Helper function for implementing BUS_ADJUST_RESOURCE(). + * + * This implementation of BUS_ADJUST_RESOURCE() adjusts resources only + * if they were allocated from the resource manager returned by + * BUS_GET_RMAN(). + */ +int +bus_generic_rman_adjust_resource(device_t dev, device_t child, int type, + struct resource *r, rman_res_t start, rman_res_t end) +{ + struct rman *rm; + + rm = BUS_GET_RMAN(dev, type, rman_get_flags(r)); + if (rm == NULL) + return (ENXIO); + if (!rman_is_region_manager(r, rm)) + return (EINVAL); + return (rman_adjust_resource(r, start, end)); +} + +/** + * @brief Helper function for implementing BUS_RELEASE_RESOURCE(). + * + * This implementation of BUS_RELEASE_RESOURCE() releases resources + * allocated by bus_generic_rman_alloc_resource. + */ +int +bus_generic_rman_release_resource(device_t dev, device_t child, int type, + int rid, struct resource *r) +{ +#ifdef INVARIANTS + struct rman *rm; +#endif + int error; + +#ifdef INVARIANTS + rm = BUS_GET_RMAN(dev, type, rman_get_flags(r)); + KASSERT(rman_is_region_manager(r, rm), + ("%s: rman %p doesn't match for resource %p", __func__, rm, r)); +#endif + + if (rman_get_flags(r) & RF_ACTIVE) { + error = bus_deactivate_resource(child, type, rid, r); + if (error != 0) + return (error); + } + return (rman_release_resource(r)); +} + +/** + * @brief Helper function for implementing BUS_ACTIVATE_RESOURCE(). + * + * This implementation of BUS_ACTIVATE_RESOURCE() activates resources + * allocated by bus_generic_rman_alloc_resource. + */ +int +bus_generic_rman_activate_resource(device_t dev, device_t child, int type, + int rid, struct resource *r) +{ + struct resource_map map; +#ifdef INVARIANTS + struct rman *rm; +#endif + int error; + +#ifdef INVARIANTS + rm = BUS_GET_RMAN(dev, type, rman_get_flags(r)); + KASSERT(rman_is_region_manager(r, rm), + ("%s: rman %p doesn't match for resource %p", __func__, rm, r)); +#endif + + error = rman_activate_resource(r); + if (error != 0) + return (error); + + if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && + (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { + error = BUS_MAP_RESOURCE(dev, child, type, r, NULL, &map); + if (error != 0) { + rman_deactivate_resource(r); + return (error); + } + + rman_set_mapping(r, &map); + } + return (0); +} + +/** + * @brief Helper function for implementing BUS_DEACTIVATE_RESOURCE(). + * + * This implementation of BUS_DEACTIVATE_RESOURCE() deactivates + * resources allocated by bus_generic_rman_alloc_resource. + */ +int +bus_generic_rman_deactivate_resource(device_t dev, device_t child, int type, + int rid, struct resource *r) +{ + struct resource_map map; +#ifdef INVARIANTS + struct rman *rm; +#endif + int error; + +#ifdef INVARIANTS + rm = BUS_GET_RMAN(dev, type, rman_get_flags(r)); + KASSERT(rman_is_region_manager(r, rm), + ("%s: rman %p doesn't match for resource %p", __func__, rm, r)); +#endif + + error = rman_deactivate_resource(r); + if (error != 0) + return (error); + + if ((rman_get_flags(r) & RF_UNMAPPED) == 0 && + (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { + rman_get_mapping(r, &map); + BUS_UNMAP_RESOURCE(dev, child, type, r, &map); + } + return (0); +} + /** * @brief Helper function for implementing BUS_CHILD_PRESENT(). * diff --git a/sys/sys/bus.h b/sys/sys/bus.h index 88ae4000004b..2ec735659452 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -499,6 +499,23 @@ int bus_generic_rl_set_resource (device_t, device_t, int, int, rman_res_t, rman_res_t); int bus_generic_rl_release_resource (device_t, device_t, int, int, struct resource *); +struct resource * + bus_generic_rman_alloc_resource(device_t dev, device_t child, int type, + int *rid, rman_res_t start, + rman_res_t end, rman_res_t count, + u_int flags); +int bus_generic_rman_adjust_resource(device_t dev, device_t child, int type, + struct resource *r, rman_res_t start, + rman_res_t end); +int bus_generic_rman_release_resource(device_t dev, device_t child, + int type, int rid, + struct resource *r); +int bus_generic_rman_activate_resource(device_t dev, device_t child, + int type, int rid, + struct resource *r); +int bus_generic_rman_deactivate_resource(device_t dev, device_t child, + int type, int rid, + struct resource *r); int bus_generic_shutdown(device_t dev); int bus_generic_suspend(device_t dev); From nobody Fri Nov 24 17:28:55 2023 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 4ScMQw1nWdz51MFy; Fri, 24 Nov 2023 17:28:56 +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 4ScMQw1MqFz4JM5; Fri, 24 Nov 2023 17:28:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846936; 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=qWyHihyDODaI5uhhDLkU9KUNmGYFPyuYMIRLbFTfuTk=; b=UVuNYMqnZtMpceVOR34n/gMZgvd0MqqHoaTeNi7XAGVPurelg3NyuRBF2gzhHkoOmHsuZD SUQ5v2Ok0eQNWTjU8VBr4KK7UCcl1jkK7LM/okCbu3ytoTgkQ5hyqS0Urb6npQ0lDPlUIB N8YZyrUh+zX+qpzhT4S1djyrjOl4PqadwIfj9R38ONAU1JCBQRXJjkNpIMLKKBojIs5YwI ySpJi8Lp+vngFUxs6PDXQ/ggFuAD6Ll6ppYpW7R/rlcTFv1ed6LFRw3Z57QJSNZ3ESCAJw zXVNgNLEEEUw1E2pa2JNna7SdZhiH/X+82ImTGdZ28jXRhQa4f/fuSqpkK8OvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846936; 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=qWyHihyDODaI5uhhDLkU9KUNmGYFPyuYMIRLbFTfuTk=; b=WyTHS9frTX0DbefK+nhooBeSvWhx2esPFJyVgE7G2fhWk36pb1Gnlxr/LdqLwEvKhWkhKH 93zElMUZLgIBqhnZbUK28/UQ/qygqcSgpCW0iKzv11dnCRCXXfWVTmRbJM8fp1/hOYf1hr HJRA63BK+/G6F+oWG+49prBCQ/ofdPfHwzUVvvPM3X4gC8XtwroneNVwDjDwpBpu+g7JEd ae72ObFBW7CM+E34OCP8A8st8vc1zxrRVjCt2IPKbsmcZAOW0uBvmYplGifan1utzSFMMo EKZum/Oux8marcSFHxh1C54yAGM+wxgV+J4dA1v2iLNggX0XQIioNSX5FcUbkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700846936; a=rsa-sha256; cv=none; b=T7OTjGCyvo9qyO0EhdiMoWEpMa93RAozZq4IiDYbGhkC8QO+sVTXcygnViS7crQa6Hw3tQ 0EUb4THVip2FjNHW4cuZ5mSnldrCvOEDXEd0gN1+03mWlM1Rdq3Bxxhyddy/AQPCbRc02D 3oyKJkPDgrs2rgP9VFMNNE+8XX/JoJxw5uKlWg4hET3DjKqQKJsUdXb/E77oZxzxHsqjmZ wdnvRJz4hw6JW8jX7go2G1P6YEuxhgW5wISuGSHv/XUbM8sSiBgOi8U14Mr5c66z/fL9im V9/YQHa5/6NCDgYHVorREC7IK9CSXc1tzhi+oPAEZFCh+aOp+Bct4NaW7ytMuQ== 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 4ScMQw0CQWztZT; Fri, 24 Nov 2023 17:28:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHStmA051666; Fri, 24 Nov 2023 17:28:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHStlO051663; Fri, 24 Nov 2023 17:28:55 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:28:55 GMT Message-Id: <202311241728.3AOHStlO051663@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: a03a335a8012 - main - x86 nexus: Use bus_generic_rman_*_resource 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a03a335a801246dfb95ccf35ec3f64b9fe968874 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a03a335a801246dfb95ccf35ec3f64b9fe968874 commit a03a335a801246dfb95ccf35ec3f64b9fe968874 Author: John Baldwin AuthorDate: 2023-11-24 17:28:10 +0000 Commit: John Baldwin CommitDate: 2023-11-24 17:28:10 +0000 x86 nexus: Use bus_generic_rman_*_resource Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42740 --- sys/x86/x86/nexus.c | 110 +++++----------------------------------------------- 1 file changed, 9 insertions(+), 101 deletions(-) diff --git a/sys/x86/x86/nexus.c b/sys/x86/x86/nexus.c index 54c655c4fafd..9b05758a6cbf 100644 --- a/sys/x86/x86/nexus.c +++ b/sys/x86/x86/nexus.c @@ -97,13 +97,10 @@ static device_attach_t nexus_attach; static bus_add_child_t nexus_add_child; static bus_print_child_t nexus_print_child; -static bus_activate_resource_t nexus_activate_resource; -static bus_adjust_resource_t nexus_adjust_resource; static bus_alloc_resource_t nexus_alloc_resource; -static bus_deactivate_resource_t nexus_deactivate_resource; static bus_get_resource_list_t nexus_get_reslist; +static bus_get_rman_t nexus_get_rman; static bus_map_resource_t nexus_map_resource; -static bus_release_resource_t nexus_release_resource; static bus_unmap_resource_t nexus_unmap_resource; #ifdef SMP @@ -138,15 +135,16 @@ static device_method_t nexus_methods[] = { /* Bus interface */ DEVMETHOD(bus_print_child, nexus_print_child), DEVMETHOD(bus_add_child, nexus_add_child), - DEVMETHOD(bus_activate_resource, nexus_activate_resource), - DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), + DEVMETHOD(bus_activate_resource, bus_generic_rman_activate_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_rman_adjust_resource), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), - DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), + DEVMETHOD(bus_deactivate_resource, bus_generic_rman_deactivate_resource), DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), + DEVMETHOD(bus_get_rman, nexus_get_rman), DEVMETHOD(bus_delete_resource, bus_generic_rl_delete_resource), DEVMETHOD(bus_map_resource, nexus_map_resource), - DEVMETHOD(bus_release_resource, nexus_release_resource), + DEVMETHOD(bus_release_resource, bus_generic_rman_release_resource), DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), DEVMETHOD(bus_unmap_resource, nexus_unmap_resource), #ifdef SMP @@ -328,7 +326,7 @@ nexus_add_child(device_t bus, u_int order, const char *name, int unit) } static struct rman * -nexus_rman(int type) +nexus_get_rman(device_t bus, int type, u_int flags) { switch (type) { case SYS_RES_IRQ: @@ -354,10 +352,7 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, u_int flags) { struct nexus_device *ndev = DEVTONX(child); - struct resource *rv; struct resource_list_entry *rle; - struct rman *rm; - int needactivate = flags & RF_ACTIVE; /* * If this is an allocation of the "default" range for a given @@ -376,81 +371,8 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, count = rle->count; } - flags &= ~RF_ACTIVE; - rm = nexus_rman(type); - if (rm == NULL) - return (NULL); - - rv = rman_reserve_resource(rm, start, end, count, flags, child); - if (rv == NULL) - return (NULL); - rman_set_rid(rv, *rid); - - if (needactivate) { - if (bus_activate_resource(child, type, *rid, rv)) { - rman_release_resource(rv); - return (NULL); - } - } - - return (rv); -} - -static int -nexus_adjust_resource(device_t bus, device_t child, int type, - struct resource *r, rman_res_t start, rman_res_t end) -{ - struct rman *rm; - - rm = nexus_rman(type); - if (rm == NULL) - return (ENXIO); - if (!rman_is_region_manager(r, rm)) - return (EINVAL); - return (rman_adjust_resource(r, start, end)); -} - -static int -nexus_activate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - struct resource_map map; - int error; - - error = rman_activate_resource(r); - if (error != 0) - return (error); - - if (!(rman_get_flags(r) & RF_UNMAPPED) && - (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { - error = nexus_map_resource(bus, child, type, r, NULL, &map); - if (error) { - rman_deactivate_resource(r); - return (error); - } - - rman_set_mapping(r,&map); - } - return (0); -} - -static int -nexus_deactivate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - struct resource_map map; - int error; - - error = rman_deactivate_resource(r); - if (error) - return (error); - - if (!(rman_get_flags(r) & RF_UNMAPPED) && - (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT)) { - rman_get_mapping(r, &map); - nexus_unmap_resource(bus, child, type, r, &map); - } - return (0); + return (bus_generic_rman_alloc_resource(bus, child, type, rid, + start, end, count, flags)); } static int @@ -523,20 +445,6 @@ nexus_unmap_resource(device_t bus, device_t child, int type, struct resource *r, return (0); } -static int -nexus_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - int error; - - if (rman_get_flags(r) & RF_ACTIVE) { - error = bus_deactivate_resource(child, type, rid, r); - if (error != 0) - return (error); - } - return (rman_release_resource(r)); -} - /* * Currently this uses the really grody interface from kern/kern_intr.c * (which really doesn't belong in kern/anything.c). Eventually, all of From nobody Fri Nov 24 17:28:57 2023 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 4ScMQx3DRlz51MTD; Fri, 24 Nov 2023 17:28:57 +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 4ScMQx2Vskz4JK7; Fri, 24 Nov 2023 17:28:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846937; 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=vYgsmvg1LJslU9LyJtKUkqn3t6SS8pWOZoZ03z7a8bQ=; b=Z1oZama/e7TStJlzt4gZ+75hYvlUUuqFvp7Y7q4DDlezLH4kBYUiDL3rSocL7n3MjNfAIK fI0mKbeScKVHlct7qk6DDM/adeOLRQ2PzXb6EisfuG+b8AJbxGPHrK82bjVqny26SFS0qA y6DTU0e31Mcf7Q+zJqPINTibKR1hG08+nWSNK8ugPNv2kHbnFikfrygl4EJsazlhVDhEPY BqHfmBRTbvXzuEpUGncN742GNyTAseKOCMxtckf+y6LNShCIBp3jZ/nd4EpJBAqyQjLyu1 Fc0J7prpNpD+xBN3W3J0fl1mNi1eDU8P90J9o/TNpJAWPhYFqXtjkA/yJRgiqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846937; 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=vYgsmvg1LJslU9LyJtKUkqn3t6SS8pWOZoZ03z7a8bQ=; b=EJ9Afv5/FGsa9cqG+qfh93HXQPolJDiumVpQLlN0GNgVqaUV0naoaw9qO2KlZX6upR7Qw/ 8AsnVsVnAO0pu0DXg7gMMPAZ90lUlT5K/Sq6dWqgDl79vFjKCSEIPTSK7ywa+i45IJwW6Y Yt9EGPgenrOq5fa2B+HAOJtN9o9Q0gkEB7T57Jhc9zb77ZmFODvCcyP8WGegGUELp21SiR g4FEQbAVj/LYVx1IXN/ONs+iPGZXnpgZSBonT/eF8x2ov2xaawoGFfsGe0ma/4OqXRwZD0 5Ajc+h8xGkaMy9FbHOTVaXHW8iijs7aYmvCFwmvjF0E4AsHe/V/gtEyTmU2KTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700846937; a=rsa-sha256; cv=none; b=qCa5VM3lYNKowoI1lpThAQwSdFEUOa4xgysbREpYdw6UjWV5hVOI1ApxXy6qHMndHHNRDq 419D+pxqKsr/2+ZsipsQ5v+wA276/PKbEsAh5P6zqDRoIXcfxc3yhMwMpIGP99tO8mOg2S F4fXazCwuQ8VRMfHu9VVWCu1mTE/H1ygQwBUTmaJF6V+Jfi6cE/WNrVhvzIWZq9RvIWqr9 sh/Vdish72fYKNg2G36CHx5P/KLVoin2slALtdOMJNLmwbT1M7qu3Dx2q6PhQVxoJ81iTv qIzv6ZcT8Ftr8CjG/+IH58nCSldY1OS6vGBhfBmC/4Gvdr64Eckb9tQALd39Kw== 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 4ScMQx1D8BztpK; Fri, 24 Nov 2023 17:28:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHSvib051705; Fri, 24 Nov 2023 17:28:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHSvZ6051702; Fri, 24 Nov 2023 17:28:57 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:28:57 GMT Message-Id: <202311241728.3AOHSvZ6051702@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 658501d25930 - main - aarch64 nexus: Use bus_generic_rman_*_resource 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 658501d25930bcf24839f3308ee1da971145c018 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=658501d25930bcf24839f3308ee1da971145c018 commit 658501d25930bcf24839f3308ee1da971145c018 Author: John Baldwin AuthorDate: 2023-11-24 17:28:19 +0000 Commit: John Baldwin CommitDate: 2023-11-24 17:28:19 +0000 aarch64 nexus: Use bus_generic_rman_*_resource Custom activate/deactivate_resource methods are still needed to handle IRQ resources. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42741 --- sys/arm64/arm64/nexus.c | 123 +++++++++++++++--------------------------------- 1 file changed, 37 insertions(+), 86 deletions(-) diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index a20f8d0289ad..32b5542f1916 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -106,12 +106,11 @@ static bus_add_child_t nexus_add_child; static bus_print_child_t nexus_print_child; static bus_activate_resource_t nexus_activate_resource; -static bus_adjust_resource_t nexus_adjust_resource; static bus_alloc_resource_t nexus_alloc_resource; static bus_deactivate_resource_t nexus_deactivate_resource; static bus_get_resource_list_t nexus_get_reslist; +static bus_get_rman_t nexus_get_rman; static bus_map_resource_t nexus_map_resource; -static bus_release_resource_t nexus_release_resource; static bus_unmap_resource_t nexus_unmap_resource; #ifdef SMP @@ -133,14 +132,15 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_add_child, nexus_add_child), DEVMETHOD(bus_print_child, nexus_print_child), DEVMETHOD(bus_activate_resource, nexus_activate_resource), - DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_rman_adjust_resource), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), DEVMETHOD(bus_delete_resource, bus_generic_rl_delete_resource), DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), + DEVMETHOD(bus_get_rman, nexus_get_rman), DEVMETHOD(bus_map_resource, nexus_map_resource), - DEVMETHOD(bus_release_resource, nexus_release_resource), + DEVMETHOD(bus_release_resource, bus_generic_rman_release_resource), DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), DEVMETHOD(bus_unmap_resource, nexus_unmap_resource), #ifdef SMP @@ -215,6 +215,21 @@ nexus_add_child(device_t bus, u_int order, const char *name, int unit) return (child); } +static struct rman * +nexus_get_rman(device_t bus, int type, u_int flags) +{ + + switch (type) { + case SYS_RES_IRQ: + return (&irq_rman); + case SYS_RES_MEMORY: + case SYS_RES_IOPORT: + return (&mem_rman); + default: + return (NULL); + } +} + /* * Allocate a resource on behalf of child. NB: child is usually going to be a * child of one of our descendants, not a direct child of nexus0. @@ -224,10 +239,7 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { struct nexus_device *ndev = DEVTONX(child); - struct resource *rv; struct resource_list_entry *rle; - struct rman *rm; - int needactivate = flags & RF_ACTIVE; /* * If this is an allocation of the "default" range for a given @@ -246,70 +258,8 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, count = rle->count; } - switch (type) { - case SYS_RES_IRQ: - rm = &irq_rman; - break; - - case SYS_RES_MEMORY: - case SYS_RES_IOPORT: - rm = &mem_rman; - break; - - default: - return (NULL); - } - - rv = rman_reserve_resource(rm, start, end, count, flags, child); - if (rv == NULL) - return (NULL); - - rman_set_rid(rv, *rid); - rman_set_bushandle(rv, rman_get_start(rv)); - - if (needactivate) { - if (bus_activate_resource(child, type, *rid, rv)) { - rman_release_resource(rv); - return (NULL); - } - } - - return (rv); -} - -static int -nexus_adjust_resource(device_t bus __unused, device_t child __unused, int type, - struct resource *r, rman_res_t start, rman_res_t end) -{ - struct rman *rm; - - switch (type) { - case SYS_RES_IRQ: - rm = &irq_rman; - break; - case SYS_RES_MEMORY: - rm = &mem_rman; - break; - default: - return (EINVAL); - } - if (rman_is_region_manager(r, rm) == 0) - return (EINVAL); - return (rman_adjust_resource(r, start, end)); -} - -static int -nexus_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *res) -{ - int error; - - if (rman_get_flags(res) & RF_ACTIVE) { - error = bus_deactivate_resource(child, type, rid, res); - if (error) - return (error); - } - return (rman_release_resource(res)); + return (bus_generic_rman_alloc_resource(bus, child, type, rid, start, + end, count, flags)); } static int @@ -417,8 +367,10 @@ nexus_activate_resource_flags(device_t bus, device_t child, int type, int rid, rman_deactivate_resource(r); return (err); } + return (0); + default: + return (EINVAL); } - return (0); } static int @@ -440,23 +392,22 @@ static int nexus_deactivate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { - bus_size_t psize; - bus_space_handle_t vaddr; - - if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { - psize = (bus_size_t)rman_get_size(r); - vaddr = rman_get_bushandle(r); + int error; - if (vaddr != 0) { - bus_space_unmap(&memmap_bus, vaddr, psize); - rman_set_virtual(r, NULL); - rman_set_bushandle(r, 0); - } - } else if (type == SYS_RES_IRQ) { + switch (type) { + case SYS_RES_MEMORY: + case SYS_RES_IOPORT: + return (bus_generic_rman_deactivate_resource(bus, child, type, + rid, r)); + case SYS_RES_IRQ: + error = rman_deactivate_resource(r); + if (error) + return (error); intr_deactivate_irq(child, r); + return (0); + default: + return (EINVAL); } - - return (rman_deactivate_resource(r)); } static int From nobody Fri Nov 24 17:28:58 2023 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 4ScMQy4KDsz51MGC; Fri, 24 Nov 2023 17:28:58 +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 4ScMQy3C5Wz4JKR; Fri, 24 Nov 2023 17:28:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846938; 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=pI/xqAMEgluGjf6gFGlduvYOEneOxLQgARr/KYg15xY=; b=eqJN7NtLXvPLxnJnhR8lXc1iW48lMZ/s3tZnpapvjDyW6wbZra5KCDDmaCfOk+O2W2CZBV iHzzflE1iFmto0r0RkkrrpoLeJU3uTwlH0iZeyNxi6EToVgxg8bozu7WlQAiwRMuH2gsA7 cE6Y4brSQkKi+pcf5FKqOxEDXhrMniP6PxEIQdNqKU8/mrywNA1vanOhqaCwFa4sxtFh0+ S0/igtqubJu8E6Jc7hRZwMN7dV8yEXO+L346Wnn3rBq/J9wV1/EDs/X+Ev+ZqRkb70LvYl 8EQIlyazpLm/1AGdAwnqBODJxLlDnGxE4uhEhB93eqlR5F3bfjV7o/RhwbUHfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846938; 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=pI/xqAMEgluGjf6gFGlduvYOEneOxLQgARr/KYg15xY=; b=kEj4d6jMmFYWzPRI7aMKM46jE6f1MX4Iio7MzK29ZHqkfY1UMLYPY1PVY44yXtin3QOK5l 7KCukJCMWYjZnovb6XbJvAH5zkHezx28aYjoyhVhsO57QOZ55lONuiEYkLcM/X5vyLgUUS 6eAqiWfj7HZMcMNiXpbCbvZXdXlED40mI4pUfhU8zlmoQK2ItT/RRmZl6tIqyyOIRiRirn KaYf6/Mjw182kp68vVkRS1ur6ygnZGAgPi008eeX+D2BUt8jP17FoKpICLCs86KFlCd4k6 h/mPk0fTNtOqd0RUj/fN55emoQMINuR9ibamMJCO0SrM/cyOFE9jAvt9SHkxEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700846938; a=rsa-sha256; cv=none; b=bqD7IRJy6+LcsVSIBJns/1xu30WYFXm58hJsTEWCSdVxuxO/AY8VkEpWWAFbc9DhJ2DI4A F3tdESpphS8RH6UIk4VWxRgxS7QwLNtlxQAcOqDApsDMtB3Mt1O9ZRF3tUqdhYformfw8w uPvY3RpNFz1mPQ/J3B79Y6IsrWZ2ENl+mizq5JK2ZveS7cf8EA0fLyZ8g+xHWYRqbzPv7X P8MWH2IKYXbblA57wFYBVwF/1zGYMwJtyVM8PeuM1nLhvYdjNtuOdX8FetXQapVIPtM5cw A8gxnkH51HiQmPy7oCuTk81IvdicqImmcnw4b0DDf64D5T6tQhAUWQW5LtI9ZA== 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 4ScMQy2CkcztX7; Fri, 24 Nov 2023 17:28:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHSwt0051744; Fri, 24 Nov 2023 17:28:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHSwLQ051741; Fri, 24 Nov 2023 17:28:58 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:28:58 GMT Message-Id: <202311241728.3AOHSwLQ051741@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: f8709c826be9 - main - riscv nexus: Use bus_generic_rman_*_resource 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f8709c826be977471df5663833f291f43d93d54c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f8709c826be977471df5663833f291f43d93d54c commit f8709c826be977471df5663833f291f43d93d54c Author: John Baldwin AuthorDate: 2023-11-24 17:28:28 +0000 Commit: John Baldwin CommitDate: 2023-11-24 17:28:28 +0000 riscv nexus: Use bus_generic_rman_*_resource Custom activate/deactivate_resource methods are still needed to handle IRQ resources. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42742 --- sys/riscv/riscv/nexus.c | 158 ++++++++++++++++-------------------------------- 1 file changed, 51 insertions(+), 107 deletions(-) diff --git a/sys/riscv/riscv/nexus.c b/sys/riscv/riscv/nexus.c index d92ad7861ae9..f710e6826c21 100644 --- a/sys/riscv/riscv/nexus.c +++ b/sys/riscv/riscv/nexus.c @@ -81,12 +81,11 @@ static bus_add_child_t nexus_add_child; static bus_print_child_t nexus_print_child; static bus_activate_resource_t nexus_activate_resource; -static bus_adjust_resource_t nexus_adjust_resource; static bus_alloc_resource_t nexus_alloc_resource; static bus_deactivate_resource_t nexus_deactivate_resource; static bus_get_resource_list_t nexus_get_reslist; +static bus_get_rman_t nexus_get_rman; static bus_map_resource_t nexus_map_resource; -static bus_release_resource_t nexus_release_resource; static bus_unmap_resource_t nexus_unmap_resource; static bus_config_intr_t nexus_config_intr; @@ -110,15 +109,16 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_add_child, nexus_add_child), DEVMETHOD(bus_print_child, nexus_print_child), DEVMETHOD(bus_activate_resource, nexus_activate_resource), - DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), + DEVMETHOD(bus_adjust_resource, bus_generic_rman_adjust_resource), DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), DEVMETHOD(bus_delete_resource, bus_generic_rl_delete_resource), DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), + DEVMETHOD(bus_get_rman, nexus_get_rman), DEVMETHOD(bus_map_resource, nexus_map_resource), DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), - DEVMETHOD(bus_release_resource, nexus_release_resource), + DEVMETHOD(bus_release_resource, bus_generic_rman_release_resource), DEVMETHOD(bus_unmap_resource, nexus_unmap_resource), DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_describe_intr, nexus_describe_intr), @@ -207,6 +207,21 @@ nexus_add_child(device_t bus, u_int order, const char *name, int unit) return (child); } +static struct rman * +nexus_get_rman(device_t bus, int type, u_int flags) +{ + + switch (type) { + case SYS_RES_IRQ: + return (&irq_rman); + case SYS_RES_MEMORY: + case SYS_RES_IOPORT: + return (&mem_rman); + default: + return (NULL); + } +} + /* * Allocate a resource on behalf of child. NB: child is usually going to be a * child of one of our descendants, not a direct child of nexus0. @@ -216,10 +231,7 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags) { struct nexus_device *ndev = DEVTONX(child); - struct resource *rv; struct resource_list_entry *rle; - struct rman *rm; - int needactivate = flags & RF_ACTIVE; /* * If this is an allocation of the "default" range for a given @@ -238,70 +250,8 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, count = rle->count; } - switch (type) { - case SYS_RES_IRQ: - rm = &irq_rman; - break; - - case SYS_RES_MEMORY: - case SYS_RES_IOPORT: - rm = &mem_rman; - break; - - default: - return (NULL); - } - - rv = rman_reserve_resource(rm, start, end, count, flags, child); - if (rv == NULL) - return (NULL); - - rman_set_rid(rv, *rid); - rman_set_bushandle(rv, rman_get_start(rv)); - - if (needactivate) { - if (bus_activate_resource(child, type, *rid, rv)) { - rman_release_resource(rv); - return (NULL); - } - } - - return (rv); -} - -static int -nexus_adjust_resource(device_t bus __unused, device_t child __unused, int type, - struct resource *r, rman_res_t start, rman_res_t end) -{ - struct rman *rm; - - switch (type) { - case SYS_RES_IRQ: - rm = &irq_rman; - break; - case SYS_RES_MEMORY: - rm = &mem_rman; - break; - default: - return (EINVAL); - } - if (rman_is_region_manager(r, rm) == 0) - return (EINVAL); - return (rman_adjust_resource(r, start, end)); -} - -static int -nexus_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *res) -{ - int error; - - if (rman_get_flags(res) & RF_ACTIVE) { - error = bus_deactivate_resource(child, type, rid, res); - if (error != 0) - return (error); - } - return (rman_release_resource(res)); + return (bus_generic_rman_alloc_resource(bus, child, type, rid, + start, end, count, flags)); } static int @@ -357,37 +307,29 @@ static int nexus_activate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { - struct resource_map map; - int err; - - if ((err = rman_activate_resource(r)) != 0) - return (err); + int error; - /* - * If this is a memory resource, map it into the kernel. - */ switch (type) { case SYS_RES_IOPORT: case SYS_RES_MEMORY: - if ((rman_get_flags(r) & RF_UNMAPPED) == 0) { - err = nexus_map_resource(bus, child, type, r, NULL, - &map); - if (err != 0) { - rman_deactivate_resource(r); - return (err); - } - - rman_set_mapping(r, &map); - } + error = bus_generic_rman_activate_resource(bus, child, type, + rid, r); break; case SYS_RES_IRQ: - err = intr_activate_irq(child, r); - if (err != 0) { + error = rman_activate_resource(r); + if (error != 0) + return (error); + error = intr_activate_irq(child, r); + if (error != 0) { rman_deactivate_resource(r); - return (err); + return (error); } + break; + default: + error = EINVAL; + break; } - return (0); + return (error); } static struct resource_list * @@ -402,23 +344,25 @@ static int nexus_deactivate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { - bus_size_t psize; - bus_space_handle_t vaddr; - - if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { - psize = (bus_size_t)rman_get_size(r); - vaddr = rman_get_bushandle(r); + int error; - if (vaddr != 0) { - bus_space_unmap(&memmap_bus, vaddr, psize); - rman_set_virtual(r, NULL); - rman_set_bushandle(r, 0); - } - } else if (type == SYS_RES_IRQ) { + switch (type) { + case SYS_RES_IOPORT: + case SYS_RES_MEMORY: + error = bus_generic_rman_deactivate_resource(bus, child, type, + rid, r); + break; + case SYS_RES_IRQ: + error = rman_deactivate_resource(r); + if (error != 0) + return (error); intr_deactivate_irq(child, r); + break; + default: + error = EINVAL; + break; } - - return (rman_deactivate_resource(r)); + return (error); } static int From nobody Fri Nov 24 17:28:59 2023 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 4ScMQz5v50z51MWY; Fri, 24 Nov 2023 17:28:59 +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 4ScMQz47DSz4JKd; Fri, 24 Nov 2023 17:28:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846939; 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=2qnOEEwADD+vCcXvCAwhRrwFCfJ1sctOYDr3MeP1qLQ=; b=cQbN6mYb3vz9a06OSuAJEQ07jqL7DD9RRVr7veU9ibJxm0LvHXSH3bHXNoF/xhnEExCERv 8i0GQj+/oJxIzuqUOnHbo/6iStFQ0ak3CWY7dYGb+hT6TSZtnSS45NdbniD65O0n6+jrgH s2ycPT5ce/u6KvPQnkjfcDCNFemMbadaFWckDi/oCUR51w84ulwGvJFW+AOLy9NDRLmNTq KwSqAshV+AhfsccynA9Z5Ph6jWilVGHKnWJAZpeBNQt5HRunHAEHYJb6LkF63OO2GfkMO8 6MLmTdExjYAN7RMnZ1YdCOEkGKrxpjzga0OU0UYwJm6AHdw6l9nkPX9PLW4NdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700846939; 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=2qnOEEwADD+vCcXvCAwhRrwFCfJ1sctOYDr3MeP1qLQ=; b=j1bGlw599FnsQ3rSTdFSe3kO0one2bpqAeKPUETkpvV58h/9kTpjEgNksNsIHTS0F0QzEl FwpyVePFD9dFPT5jCzRAYaTjq5lC32pGFscLr+vSwrXlghrcH5uYnWQHKSdhLvM8ju3sXh bznPgdEHKyuZDWwRn7X+girLCXK4B2X5tzS3JQDzejuKIsAw4Oap5tL1ZO4toJQHyJ96NO +htj+7mLQSfxEjvQsISfa6wKPxzKSrxXffBfMImBCcw147BvzY6NquzktS9SB2rMYa8vW3 sN26+J62IUJQny7I+Ji5d94Q/ob8Ka4GyXWUnZVo5WXZW3y7x9AhSH6GN6TeIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700846939; a=rsa-sha256; cv=none; b=Bqn3e4GZmpmuE9OdbW36kzn+0U/vkm3rnPSd70K0zfviwOeFOX1zJg6QLAdx+aq1S1nCQl HfSHL5JaX8WR8A7Mp6+1TGQZWY9Gtq8gRkRFZcXIrzTVWekOzlKKqP+z9Enu4fqQoOEWmI qjkfHFBT3cPSlKJggFut4rgmYvGygQTHkF23qFP7vyokXE9985/ABI+SpX4IW+jVNm0jcX FKkr1y53pwByCoTivgtlYp5b7OI6Q6fss/YrK1MMvzq0V3yDYq6LXwhZyGZWOPbwxmh0lO tQnNzxZpMOKTT+hpPD+rVUkQtt9Y73Pj9A9NplA9+1ZlxC/01xsMrSGN3Bhw4A== 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 4ScMQz3DxBztH2; Fri, 24 Nov 2023 17:28:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHSxvm051796; Fri, 24 Nov 2023 17:28:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHSxFP051793; Fri, 24 Nov 2023 17:28:59 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:28:59 GMT Message-Id: <202311241728.3AOHSxFP051793@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 7bf9223ca958 - main - riscv nexus: Sort bus_set_resource in DEVMETHOD table 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7bf9223ca958aed45a998890f351afaae67550fe Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=7bf9223ca958aed45a998890f351afaae67550fe commit 7bf9223ca958aed45a998890f351afaae67550fe Author: John Baldwin AuthorDate: 2019-09-11 07:39:37 +0000 Commit: John Baldwin CommitDate: 2023-11-24 17:28:40 +0000 riscv nexus: Sort bus_set_resource in DEVMETHOD table --- sys/riscv/riscv/nexus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/riscv/riscv/nexus.c b/sys/riscv/riscv/nexus.c index f710e6826c21..06dc6412b885 100644 --- a/sys/riscv/riscv/nexus.c +++ b/sys/riscv/riscv/nexus.c @@ -117,8 +117,8 @@ static device_method_t nexus_methods[] = { DEVMETHOD(bus_get_resource_list, nexus_get_reslist), DEVMETHOD(bus_get_rman, nexus_get_rman), DEVMETHOD(bus_map_resource, nexus_map_resource), - DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), DEVMETHOD(bus_release_resource, bus_generic_rman_release_resource), + DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), DEVMETHOD(bus_unmap_resource, nexus_unmap_resource), DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_describe_intr, nexus_describe_intr), From nobody Fri Nov 24 17:31:54 2023 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 4ScMVL4gnsz51Nk4; Fri, 24 Nov 2023 17:31:54 +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 4ScMVL4CX9z4LNJ; Fri, 24 Nov 2023 17:31:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847114; 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=bJYL2JLRVx4p9OfoURWiG38yFwSAspwoSFFYlWrGbmk=; b=UOY5tkU0XPXX1omPME0lCfiFLuTcHiFUhvCmgEK5QkseDoB3G3c/B8MzHmpF2KxLrbvu5q QDnT50mJUltP4WPe/1y6LzZPrgxrxYULpGFwwWrF2b9rs8X3Gmx58bNrUXKBjSYn3dF0u4 MZHSFPirGEiu1MmGpv9kKd+gNJL/TVKXXRB6Tp4ckhkYN1torj1YnDt8dKuHMHE2OZ2H05 r9Pkquh0Y+6/wfJ836zW8o7gKYHtxPeyCCkghePZMjJYge/AKSpnp8iK1bypMvVfmWTZ/T lH83EQ0qgNrIt56Sv+duFFTEra1QUc7BYe0OekfZT9KNoSuSWaLcjOS9Xo3xMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847114; 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=bJYL2JLRVx4p9OfoURWiG38yFwSAspwoSFFYlWrGbmk=; b=bS5vVDGy5nVNNQxK2Gu1vLdAubBe5FJpk4Z3mHIO6mMXw89ZcM0+fv4RmTLEEJUAR6r4tK p8qX+SEHL2X6gdAYJBWz5Y3KyjGwbl2Odp3iRTqO+QFS3hPUYCWmi+Y5+OdvxNJu4GvlQr 9l75NGssBynQKYTkBIGh0yDzO3elFrLP4woW3NGlQIUhzdFgt8B6bTy/EeiLp6gtJNV+CA xj4GRt56oRBPdvIqmIfLuJvQdk/mVx5q9HvTysptcvz/fpZc4JLK0Rbuvuh0fSZu7IoQJ3 pwddrtK+K6g5Oe0hr7OVoHl6YPwE+lAt588VFUQVOdGEHXgYtwiB5wkW5dzxxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700847114; a=rsa-sha256; cv=none; b=Eg+L3HOR1+78RYW8/Y2l5X716WnJDk6t1zIRC4zVQ9Ocok4GtGjTxYUDPdSnqyuUdfEhHw hjROPxLA0sspKAjh4fnHCzXL3Q6SSOyxiWJE5+ZCpllH+kmJWa0FgZL7EXNUbOiZUF1roL NkTkel2p9ZJ+rjyUDuJJB4+RdgTNIGdcYKYiqj/h4Oy0rQwsZWhny4vFZhX7Vd5DWP0b4t 8ZMWDkGYJ0lHWGQj4/9nd3cr+MVPTVRTs0teTOVGd6UaPgchJGV1NnX8+YtJCOf0EnBasa qGZOXF+nxYykboPa2m6j0BKbmjqvidhXjLGD4i6NBylFdCHMIYrpXwjm3s+6pQ== 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 4ScMVL3JB3ztL7; Fri, 24 Nov 2023 17:31:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHVsBi061733; Fri, 24 Nov 2023 17:31:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHVsEJ061730; Fri, 24 Nov 2023 17:31:54 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:31:54 GMT Message-Id: <202311241731.3AOHVsEJ061730@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: 14dcd4098374 - main - linuxkpi: `GFP_KERNEL` equals `M_NOWAIT` now 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: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 14dcd40983748596d116d91acb934a8a95ac76bc Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=14dcd40983748596d116d91acb934a8a95ac76bc commit 14dcd40983748596d116d91acb934a8a95ac76bc Author: Jean-Sébastien Pédron AuthorDate: 2023-11-24 17:30:33 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-11-24 17:31:32 +0000 linuxkpi: `GFP_KERNEL` equals `M_NOWAIT` now ... instead of `M_WAITOK`. [Why] The reason is that in some places in the DRM drivers (in particular, the framebuffer management code), kmalloc() is called from a non-sleepable context, such as after a call to mtx_lock(8) with an MTX_DEF mutex. If `GFP_KERNEL` is defined as `M_WAITOK`, we hit an assertion from witness(4). [How] The definition of `GFP_KERNEL` is changed to `M_NOWAIT`. This means that callers should verify the return value of kmalloc(). Fortunately, this is always the case in Linux. Reviewed by: bz, emaste, manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D42054 --- sys/compat/linuxkpi/common/include/linux/gfp.h | 2 +- sys/compat/linuxkpi/common/include/linux/slab.h | 8 ++++---- sys/compat/linuxkpi/common/src/linux_compat.c | 7 +++++-- sys/compat/linuxkpi/common/src/linux_interrupt.c | 3 +++ sys/compat/linuxkpi/common/src/linux_pci.c | 4 ++-- sys/compat/linuxkpi/common/src/linux_shmemfs.c | 11 +++++++++-- 6 files changed, 24 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/gfp.h b/sys/compat/linuxkpi/common/include/linux/gfp.h index c5de09e896de..17590806343f 100644 --- a/sys/compat/linuxkpi/common/include/linux/gfp.h +++ b/sys/compat/linuxkpi/common/include/linux/gfp.h @@ -64,7 +64,7 @@ #define GFP_NOWAIT M_NOWAIT #define GFP_ATOMIC (M_NOWAIT | M_USE_RESERVE) -#define GFP_KERNEL M_WAITOK +#define GFP_KERNEL M_NOWAIT #define GFP_USER M_WAITOK #define GFP_HIGHUSER M_WAITOK #define GFP_HIGHUSER_MOVABLE M_WAITOK diff --git a/sys/compat/linuxkpi/common/include/linux/slab.h b/sys/compat/linuxkpi/common/include/linux/slab.h index 8557f831bb60..3e857a4adc54 100644 --- a/sys/compat/linuxkpi/common/include/linux/slab.h +++ b/sys/compat/linuxkpi/common/include/linux/slab.h @@ -47,12 +47,12 @@ MALLOC_DECLARE(M_KMALLOC); #define kzalloc(size, flags) kmalloc(size, (flags) | __GFP_ZERO) #define kzalloc_node(size, flags, node) kmalloc_node(size, (flags) | __GFP_ZERO, node) #define kfree_const(ptr) kfree(ptr) -#define vzalloc(size) __vmalloc(size, GFP_KERNEL | __GFP_NOWARN | __GFP_ZERO, 0) +#define vzalloc(size) __vmalloc(size, M_WAITOK | __GFP_NOWARN | __GFP_ZERO, 0) #define vfree(arg) kfree(arg) #define kvfree(arg) kfree(arg) -#define vmalloc_node(size, node) __vmalloc_node(size, GFP_KERNEL, node) -#define vmalloc_user(size) __vmalloc(size, GFP_KERNEL | __GFP_ZERO, 0) -#define vmalloc(size) __vmalloc(size, GFP_KERNEL, 0) +#define vmalloc_node(size, node) __vmalloc_node(size, M_WAITOK, node) +#define vmalloc_user(size) __vmalloc(size, M_WAITOK | __GFP_ZERO, 0) +#define vmalloc(size) __vmalloc(size, M_WAITOK, 0) #define __kmalloc(...) kmalloc(__VA_ARGS__) /* diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index b913ae602ab3..baa4ff2fee44 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -574,7 +574,7 @@ linux_file_alloc(void) { struct linux_file *filp; - filp = kzalloc(sizeof(*filp), GFP_KERNEL); + filp = kzalloc(sizeof(*filp), M_WAITOK); /* set initial refcount */ filp->f_count = 1; @@ -1412,6 +1412,9 @@ linux_file_mmap_single(struct file *fp, const struct file_operations *fop, return (EINVAL); vmap = kzalloc(sizeof(*vmap), GFP_KERNEL); + if (vmap == NULL) + return (ENOMEM); + vmap->vm_start = 0; vmap->vm_end = size; vmap->vm_pgoff = *offset / PAGE_SIZE; @@ -1941,7 +1944,7 @@ vmmap_add(void *addr, unsigned long size) { struct vmmap *vmmap; - vmmap = kmalloc(sizeof(*vmmap), GFP_KERNEL); + vmmap = kmalloc(sizeof(*vmmap), M_WAITOK); mtx_lock(&vmmaplock); vmmap->vm_size = size; vmmap->vm_addr = addr; diff --git a/sys/compat/linuxkpi/common/src/linux_interrupt.c b/sys/compat/linuxkpi/common/src/linux_interrupt.c index 5602b09c8fb8..886a5d5ad014 100644 --- a/sys/compat/linuxkpi/common/src/linux_interrupt.c +++ b/sys/compat/linuxkpi/common/src/linux_interrupt.c @@ -135,6 +135,9 @@ lkpi_request_irq(struct device *xdev, unsigned int irq, GFP_KERNEL | __GFP_ZERO); else irqe = kzalloc(sizeof(*irqe), GFP_KERNEL); + if (irqe == NULL) + return (-ENOMEM); + irqe->dev = dev; irqe->res = res; irqe->arg = arg; diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 8386552dcd51..f692b9c3ef09 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -305,7 +305,7 @@ lkpifill_pci_dev(device_t dev, struct pci_dev *pdev) pdev->subsystem_device = pci_get_subdevice(dev); pdev->class = pci_get_class(dev); pdev->revision = pci_get_revid(dev); - pdev->path_name = kasprintf(GFP_KERNEL, "%04d:%02d:%02d.%d", + pdev->path_name = kasprintf(M_WAITOK, "%04d:%02d:%02d.%d", pci_get_domain(dev), pci_get_bus(dev), pci_get_slot(dev), pci_get_function(dev)); pdev->bus = malloc(sizeof(*pdev->bus), M_DEVBUF, M_WAITOK | M_ZERO); @@ -1469,7 +1469,7 @@ linux_dma_pool_create(char *name, struct device *dev, size_t size, priv = dev->dma_priv; - pool = kzalloc(sizeof(*pool), GFP_KERNEL); + pool = kzalloc(sizeof(*pool), M_WAITOK); pool->pool_device = dev; pool->pool_entry_size = size; diff --git a/sys/compat/linuxkpi/common/src/linux_shmemfs.c b/sys/compat/linuxkpi/common/src/linux_shmemfs.c index 3c71d6495f4a..bf6a8cd775e9 100644 --- a/sys/compat/linuxkpi/common/src/linux_shmemfs.c +++ b/sys/compat/linuxkpi/common/src/linux_shmemfs.c @@ -48,8 +48,15 @@ linux_shmem_read_mapping_page_gfp(vm_object_t obj, int pindex, gfp_t gfp) struct page *page; int rv; - if ((gfp & GFP_NOWAIT) != 0) - panic("GFP_NOWAIT is unimplemented"); + /* + * Historically, GFP_KERNEL was the equivalent of M_WAITOK. But it was + * changed to a synonym of M_NOWAIT to allow allocations in + * non-sleepable code. + * + * However, there was an assertion here to make sure that `gfp` was + * never set to GFP_NOWAIT/M_NOWAIT. Do we need a specific handling of + * M_NOWAIT here? + */ VM_OBJECT_WLOCK(obj); rv = vm_page_grab_valid(&page, obj, pindex, VM_ALLOC_NORMAL | From nobody Fri Nov 24 17:31:55 2023 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 4ScMVM6NMnz51dYc; Fri, 24 Nov 2023 17:31:55 +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 4ScMVM5xS3z4LJb; Fri, 24 Nov 2023 17:31:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847115; 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=Qd1BRslPKTZ5Zy2KL+VP9koRzdzgPGCTcDZ6t2L5eTo=; b=ZkgV6uHGwsb5/kHbvY4jemP3kF1TqanWX8c8TdpyajtHru9Dts7obDWbqm9O4+PN9XRORL S/f83jAt5s1RNyyT70fNnA6SbxpYFC5Qcfdm0H5iUvuRRm903KqCh6j31JJH/9Z7L11ug7 Q+D6yplrmIsris/T1UuPyi5WWsscwk3FakAZ2/VxtK5cfQapVbyj7iMIUPGUrRPRiJHj7H j3WWech57hfFZUkJpsbGVWaU6EmvUtZltfac7fl5O18KBEkpMo3hR7jo2UdCdDwTVPTM/P tPoCj3lzkVq26c/iV7WRK5dKe1o8ZZLrW7mRYakMWjDBQP+Yu+oV/izdHul9ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847115; 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=Qd1BRslPKTZ5Zy2KL+VP9koRzdzgPGCTcDZ6t2L5eTo=; b=JTXISYDab9kMJK0ajYnqDTNMdxeVy2WYVyEdDhQVypmIxMYH1awNH47EgoaVOI+UIHDYMF RKgtAMrMaSS6K40DOqbYUgV+H3UWkNbAcrkDZC5rSBdd8KJ558bziliowFpO7dAy8Y1njl WhYMKVQ22HHdZMpf6cJAaVcgYLWoSfFbt1ODvUi8GGfEoHTWA9alaz9gluTADJ062ahriR efaOumDwoZ72aIYxAUVvsu4fCyh4j2X+FijKlm/X6nmxurn1uQY7vvJULGmGKkjOUdamvh zVgFjUFO1aBtYgQ0FTgca9moDu242ZE7lA9CUlMJ2p3IUTcCbpqSw0qSW9WkGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700847115; a=rsa-sha256; cv=none; b=io2LOmncELmemuSuPsHKsvu2Bk48JOpyJ2Hco8ehmITIc8rujgIaNKjpLWTjwl7/qaXqNl sqIkxpld+0zUMMik81yIL2CMxbUuiPMzHgo+lt0p58VoJHhnvauipEKIDTbsHx3l98qw3n Y8AhuCZipwmxisFs6y4CU2XnOAYr/PkzJSeqntYvS8MLfAULP0llnUWQXp9a/FG19pPYah 8zjWXXjxHsqYCJ5yMCW2wEa2pJM8f15ox1y1I2qCtxscPqXm/SdYagzaH2GJyP+iL+kBA+ ylKi1vTOFndnoQBaaCVsNAuTBgei34RpCXHmlvsSUjtXYjLcW7NEMVw94EiARA== 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 4ScMVM4HvBztw5; Fri, 24 Nov 2023 17:31:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHVtgW061793; Fri, 24 Nov 2023 17:31:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHVtg1061791; Fri, 24 Nov 2023 17:31:55 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:31:55 GMT Message-Id: <202311241731.3AOHVtg1061791@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: 049e3fba04e8 - main - vt(4): Skip vt_flush() for nested panics 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: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 049e3fba04e82f840cc43080edade0ed415fee72 Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=049e3fba04e82f840cc43080edade0ed415fee72 commit 049e3fba04e82f840cc43080edade0ed415fee72 Author: Jean-Sébastien Pédron AuthorDate: 2023-11-24 17:30:33 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-11-24 17:31:33 +0000 vt(4): Skip vt_flush() for nested panics [Why] If there is a problem with DRM drivers or in their integration with vt(4) and displaying something on the console triggers a panic, there is a high chance that displaying that panic will trigger another one, recursively. [How] If vt_flush() is called and it detects is is called resursively from another panic, it return immediately, doing nothing, to avoid the risk of triggering another panic. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D42056 --- sys/dev/vt/vt_core.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index c97cb80ca3f1..406472a8fbf6 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -274,6 +274,8 @@ SYSINIT(vt_update_static, SI_SUB_KMEM, SI_ORDER_ANY, vt_update_static, SYSINIT(vt_early_cons, SI_SUB_INT_CONFIG_HOOKS, SI_ORDER_ANY, vt_upgrade, &vt_consdev); +static bool inside_vt_flush = false; + /* Initialize locks/mem depended members. */ static void vt_update_static(void *dummy) @@ -1344,6 +1346,9 @@ vt_flush(struct vt_device *vd) int cursor_was_shown, cursor_moved; #endif + if (inside_vt_flush && KERNEL_PANICKED()) + return (0); + vw = vd->vd_curwindow; if (vw == NULL) return (0); @@ -1357,6 +1362,8 @@ vt_flush(struct vt_device *vd) vtbuf_lock(&vw->vw_buf); + inside_vt_flush = true; + #ifndef SC_NO_CUTPASTE cursor_was_shown = vd->vd_mshown; cursor_moved = (vd->vd_mx != vd->vd_mx_drawn || @@ -1414,10 +1421,12 @@ vt_flush(struct vt_device *vd) if (tarea.tr_begin.tp_col < tarea.tr_end.tp_col) { vd->vd_driver->vd_bitblt_text(vd, vw, &tarea); + inside_vt_flush = false; vtbuf_unlock(&vw->vw_buf); return (1); } + inside_vt_flush = false; vtbuf_unlock(&vw->vw_buf); return (0); } @@ -1444,6 +1453,9 @@ vtterm_pre_input(struct terminal *tm) { struct vt_window *vw = tm->tm_softc; + if (inside_vt_flush && KERNEL_PANICKED()) + return; + vtbuf_lock(&vw->vw_buf); } @@ -1452,6 +1464,9 @@ vtterm_post_input(struct terminal *tm) { struct vt_window *vw = tm->tm_softc; + if (inside_vt_flush && KERNEL_PANICKED()) + return; + vtbuf_unlock(&vw->vw_buf); vt_resume_flush_timer(vw, 0); } From nobody Fri Nov 24 17:31:56 2023 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 4ScMVP09FSz51dYn; Fri, 24 Nov 2023 17:31:57 +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 4ScMVN6pZHz4LTv; Fri, 24 Nov 2023 17:31:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847117; 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=MoH+2MSOkNuUkPDacgIINTrZBj+wYgOrtAqpWx2q7Ko=; b=qCJhVeHGafYIbN+VEo7/g7fZ9UZYiJSwSBbZ65thf/zetVoxu5S41Cir5nin8oEYZYPFvF O/nn147vU1XoPryvOYBd8tXcjHpki1kPTVinORkfUEekx1ByWXw4LyrfV311egDQxAMulA giuOBvPxi4ZTYzWdLy9p+UTQH8jmr+pBeMv9c6yHKaPTA7sR3ocqXYUUiTdTB79ep98tjB qa80hmVIZlgTGUzeeAAynK9eRarxknXBM7UcdggovqDpIYJsttv3UlvdNbag9pnU5pr4qS bwWig8lANoOI3V+qDRZBa2z2069SC+VHzbgLEcI3io5gkOftQHpD4RP4t91xOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847117; 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=MoH+2MSOkNuUkPDacgIINTrZBj+wYgOrtAqpWx2q7Ko=; b=QJ4YQb16qaOqTlnCIvE4xcGOogPE/jJtq9HcN52pafhns3xsXC+ICxPuBFmPlawZUkJm/J Y8ZdNc2jfReddsnL7Y31LwFibXltGZgBV77wUMrk1zrtBwxJk+MBlomX12kwmgpA7317+8 jHe1pdQQdKIp4bpQUA2Id/dU+Vzk+WsNvl0oHLUJPVn71gm3S7gHyGMWrbluPMOS34pdcK tSulS/koMWxzrQGUkHC/3ZQv+80wzqpFkMempr03uS18IoTB6auXzlYsSGmuvK07IR+bD8 yOp3pXchujaAyrimqsJUPfWMiOe+uKJMCt5OLbwD2G+Ia5x/aqjpfCp1g9C7dQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700847117; a=rsa-sha256; cv=none; b=uu+KoNTjgBJb55R571GCkOBVl8Pna5wGzDGkVCqvgBK/O9b1TXUCVqNSNQUHMkSi4G21m0 6kUlmgoN1RhmfwZL4MV3LLeZFnznuePcciBTWRJMP0yv+LNAqovvjyjjkDM4eGafzhXukR GI+oNRGcNHSbGubjdLcpvpfnIve+Tjc6IVEzJBv/d3mAp8TSxOPdOfeGYy00Xw7tGwyTXk s5EDXYu9Xy/unyt3ZbDjehRSKQtq4BcKddwcke4SLtof7n/Y4I8uubsxqieaA2fZGm/0Xz DEbVzRUor8nGgNtujK9Sh7OlNDYFoPXEDhnH7HZXr4xxv3ZRz9IwQghlG4BudQ== 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 4ScMVN5KMGzv8s; Fri, 24 Nov 2023 17:31:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHVuHC061846; Fri, 24 Nov 2023 17:31:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHVuEI061843; Fri, 24 Nov 2023 17:31:56 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:31:56 GMT Message-Id: <202311241731.3AOHVuEI061843@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: 24d6f256f825 - main - vt(4): Skip vt_window_switch() for nested panics 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: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 24d6f256f825e5d7f8ca6b5d16499f13614f9cdd Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=24d6f256f825e5d7f8ca6b5d16499f13614f9cdd commit 24d6f256f825e5d7f8ca6b5d16499f13614f9cdd Author: Jean-Sébastien Pédron AuthorDate: 2023-11-24 17:30:33 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-11-24 17:31:33 +0000 vt(4): Skip vt_window_switch() for nested panics [Why] The same protection was added to vt_flush() in the previous commit. We want the same one in vt_window_switch(): if e.g. the DRM driver panics while handling a call to vt_window_switch(), we don't want to recursively call vt_window_switch() again and trigger another panic. Reviewed by: imp, manu Approved by: imp, manu Differential Revision: https://reviews.freebsd.org/D42750 --- sys/dev/vt/vt_core.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 406472a8fbf6..6d44c81181a3 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -275,6 +275,7 @@ SYSINIT(vt_early_cons, SI_SUB_INT_CONFIG_HOOKS, SI_ORDER_ANY, vt_upgrade, &vt_consdev); static bool inside_vt_flush = false; +static bool inside_vt_window_switch = false; /* Initialize locks/mem depended members. */ static void @@ -564,6 +565,11 @@ vt_window_switch(struct vt_window *vw) struct vt_window *curvw = vd->vd_curwindow; keyboard_t *kbd; + if (inside_vt_window_switch && KERNEL_PANICKED()) + return (0); + + inside_vt_window_switch = true; + if (kdb_active) { /* * When grabbing the console for the debugger, avoid @@ -575,13 +581,16 @@ vt_window_switch(struct vt_window *vw) */ if (curvw == vw) return (0); - if (!(vw->vw_flags & (VWF_OPENED|VWF_CONSOLE))) + if (!(vw->vw_flags & (VWF_OPENED|VWF_CONSOLE))) { + inside_vt_window_switch = false; return (EINVAL); + } vd->vd_curwindow = vw; vd->vd_flags |= VDF_INVALID; if (vd->vd_driver->vd_postswitch) vd->vd_driver->vd_postswitch(vd); + inside_vt_window_switch = false; return (0); } @@ -595,10 +604,12 @@ vt_window_switch(struct vt_window *vw) if ((kdb_active || KERNEL_PANICKED()) && vd->vd_driver->vd_postswitch) vd->vd_driver->vd_postswitch(vd); + inside_vt_window_switch = false; VT_UNLOCK(vd); return (0); } if (!(vw->vw_flags & (VWF_OPENED|VWF_CONSOLE))) { + inside_vt_window_switch = false; VT_UNLOCK(vd); return (EINVAL); } @@ -627,6 +638,7 @@ vt_window_switch(struct vt_window *vw) mtx_unlock(&Giant); DPRINTF(10, "%s(ttyv%d) done\n", __func__, vw->vw_number); + inside_vt_window_switch = false; return (0); } From nobody Fri Nov 24 17:31:57 2023 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 4ScMVQ1Pzvz51Npr; Fri, 24 Nov 2023 17:31:58 +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 4ScMVQ0KKPz4LXb; Fri, 24 Nov 2023 17:31:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847118; 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=tkWLASMCM9kPBBAP8SRO1D8kvOTnVBacsKl+vcyRTaE=; b=Uss3/PeskkB17l6PTdMkj1Boj86xSSBygmLPtQKAqkzWjfN7CmOwgAEcduq8O11s3TNynQ FWShryjKbnXp71nIcpdEMfuqdG46CkaG19ISSVyI/tnopt1xIR85lRVV6ky0la3kMw7iMh iFjobt+cvwSW/tU0KMqEv0eL8hI66mjd4BA9P5qOuV4JJpoWjXULYKw/EviNtIhrV+LmWe s6Rw7K3jLP/sJjf7YSmJVGb5w9RVj4Y5gAM7hSaM6/7vyK+DSfLBoYuANuowT0U6B+A9n9 0AHV21sEF/ACHvDkE/7Fx0y1JOberSmmRl59w4hAQpAM5DkFwQSRcdQGPz5+0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847118; 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=tkWLASMCM9kPBBAP8SRO1D8kvOTnVBacsKl+vcyRTaE=; b=BNlLY94T2cJcshV51oi2D21SIvwdq3zd1e3g3N4m5PtmTnakb09lPAY717VtZPsPNMrjuh LbwJysl0fzuhIOrws3a89VgcyisvRakRyuC9m/St7CA3NwAJrg0HFossrTbMUu0WW+lmGg PlQ7o3cKuVzTr/rrH7x98DpEJP16vk5d4TNdTa0hIBjkA4MY/1/EwP8yp9utOj/Bk/UyC5 +ygfH0HE+cBqLf9E+vjvMF5ECsTyByvVSnw07HEuuPYJgl18H/Cgj+BURzIT/IxtkJDQ5a 3nLei00U7anooG+ZeCM8QvoAx9AQExLESeUdLBu/hTpC85x6P9kqpzTin84+mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700847118; a=rsa-sha256; cv=none; b=YH/1mxt3MlxFSkAKnqLrC1bLK2+wqODmRwoxNY/My2dgOizGF8pLz7kybvnLkQW9xyCtY8 YyFLM0aZKp9b0XCma8r4VzxBp0jw09bFTLCygHOJkifxQVMzKi+ThJZmva8LeCA07W5bW/ qW4Ngc8Q9ZweCzZlXLVrk+oHfX/Tt5U0SqnV/nJ6D4lMUkZOVAJYkzNYSK6Fyjz0Q3RjyE rpegy7FAbeojehS3lLTKLwQ3ocuFFDPmFDDJ0HKCcYPF7rTILcOU5Vot2PgnKUN/JePasW 2n88SzpDCnKdKt7XZv+vpFdOVXDHnZZZpUmSDT80Sa1U150fMQZLRtdwdFYwRQ== 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 4ScMVP6M8sztq6; Fri, 24 Nov 2023 17:31:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHVvSJ061909; Fri, 24 Nov 2023 17:31:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHVv3N061906; Fri, 24 Nov 2023 17:31:57 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:31:57 GMT Message-Id: <202311241731.3AOHVv3N061906@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: 162a2b858854 - main - vt(4): New bitblt_text variant making a copy before unlocking vt_buf 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: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 162a2b858854656ddd6b75d290be8a640ba8f324 Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=162a2b858854656ddd6b75d290be8a640ba8f324 commit 162a2b858854656ddd6b75d290be8a640ba8f324 Author: Jean-Sébastien Pédron AuthorDate: 2023-11-24 17:30:34 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-11-24 17:31:33 +0000 vt(4): New bitblt_text variant making a copy before unlocking vt_buf [Why] In the DRM drivers and the integration with vt(4), we need to execute DRM code outside of the vtbuf_lock. The reason is that this DRM code acquires locks which can't be acquired when vtbuf_lock, an MTX_SPIN mutex, is already held. [How] A vt(4) backend can now set the `vd_bitblt_after_vtbuf_unlock` flag to true if it wants to be called outside of vt_buf_lock. In this case, vt(4) uses an internal version of bitblt_text that uses the `vd_drawn` arrays, plus a new `vd_pos_to_flush` array, to track characters to draw/refresh. This internal version then uses the backend's bitblt_bmp callback to draw the characters after vt_buf has been unlocked. Drawing borders and CPU logos is also deferred after the vt_buf lock is released for the same reason. We introduce another lock (a default mutex), only used when the `vd_bitblt_after_vtbuf_unlock` flag is set, to replace part the role of the vt_buf lock and manage concurrent calls to vt_flush(). The `SC_NO_CONSDRAWN` define is dropped because we now always need the `vd_drawn` arrays. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D42057 --- sys/dev/vt/vt.h | 19 ++++++ sys/dev/vt/vt_core.c | 180 +++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 185 insertions(+), 14 deletions(-) diff --git a/sys/dev/vt/vt.h b/sys/dev/vt/vt.h index a21ecea999ec..56a28c0420c7 100644 --- a/sys/dev/vt/vt.h +++ b/sys/dev/vt/vt.h @@ -165,6 +165,9 @@ struct vt_device { term_char_t *vd_drawn; /* (?) Most recent char drawn. */ term_color_t *vd_drawnfg; /* (?) Most recent fg color drawn. */ term_color_t *vd_drawnbg; /* (?) Most recent bg color drawn. */ + + struct mtx vd_flush_lock; /* (?) vt_flush() lock. */ + bool *vd_pos_to_flush;/* (?) Positions to flush. */ }; #define VD_PASTEBUF(vd) ((vd)->vd_pastebuf.vpb_buf) @@ -175,6 +178,14 @@ struct vt_device { #define VT_UNLOCK(vd) mtx_unlock(&(vd)->vd_lock) #define VT_LOCK_ASSERT(vd, what) mtx_assert(&(vd)->vd_lock, what) +#define VT_FLUSH_LOCK(vd) \ + if ((vd)->vd_driver->vd_bitblt_after_vtbuf_unlock) \ + mtx_lock(&(vd)->vd_flush_lock) + +#define VT_FLUSH_UNLOCK(vd) \ + if ((vd)->vd_driver->vd_bitblt_after_vtbuf_unlock) \ + mtx_unlock(&(vd)->vd_flush_lock) + void vt_resume(struct vt_device *vd); void vt_resume_flush_timer(struct vt_window *vw, int ms); void vt_suspend(struct vt_device *vd); @@ -376,6 +387,14 @@ struct vt_driver { #define VD_PRIORITY_DUMB 10 #define VD_PRIORITY_GENERIC 100 #define VD_PRIORITY_SPECIFIC 1000 + + /* + * Should vd_bitblt_text() be called after unlocking vtbuf? If true, + * characters are copied before vd_bitblt_bmp() is called. + * + * This is only valid when the default bitblt_text callback is used. + */ + bool vd_bitblt_after_vtbuf_unlock; }; /* diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 6d44c81181a3..3e4db9a1ba30 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -202,11 +202,10 @@ SET_DECLARE(vt_drv_set, struct vt_driver); static struct terminal vt_consterm; static struct vt_window vt_conswindow; -#ifndef SC_NO_CONSDRAWN static term_char_t vt_consdrawn[PIXEL_HEIGHT(VT_FB_MAX_HEIGHT) * PIXEL_WIDTH(VT_FB_MAX_WIDTH)]; static term_color_t vt_consdrawnfg[PIXEL_HEIGHT(VT_FB_MAX_HEIGHT) * PIXEL_WIDTH(VT_FB_MAX_WIDTH)]; static term_color_t vt_consdrawnbg[PIXEL_HEIGHT(VT_FB_MAX_HEIGHT) * PIXEL_WIDTH(VT_FB_MAX_WIDTH)]; -#endif +static bool vt_cons_pos_to_flush[PIXEL_HEIGHT(VT_FB_MAX_HEIGHT) * PIXEL_WIDTH(VT_FB_MAX_WIDTH)]; struct vt_device vt_consdev = { .vd_driver = NULL, .vd_softc = NULL, @@ -228,11 +227,11 @@ struct vt_device vt_consdev = { .vd_mcursor_bg = TC_BLACK, #endif -#ifndef SC_NO_CONSDRAWN .vd_drawn = vt_consdrawn, .vd_drawnfg = vt_consdrawnfg, .vd_drawnbg = vt_consdrawnbg, -#endif + + .vd_pos_to_flush = vt_cons_pos_to_flush, }; static term_char_t vt_constextbuf[(_VTDEFW) * (VBF_DEFAULT_HISTORY_SIZE)]; static term_char_t *vt_constextbufrows[VBF_DEFAULT_HISTORY_SIZE]; @@ -292,6 +291,7 @@ vt_update_static(void *dummy) printf("VT: init without driver.\n"); mtx_init(&main_vd->vd_lock, "vtdev", NULL, MTX_DEF); + mtx_init(&main_vd->vd_flush_lock, "vtdev flush", NULL, MTX_DEF); cv_init(&main_vd->vd_winswitch, "vtwswt"); } @@ -1348,6 +1348,122 @@ vt_set_border(struct vt_device *vd, const term_rect_t *area, vd->vd_height - 1, 1, c); } +static void +vt_flush_to_buffer(struct vt_device *vd, + const struct vt_window *vw, const term_rect_t *area) +{ + unsigned int col, row; + term_char_t c; + term_color_t fg, bg; + size_t z; + + for (row = area->tr_begin.tp_row; row < area->tr_end.tp_row; ++row) { + for (col = area->tr_begin.tp_col; col < area->tr_end.tp_col; + ++col) { + z = row * PIXEL_WIDTH(VT_FB_MAX_WIDTH) + col; + if (z >= PIXEL_HEIGHT(VT_FB_MAX_HEIGHT) * + PIXEL_WIDTH(VT_FB_MAX_WIDTH)) + continue; + + c = VTBUF_GET_FIELD(&vw->vw_buf, row, col); + vt_determine_colors(c, + VTBUF_ISCURSOR(&vw->vw_buf, row, col), &fg, &bg); + + if (vd->vd_drawn && (vd->vd_drawn[z] == c) && + vd->vd_drawnfg && (vd->vd_drawnfg[z] == fg) && + vd->vd_drawnbg && (vd->vd_drawnbg[z] == bg)) { + vd->vd_pos_to_flush[z] = false; + continue; + } + + vd->vd_pos_to_flush[z] = true; + + if (vd->vd_drawn) + vd->vd_drawn[z] = c; + if (vd->vd_drawnfg) + vd->vd_drawnfg[z] = fg; + if (vd->vd_drawnbg) + vd->vd_drawnbg[z] = bg; + } + } +} + +static void +vt_bitblt_buffer(struct vt_device *vd, const struct vt_window *vw, + const term_rect_t *area) +{ + unsigned int col, row, x, y; + struct vt_font *vf; + term_char_t c; + term_color_t fg, bg; + const uint8_t *pattern; + size_t z; + + vf = vw->vw_font; + + for (row = area->tr_begin.tp_row; row < area->tr_end.tp_row; ++row) { + for (col = area->tr_begin.tp_col; col < area->tr_end.tp_col; + ++col) { + x = col * vf->vf_width + + vw->vw_draw_area.tr_begin.tp_col; + y = row * vf->vf_height + + vw->vw_draw_area.tr_begin.tp_row; + + z = row * PIXEL_WIDTH(VT_FB_MAX_WIDTH) + col; + if (z >= PIXEL_HEIGHT(VT_FB_MAX_HEIGHT) * + PIXEL_WIDTH(VT_FB_MAX_WIDTH)) + continue; + if (!vd->vd_pos_to_flush[z]) + continue; + + c = vd->vd_drawn[z]; + fg = vd->vd_drawnfg[z]; + bg = vd->vd_drawnbg[z]; + + pattern = vtfont_lookup(vf, c); + vd->vd_driver->vd_bitblt_bmp(vd, vw, + pattern, NULL, vf->vf_width, vf->vf_height, + x, y, fg, bg); + } + } + +#ifndef SC_NO_CUTPASTE + if (!vd->vd_mshown) + return; + + term_rect_t drawn_area; + + drawn_area.tr_begin.tp_col = area->tr_begin.tp_col * vf->vf_width; + drawn_area.tr_begin.tp_row = area->tr_begin.tp_row * vf->vf_height; + drawn_area.tr_end.tp_col = area->tr_end.tp_col * vf->vf_width; + drawn_area.tr_end.tp_row = area->tr_end.tp_row * vf->vf_height; + + if (vt_is_cursor_in_area(vd, &drawn_area)) { + vd->vd_driver->vd_bitblt_bmp(vd, vw, + vd->vd_mcursor->map, vd->vd_mcursor->mask, + vd->vd_mcursor->width, vd->vd_mcursor->height, + vd->vd_mx_drawn + vw->vw_draw_area.tr_begin.tp_col, + vd->vd_my_drawn + vw->vw_draw_area.tr_begin.tp_row, + vd->vd_mcursor_fg, vd->vd_mcursor_bg); + } +#endif +} + +static void +vt_draw_decorations(struct vt_device *vd) +{ + struct vt_window *vw; + const teken_attr_t *a; + + vw = vd->vd_curwindow; + + a = teken_get_curattr(&vw->vw_terminal->tm_emulator); + vt_set_border(vd, &vw->vw_draw_area, a->ta_bgcolor); + + if (vt_draw_logo_cpus) + vtterm_draw_cpu_logos(vd); +} + static int vt_flush(struct vt_device *vd) { @@ -1357,6 +1473,7 @@ vt_flush(struct vt_device *vd) #ifndef SC_NO_CUTPASTE int cursor_was_shown, cursor_moved; #endif + bool needs_refresh; if (inside_vt_flush && KERNEL_PANICKED()) return (0); @@ -1372,8 +1489,9 @@ vt_flush(struct vt_device *vd) if (((vd->vd_flags & VDF_TEXTMODE) == 0) && (vf == NULL)) return (0); - vtbuf_lock(&vw->vw_buf); + VT_FLUSH_LOCK(vd); + vtbuf_lock(&vw->vw_buf); inside_vt_flush = true; #ifndef SC_NO_CUTPASTE @@ -1417,29 +1535,63 @@ vt_flush(struct vt_device *vd) vtbuf_undirty(&vw->vw_buf, &tarea); /* Force a full redraw when the screen contents might be invalid. */ + needs_refresh = false; if (vd->vd_flags & (VDF_INVALID | VDF_SUSPENDED)) { - const teken_attr_t *a; - + needs_refresh = true; vd->vd_flags &= ~VDF_INVALID; - a = teken_get_curattr(&vw->vw_terminal->tm_emulator); - vt_set_border(vd, &vw->vw_draw_area, a->ta_bgcolor); vt_termrect(vd, vf, &tarea); if (vd->vd_driver->vd_invalidate_text) vd->vd_driver->vd_invalidate_text(vd, &tarea); - if (vt_draw_logo_cpus) - vtterm_draw_cpu_logos(vd); } if (tarea.tr_begin.tp_col < tarea.tr_end.tp_col) { - vd->vd_driver->vd_bitblt_text(vd, vw, &tarea); - inside_vt_flush = false; - vtbuf_unlock(&vw->vw_buf); + if (vd->vd_driver->vd_bitblt_after_vtbuf_unlock) { + /* + * When `vd_bitblt_after_vtbuf_unlock` is set to true, + * we first remember the characters to redraw. They are + * already copied to the `vd_drawn` arrays. + * + * We then unlock vt_buf and proceed with the actual + * drawing using the backend driver. + */ + vt_flush_to_buffer(vd, vw, &tarea); + vtbuf_unlock(&vw->vw_buf); + vt_bitblt_buffer(vd, vw, &tarea); + + if (needs_refresh) + vt_draw_decorations(vd); + + /* + * We can reset `inside_vt_flush` after unlocking vtbuf + * here because we also hold vt_flush_lock in this code + * path. + */ + inside_vt_flush = false; + } else { + /* + * When `vd_bitblt_after_vtbuf_unlock` is false, we use + * the backend's `vd_bitblt_text` callback directly. + */ + vd->vd_driver->vd_bitblt_text(vd, vw, &tarea); + + if (needs_refresh) + vt_draw_decorations(vd); + + inside_vt_flush = false; + vtbuf_unlock(&vw->vw_buf); + } + + VT_FLUSH_UNLOCK(vd); + return (1); } inside_vt_flush = false; vtbuf_unlock(&vw->vw_buf); + + VT_FLUSH_UNLOCK(vd); + return (0); } From nobody Fri Nov 24 17:31:58 2023 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 4ScMVR4ny5z51dZ4; Fri, 24 Nov 2023 17:31:59 +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 4ScMVR2Gfwz4Lb1; Fri, 24 Nov 2023 17:31:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847119; 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=Wd0s+OthZzTByy8kftF9njLP8xf7M78swoI2TnWFk84=; b=Byy4cp6sdOGdXe9M1GSCLPZEwFjhlTRRRCnWcbrz1D/wa19EoghrEQ5BZ1UlnW0eyktYzP z8i8gIVKgFuadO+ydtjMN4bmxERyWt048HqTSYvXolgFdgFqgJtCVpQvyKxKePzA9ykoCK KcB93hx9dm+u2KVQOfogxtvrsX891eU3BmGnmVvghIU7xui9XPWuFUJH3EdCIKPMNuMXNd uk3xp0BCINPBl/WEqPXEJT7UIG5fAF3dUmx2VKDPVsFwcCnLwGj2Z3mxpV3CR1Q9OtX3Os z29Faw/paB4kU559R3EWKSIYceiKieoixVT4pKAuzBhqk+FYtFB9YtgVUhMF7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847119; 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=Wd0s+OthZzTByy8kftF9njLP8xf7M78swoI2TnWFk84=; b=YAFlf8iWgw9uxtAbqBKLXWMQ671nOfZWCaWyWtXVj8mcGRLvK695gHvCJg0KgvbyxUgUpw b1eljeBxWmHIFL4NQC+6zsXXOkvKzW+ZwztHmZzjVqTXWm0TrGlHtJJU98/sqts7H+csZS ZbS9OuUClaYhBaoRFzbli7+Q234ddoTT3YlB5bxQK5Ju44yN+Gczpsov8GjGgqo/8cuM53 xuhhfzvDQxljW7fz19zrpP+LQq5Ii6AQKOewdUhrXHpP+OD7/NwbimHpx2yNlzFkadxmgB aBCvkGEeGyWovd2HX5zQQrzzGuLbFOn/Hfu8711GY9BXFB0N/JtJDOL96ir53g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700847119; a=rsa-sha256; cv=none; b=yqOy0h8l5ShaGnmWiv9hRbFlLKj0Soy2cbdYBnItnXJI+svfPbcVWIUu3Bn3grU98cUvfG O8tLCiylT9uKk6nsu45ucp8yse2yNFkc0ryfXgNa53DaC73UQfs8e9RhkiJAP7cdmhHcWP OQi+J5x2ZAh25Mt6dRe0O6XUeaSRL03Esn2JxCOaNh5zOyL+WJC36DJVBYM+pbOD3aihR8 TSZ7bd3NXTQih21v7BLRdMkEGEPJBuc7H42Fa/jENQMpCIG+grtbE/liN8A9DpLwTQi8QE Sj7t1C+pnzYN79ror9BK0dta+xpV6IjSNYi7GpTZvtEVE6pcNgsN6Jc5ijeu8Q== 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 4ScMVR0JqKztx5; Fri, 24 Nov 2023 17:31:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHVwFt061969; Fri, 24 Nov 2023 17:31:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHVw0w061966; Fri, 24 Nov 2023 17:31:58 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:31:58 GMT Message-Id: <202311241731.3AOHVw0w061966@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: 16b13bd3fd63 - main - vt(4): Call vd_postswitch callback regardless of the current window 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: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16b13bd3fd63be56653296ba54956f5526918445 Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=16b13bd3fd63be56653296ba54956f5526918445 commit 16b13bd3fd63be56653296ba54956f5526918445 Author: Jean-Sébastien Pédron AuthorDate: 2023-11-24 17:30:34 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-11-24 17:31:33 +0000 vt(4): Call vd_postswitch callback regardless of the current window [Why] We want the same behavior at the backend level, regardless if we need to switch the current window or not. Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D42751 --- sys/dev/vt/vt_core.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 3e4db9a1ba30..bfd99665be4a 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -579,8 +579,6 @@ vt_window_switch(struct vt_window *vw) * debugger entry/exit to be equivalent to * successfully try-locking here. */ - if (curvw == vw) - return (0); if (!(vw->vw_flags & (VWF_OPENED|VWF_CONSOLE))) { inside_vt_window_switch = false; return (EINVAL); From nobody Fri Nov 24 17:32:00 2023 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 4ScMVS2Z6nz51Npw; Fri, 24 Nov 2023 17:32:00 +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 4ScMVS1yBRz4LQG; Fri, 24 Nov 2023 17:32:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847120; 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=KIqIrAAZIJoGddyo7ZQ2ADs0onw/G29dYNmELKW9iXo=; b=v8Z0IDrl5KAbPMHpN7fiut9AcmDalBtnm7pLKlgbM3RtGC3IvDZMbTHtv8g/UK1l5PtZha /Jj0DffbzrjMhSIVIT4uf5qezSXb/iejaOOyuNtGLTmF+rf/Zl//gzR8YWjrKon7dmZY5z s65l1ik4cpIYlcu7NYdb2c1l+FUOI3UIczgYgHrTJ7tuQK/FRmzmNsOAx/lNEDtKcp8qbw 1PoC8wcxzlkUhaitP3zVd+mgyyNsRJ49PtPdr1LCKPZKXHCewSUQIDbX+3onV/zrbR5MvY AYPUkuqh5SgCEWmXjGROycOI6yy+eXXZPIjH9yJLahmu5I8ykeBRoucwQisB5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700847120; 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=KIqIrAAZIJoGddyo7ZQ2ADs0onw/G29dYNmELKW9iXo=; b=lSKOaOoIxkths5Gkv+rFaDksZ6HJ/5g8tufxw9CR9/1YKEPofV/d89TkXNgwKB7OHqk/ha zxEzUjsfkvdAYQS/tsSPNqSuMrhMlcqyuJslcybY3lyEHfUZFAcdjVTpSoS/B+r5NqTc/l aL+yrq52RJ3UTsavqkv9acbxPGLmkALq+HgrtoYqM6euOeWe+7+Y8b40S37TgwrVw7R3Lx UBF9Zae96MQDaXHXo4QBQrprZH+tFBIHoIxAM+H/4CXs3XPrLhboPfz704P7rgHAGbz0fT 4IaYoUI/U+aI/qhPOYnLPK8GiPclX5CHDxEu5/bJagED3D5U0zzTgyU7jUonuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700847120; a=rsa-sha256; cv=none; b=I4rDHu8QCw+KhcrY8jYyMRl55JZplgAJ/WBcBD7JvvmuMU5iJ2Qw5Mzrd+6/dSUTPP3ivT byV1LFWJ8hcFkU+SBBO9nFywiqn61OoxFu8XmkgEq7tEVhU//Sn+zC6KZWbYXhTYYSkdF8 5p6cBwx11vza6gbJSYfhmED692x3TKS5vU6d2zFTooWg5wU2xikllj097q8PDhivVB0F8s 3G/T/l1LjQWrFMuBb8DAXOSIPR25g48lEzd2YEn2EH2IHuHkPZhCDcHqA9JXQd3LdblnS4 RkpN42uSzUg2mLMROBVHCGDUPFYN3p6tsxLv4vk/x9va7E3+v3v8x/21IbVwNA== 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 4ScMVS10zTztx6; Fri, 24 Nov 2023 17:32:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOHW0pq062922; Fri, 24 Nov 2023 17:32:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOHW0B9062919; Fri, 24 Nov 2023 17:32:00 GMT (envelope-from git) Date: Fri, 24 Nov 2023 17:32:00 GMT Message-Id: <202311241732.3AOHW0B9062919@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Jean-S=C3=A9bastien?= =?utf-8?Q?P=C3=A9dron?= Subject: git: f18b3ce0b7be - main - vt(4): Always call vt_window_switch() in vtterm_cnungrab() 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: dumbbell X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f18b3ce0b7be0b24a743ec59077ca8e7929a353c Auto-Submitted: auto-generated The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/src/commit/?id=f18b3ce0b7be0b24a743ec59077ca8e7929a353c commit f18b3ce0b7be0b24a743ec59077ca8e7929a353c Author: Jean-Sébastien Pédron AuthorDate: 2023-11-24 17:30:35 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2023-11-24 17:31:33 +0000 vt(4): Always call vt_window_switch() in vtterm_cnungrab() [Why] This ensures that vtterm_cnungrab() is the mirror of vtterm_cngrab(). And the latter always call vt_window_switch() and thus the backend's vd_postswitch(). This makes sure that whatever the backend did during vtterm_cngrab(), it can undo it during vtterm_cnungrab(). Reviewed by: manu Approved by: manu Differential Revision: https://reviews.freebsd.org/D42752 --- sys/dev/vt/vt_core.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index bfd99665be4a..4a1031f1aa69 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -2046,7 +2046,7 @@ static void vtterm_cnungrab(struct terminal *tm) { struct vt_device *vd; - struct vt_window *vw; + struct vt_window *vw, *grabwindow; vw = tm->tm_softc; vd = vw->vw_device; @@ -2055,10 +2055,19 @@ vtterm_cnungrab(struct terminal *tm) if (vtterm_cnungrab_noswitch(vd, vw) != 0) return; - if (!cold && vd->vd_grabwindow != vw) - vt_window_switch(vd->vd_grabwindow); - + /* + * We set `vd_grabwindow` to NULL before calling vt_window_switch() + * because it allows the underlying vt(4) backend to distinguish a + * "grab" from an "ungrab" of the console. + * + * This is used by `vt_drmfb` in drm-kmod to call either + * fb_debug_enter() or fb_debug_leave() appropriately. + */ + grabwindow = vd->vd_grabwindow; vd->vd_grabwindow = NULL; + + if (!cold) + vt_window_switch(grabwindow); } static void From nobody Fri Nov 24 18:11:48 2023 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 4ScNNN4mVDz520dj; Fri, 24 Nov 2023 18:11:48 +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 4ScNNN4KMpz4bxn; Fri, 24 Nov 2023 18:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700849508; 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=k7NbS2yuIJ+pQm/2Uxi+BgLcsDbISgkmm8cfAM5Ouyk=; b=kYzNkS17bGcIqr772oxS9cztnv7jGADD91Vu2OHXjvxaaODB8McubbDSDuljZosIVxRZTG 75rf6VwvsSu5MGB3yWjZhrGLSAKemwUzi0O1Fzm+bX1GdZJTSumfanH1FrILkFqYzDshIy oe8cSRwaFR6akvN0wTReKW3eXRdlt6EInQmfuIgQcJLpCx35RTDFqPWVQ7APCqaUePL88R 2FIbbCoSdejylLP4LontNblFr7pIP/Y394YyBqZ0gISlH08uCJ7K8EFJU5YWYzvgLnurMC ZOqBAqrNS3IbCkpfWdB+vI4pn6jXSuEn/saAm1qYXzTak0hG2zL5655U+wSEsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700849508; 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=k7NbS2yuIJ+pQm/2Uxi+BgLcsDbISgkmm8cfAM5Ouyk=; b=pb2EDdWkHi4eQ+sToGjhzSLUAI6gdnEa7qh1UoJjTEeM60fLljJKvnnteoaVss0YDskiQX e9S4CXeRJWLAXtLOhTpN7es1QTbn8PIQsS4TV/M8mYVLv0e/Ldkw0cQbmEYrspNCdnGooP pw2Kmw2r/Me/j4mIVfMlrJ5YNcCuJfDjb4WHr9wACuD5GnSgAzQf83voiGOBJMEfQdvrF3 ef159MS/oBpE8znhofqCco8tbVF4YDNmnowmkDAtwNqYt2hgd4qSLYWF3xxl7UIT4BpEA2 4aSW1ZfaZPf38c2X9PWdE//olL360FcXMDaOI2PkCRfgOSqBSLI3ehUejYLT2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700849508; a=rsa-sha256; cv=none; b=LOHnDq6TQzyILBSu8+nqGJFaCHCasg2Ne3HZ7H/02G6V1uNX0Sm3Mu1W4Skw+zs4xHRIO9 umiba9uLoa6+kqPRzIuC0wuJ5K6s1ovU0Jf2gtmQdFhiEHmEtH/feS4KZsecxW6m50aAEB p9DqyFq1+Z5BOgulhQPX+FbfB3gnJcndW+uW30iSrr+pL4efnpCWNkz0Gg777M8vISk28A Mp97/5vjirJ5Rw4i8Ba/f1M8zaYe0qLPi3EnWoYTe8QDzuP49sakXNFKCb6B1VwBdGSswi /oUO0XERnFkGD40FZKp9acKz13mVsQhxtAKVCFEoEiLzAYjURzHvu8sxnw5zTQ== 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 4ScNNN3Q1Bzw2C; Fri, 24 Nov 2023 18:11:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOIBmoo034561; Fri, 24 Nov 2023 18:11:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOIBmOe034558; Fri, 24 Nov 2023 18:11:48 GMT (envelope-from git) Date: Fri, 24 Nov 2023 18:11:48 GMT Message-Id: <202311241811.3AOIBmOe034558@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mike Karels Subject: git: 3569e21f0714 - stable/14 - khelp: suppress useless warning message on shutdown 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: karels X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3569e21f07147c8dd4bee82e5e7efe69c98edeb1 Auto-Submitted: auto-generated The branch stable/14 has been updated by karels: URL: https://cgit.FreeBSD.org/src/commit/?id=3569e21f07147c8dd4bee82e5e7efe69c98edeb1 commit 3569e21f07147c8dd4bee82e5e7efe69c98edeb1 Author: Mike Karels AuthorDate: 2023-11-17 18:51:18 +0000 Commit: Mike Karels CommitDate: 2023-11-24 18:11:16 +0000 khelp: suppress useless warning message on shutdown If a module (e.g. the ertt hhook for TCP) can't clean up at shutdown, there is nothing to be done about it. In the ertt case, cleanup is just shutting down a UMA zone, which doesn't need to be done. Suppress EBUSY warnings on shutdown. PR: 271677 Reviewed by: tuexen, imp Differential Revision: https://reviews.freebsd.org/D42650 (cherry picked from commit 415c1c748d5492e41328fedf96b6bf3c9be94595) --- sys/kern/kern_khelp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_khelp.c b/sys/kern/kern_khelp.c index 3d75da141b48..f8a6f3e749da 100644 --- a/sys/kern/kern_khelp.c +++ b/sys/kern/kern_khelp.c @@ -357,7 +357,7 @@ khelp_modevent(module_t mod, int event_type, void *data) } else if (error == ENOENT) /* Do nothing and allow unload if helper not in list. */ error = 0; - else if (error == EBUSY) + else if (error == EBUSY && event_type != MOD_SHUTDOWN) printf("Khelp module \"%s\" can't unload until its " "refcount drops from %d to 0.\n", kmd->name, kmd->helper->h_refcount); From nobody Fri Nov 24 18:21:22 2023 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 4ScNbT02xVz524sJ; Fri, 24 Nov 2023 18:21:25 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ScNbS55Ljz4fXZ; Fri, 24 Nov 2023 18:21:24 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850084; 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: in-reply-to:in-reply-to:references:references; bh=vN6ppuuqo2eMelQU+KqVIy0u0gQe3DySCPDvDmx+A5c=; b=VqaBS/PGuKDNM2cewisie7fGjP056qla+nzLz0fA7ArMgCFjNHfZA050fGhMHI3c0XT+3B OCDaU2M1RQuv+5W2MaxKIpcMMJR7iuKk76K7MWrKHdritMKHhV+SjZCIuVMJghkhDBZrq3 GUqs6ZyzgkmfrkN6HcQk466BMT0ipDvEwLjBoqCDs5e+B5TUNeHxPTPT8NQcKMOQtWUkeo 4JWnYYcLX3k6tUCMWh3pj9OMju086deOw8n+dwB1PfruWrbsrhsQFehUgrF0XdrTEoTHH7 z+R1i+wKqDn+gsPUmRqXFjwD9YWrmSp1P8uGvZT6O9b3wxXaEwBQF4OlVCZHJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850084; 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: in-reply-to:in-reply-to:references:references; bh=vN6ppuuqo2eMelQU+KqVIy0u0gQe3DySCPDvDmx+A5c=; b=qGObOTq/iRRVuSr0ypbAMfQ2tKwLspqiHQKJzf/a/EEjClM73iyRb7HuL7uQLhRv88NfDR k/ML084K0mUOTRNQG9EYEXwbuOEFl/3u1ofeUUPkia79Z5B1yJqPdbEP7K3aEiClAskE0v nJVu6GevLIiIdCXxEF6NXZyfa2YJ+LtwrtFgV/U/qMl4MxM45wARSvi+lQ4neWpUwTYzCM D4UfPJrKfYBjfPrWs2HFsC4GI9bzRlxI29der7AjFSv2Ir78as2gPzJu992/nawI5uJ5Nb nSYenuLcFGNiFurValI1mu7Qcdaqfsw7jYo6URaoRXIUIltEq++PhkMSnwYMbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700850084; a=rsa-sha256; cv=none; b=WtJVYSUu/kaq22PvehCvPYep+pxKE23ewIyxenMB6ME835dGFk9xa6NxEqzHET9no2ZBjC zeTXz8Q9uFSUQGONGAmiyjbSnRseGSQwByKKW+fccfOKe0/Y5I0KjeZmqxfeTpAg2xPonD mBtqXuQXIcRcGrKBQxfOtQDp3rJ2bD7ridb14VT9SRYj4m5a/S/hEe+3P3yy11jW0pvJvu Qa0pgkDuijhc0cKYwTWM8120luzYKY/O9+frtgs0SYAs7G/o6LrWhaUfuLDqwv+itO6lQJ dL8zExrBvRxAdXvQewFEFotvb6TyVY9UXtpTRNYe0yVtYonOJ8KKVUmZpulc0Q== Received: from [IPV6:2601:648:8384:fd00:b51f:602b:c1d1:8fc9] (unknown [IPv6:2601:648:8384:fd00:b51f:602b:c1d1:8fc9]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ScNbS1Cqmz466; Fri, 24 Nov 2023 18:21:24 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Fri, 24 Nov 2023 10:21:22 -0800 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 19f073c612af - main - new-bus: Add resource_validate_map_request function Content-Language: en-US To: Mitchell Horne , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202311231707.3ANH758D008755@gitrepo.freebsd.org> <48b90d6b-5772-4aba-8948-bcf8b50c9b5b@freebsd.org> From: John Baldwin In-Reply-To: <48b90d6b-5772-4aba-8948-bcf8b50c9b5b@freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/23/23 9:41 AM, Mitchell Horne wrote: > > > On 11/23/23 13:07, John Baldwin wrote: >> The branch main has been updated by jhb: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=19f073c612afa0111d216e5ccab9525bfc97ec32 >> >> commit 19f073c612afa0111d216e5ccab9525bfc97ec32 >> Author: John Baldwin >> AuthorDate: 2023-11-23 17:06:24 +0000 >> Commit: John Baldwin >> CommitDate: 2023-11-23 17:06:24 +0000 >> >> new-bus: Add resource_validate_map_request function >> >> This helper function for BUS_MAP_RESOURCE performs common argument >> validation. >> >> Reviewed by: imp >> Differential Revision: https://reviews.freebsd.org/D42723 >> --- >> sys/kern/subr_bus.c | 31 +++++++++++++++++++++++++++++++ >> sys/sys/bus.h | 6 +++++- >> 2 files changed, 36 insertions(+), 1 deletion(-) >> >> diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c >> index 648394abd026..80fe182eab56 100644 >> --- a/sys/kern/subr_bus.c >> +++ b/sys/kern/subr_bus.c >> @@ -2715,6 +2715,37 @@ resource_init_map_request_impl(struct resource_map_request *args, size_t sz) >> args->memattr = VM_MEMATTR_DEVICE; >> } >> >> +int >> +resource_validate_map_request(struct resource *r, >> + struct resource_map_request *in, struct resource_map_request *out, >> + rman_res_t *startp, rman_res_t *lengthp) > > Can the function be given a top-level comment stating its purpose? This > file does a really good job providing this for the majority of its > public functions. > > Sorry to ask post-commit, but I did not see the review. Sure. I also hope to write a manpage for bus_generic_rl_* (and bus_get_resource_list) along with a second manpage for bus_generic_rman_* (and bus_get_rman) describing when they should be used. A manpage for resource_list_* might also be nice to write, but possibly a bit more work. -- John Baldwin From nobody Fri Nov 24 18:32:40 2023 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 4ScNrS3nmFz529vb; Fri, 24 Nov 2023 18:32:40 +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 4ScNrS2r6Rz3Fb1; Fri, 24 Nov 2023 18:32:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850760; 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=c2YNOcp9XzXdtGkJ9kMc063keeqqZepJhdaIOz7PRIE=; b=KHN1SpYqFaQ5ysd24kOJlnGhCbP3xYZuCH8L0u+ZKWgZtnP6AHwkO5ea7eva+NV67mtw+W sIDp0H3Rd3EWCS8JKghYHYTsIVLFC93cPe7nLKR01IBgyq06CudOoz/Keci47lgG6CLN0/ +9grZkgdJCd5fQJ/WXugBp0L6lqfy5LAUUXjYbfbPsZlvLgI9Qtovn8j4oXgIr6BC8Jfqv LW1IgF+/+BOMA3IvLf1lIjm7QcvURVfKwzJuVu8Mexd1NY2zBkLsBkpNergMx6PK7ipDKJ kh5VMbzM6QfsVEmLyk2142dr7lBpOZwSKz4j6lhe/f5dPP2+gEVDQFIEI0d3ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850760; 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=c2YNOcp9XzXdtGkJ9kMc063keeqqZepJhdaIOz7PRIE=; b=qQMv2QU19R0WXeZ+hdXk7IbxiTAYbO6YBp00gq6ld5C0yLFuonr+FWxs4mrBDLS48D+WUq t1kGRMm4pA8SCby992uKGYl39K4pUcU0FnVzt/dWenzGxpndtTWyoLLXRAw2wk7aj4kaCM lJDur6obPuiS0kuOGyfJJoWsnQMAJlnYA/JW9VJ7vgAyFsZvnoGmJZPQfE4RiPRcovV4hs LMjtOsWwfd4yAAtuU21lHByigDCs44wN7tc9pYVn7iFNSdv8dSsO5dXAehgX7sHFCq9b0q d1+BToQ9MViRAxfqNxvz7nhFXaOswB2YL1UDDp7rTQPejh82o81djtvhLYRcvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700850760; a=rsa-sha256; cv=none; b=VO+Je9qHzK8y5ZgWdV+byvsU51qNj5jR889/WnNO0l/xoH7hPTTzHuObqNsGC4kODOL1Al BDbVKO7v+qKfQ1iN7ZLsuQkMKqVKaWdBSpKEGByBYZhuePMlpJU/cgPjHxOMqveaQ4dF7M /5r/axJRGcFioDjMZC4UY1hyEg/L+9K1AyTFoA1EyCt3UVWfxD6T5INbuORyYp7B+o9FID dlSNqLxpzdVRK3cWEGJFXIkhbjQdqFy69Su5fs89rS5ZABpvCyJ8rCk2HNwl8Z1+eKefwW WRm0jzCoKWurdsBqJltbvNlhi4WDs3wLCVnXujwXjoXaGjodSRYJmZeFXyLs9g== 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 4ScNrS1ws5zwlw; Fri, 24 Nov 2023 18:32:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOIWeZP068224; Fri, 24 Nov 2023 18:32:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOIWeFS068221; Fri, 24 Nov 2023 18:32:40 GMT (envelope-from git) Date: Fri, 24 Nov 2023 18:32:40 GMT Message-Id: <202311241832.3AOIWeFS068221@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 21795c374ace - main - stand: Retire setting hw.eisa_slots. 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 21795c374aceb685dbdb1bd18c7a5c41c3cf0baf Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=21795c374aceb685dbdb1bd18c7a5c41c3cf0baf commit 21795c374aceb685dbdb1bd18c7a5c41c3cf0baf Author: Warner Losh AuthorDate: 2023-11-24 17:58:44 +0000 Commit: Warner Losh CommitDate: 2023-11-24 17:58:44 +0000 stand: Retire setting hw.eisa_slots. When the eisa code was removed in 2017, prior to the stable/12 branch, setting hw.eisa_slots became a nop. The oldest supported branch doesn't have eisa at all. The need to set it manually on boot disappeared largely by 2000... Sponsored by: Netflix --- stand/forth/menu-commands.4th | 2 -- stand/lua/core.lua | 2 -- stand/lua/core.lua.8 | 1 - 3 files changed, 5 deletions(-) diff --git a/stand/forth/menu-commands.4th b/stand/forth/menu-commands.4th index decf3fdf6fa4..8121272114d0 100644 --- a/stand/forth/menu-commands.4th +++ b/stand/forth/menu-commands.4th @@ -127,7 +127,6 @@ also menu-namespace also menu-command-helpers s" set hw.ata.ata_dma=0" evaluate s" set hw.ata.atapi_dma=0" evaluate s" set hw.ata.wc=0" evaluate - s" set hw.eisa_slots=0" evaluate s" set kern.eventtimer.periodic=1" evaluate s" set kern.geom.part.check_integrity=0" evaluate ; @@ -137,7 +136,6 @@ also menu-namespace also menu-command-helpers s" hw.ata.ata_dma" unsetenv s" hw.ata.atapi_dma" unsetenv s" hw.ata.wc" unsetenv - s" hw.eisa_slots" unsetenv s" kern.eventtimer.periodic" unsetenv s" kern.geom.part.check_integrity" unsetenv ; diff --git a/stand/lua/core.lua b/stand/lua/core.lua index f4a2815769c9..4c121319eb36 100644 --- a/stand/lua/core.lua +++ b/stand/lua/core.lua @@ -177,7 +177,6 @@ function core.setSafeMode(safe_mode) loader.setenv("hw.ata.ata_dma", "0") loader.setenv("hw.ata.atapi_dma", "0") loader.setenv("hw.ata.wc", "0") - loader.setenv("hw.eisa_slots", "0") loader.setenv("kern.eventtimer.periodic", "1") loader.setenv("kern.geom.part.check_integrity", "0") else @@ -185,7 +184,6 @@ function core.setSafeMode(safe_mode) loader.unsetenv("hw.ata.ata_dma") loader.unsetenv("hw.ata.atapi_dma") loader.unsetenv("hw.ata.wc") - loader.unsetenv("hw.eisa_slots") loader.unsetenv("kern.eventtimer.periodic") loader.unsetenv("kern.geom.part.check_integrity") end diff --git a/stand/lua/core.lua.8 b/stand/lua/core.lua.8 index 61eab6fe24f6..f0f27ee5ae13 100644 --- a/stand/lua/core.lua.8 +++ b/stand/lua/core.lua.8 @@ -127,7 +127,6 @@ Sets or unsets .Ev hw.ata.ata_dma , .Ev hw.ata.atapi_dma , .Ev hw.ata.wc , -.Ev hw.eisa_slots , .Ev kern.eventtimer.periodic , and .Ev kern.geom.part.check_integrity . From nobody Fri Nov 24 18:32:41 2023 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 4ScNrT5MJLz52B3r; Fri, 24 Nov 2023 18:32:41 +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 4ScNrT3srYz3FJW; Fri, 24 Nov 2023 18:32:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850761; 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=KQhW2knvOHnN3s2PxrzcTFExdbE6IibhIkkEdeMjhlk=; b=kxuHkDI17ZDE3AP6jMxVbS3aYNyGFM+igN406iBtUAjU3nU2R35g7XmrMJ69EBbpW1h14o QmmizSbqn+tcTPYGnuK6NidkSJa7pfH+eImlpe6wCAguafs4PhOwamco0cKkOyM5KX+ra6 IT2F06KI1LWe6yN7ZXVrRaPxREvmzrzzUMMnSUboEepa+VM50Jb/Px8eLcg4Ck0AAnso3O tUrIpWdfssBtcJOp+BMEUVm0elM5Q4iYh8wiYue9np4MjFkaUPg4O+BXRTpMWVsO7TmLO3 VUZUPEsTqAxZplcj2n3jGPFYBSn1yzNrvYwqmYU/9Al/2Ux04SvJKSIXf2wb5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850761; 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=KQhW2knvOHnN3s2PxrzcTFExdbE6IibhIkkEdeMjhlk=; b=jz8sUa3QZ0zGCouH0hcI4Z7jMFn1I9JB7oZ40YOUOImzlLdEYfBatsWTJVqYAmE8iiz/Oi gpfROrM6Vh4RvEQ0qaImfxqWOQ5w3xx5LCItSooVFjcEz4++pEX5jlaizy3O988iHFc4fD HUFHZ16l43mDpEZf0qCvNFEUOF0+RI9NhTTzaTbXaTsjZfpAigRUAEr+4yfXOGMnDz4dAH Bg7L0FnWMvGRXwDwQmCSjW/ErrKVYDnNepGYJr05FNRGCJh1Y43RiY1ocbTmmbK25yp4Yi otlqc6Drw28+A2oKxwOeVgjxWEa9fS5+P7Xh8UsMU/YPbfPL7K9Kwui1/WfI5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700850761; a=rsa-sha256; cv=none; b=Iyf0eDBkT4svJRIE9n/bzUD735qDQTjNp4Yxop4OdqdrZ6MKcu642GJjR0ERtKNWKHKUBf X6S+SVCP6hhiI2a4NKsp1vPtE45/SPvTNnpHth/fry0ADR7RGMGoLz1GnTwsn1W5R39RJZ ZSL91XBhT1fwNQ9v7Z+uJ1w4cFd0JB0szQxKEnL5IJpatekAI7mhPoyOggC0VYuLLDIbNg JIzH72/fsZoG9jF7C8FusaqXezGqVB7djPqtGZIcI/G3KTh5Yritioo6FevAeFdoUOV4lT j+RBFc8ql/sLgsOis/Jcc32wkVAuNahkiLcqsXe75Xp7AU4KvEfgz7bDlL/66g== 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 4ScNrT2xzTzwpd; Fri, 24 Nov 2023 18:32:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOIWfue068270; Fri, 24 Nov 2023 18:32:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOIWfvs068267; Fri, 24 Nov 2023 18:32:41 GMT (envelope-from git) Date: Fri, 24 Nov 2023 18:32:41 GMT Message-Id: <202311241832.3AOIWfvs068267@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: e0e508153866 - main - ata: Retire unused variable / externs 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e0e508153866947115d1f855a31d83cdaf49aa68 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e0e508153866947115d1f855a31d83cdaf49aa68 commit e0e508153866947115d1f855a31d83cdaf49aa68 Author: Warner Losh AuthorDate: 2023-11-24 18:27:38 +0000 Commit: Warner Losh CommitDate: 2023-11-24 18:27:38 +0000 ata: Retire unused variable / externs When looking for something else, I noticed these are no longer used anywhere. Sponsored by: Netflix --- sys/dev/ata/ata-all.c | 3 +-- sys/dev/ata/ata-all.h | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c index dae833bbd849..c12043c9915d 100644 --- a/sys/dev/ata/ata-all.c +++ b/sys/dev/ata/ata-all.c @@ -71,7 +71,6 @@ static int ata_str2mode(const char *str); /* global vars */ MALLOC_DEFINE(M_ATA, "ata_generic", "ATA driver generic layer"); -int (*ata_raid_ioctl_func)(u_long cmd, caddr_t data) = NULL; devclass_t ata_devclass; int ata_dma_check_80pin = 1; @@ -428,7 +427,7 @@ void ata_udelay(int interval) { /* for now just use DELAY, the timer/sleep subsystems are not there yet */ - if (1 || interval < (1000000/hz) || ata_delayed_attach) + if (1 || interval < (1000000/hz)) DELAY(interval); else pause("ataslp", interval/(1000000/hz)); diff --git a/sys/dev/ata/ata-all.h b/sys/dev/ata/ata-all.h index 41faa271abda..056a391cb621 100644 --- a/sys/dev/ata/ata-all.h +++ b/sys/dev/ata/ata-all.h @@ -450,11 +450,7 @@ struct ata_channel { #define ATA_LED_MASK 0x03 /* externs */ -extern int (*ata_raid_ioctl_func)(u_long cmd, caddr_t data); -extern struct intr_config_hook *ata_delayed_attach; extern devclass_t ata_devclass; -extern int ata_wc; -extern int ata_setmax; extern int ata_dma_check_80pin; /* public prototypes */ From nobody Fri Nov 24 18:32:42 2023 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 4ScNrW5qPrz529vs; Fri, 24 Nov 2023 18:32:43 +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 4ScNrV56Zmz3FPm; Fri, 24 Nov 2023 18:32:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850762; 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=GPALkXUkd/F/lSSiJqS4v6eA9rVj212YlZZuPjd7/uo=; b=wbN6V8E6O+IuHvomMmHogSl4ZZAAOWMzPubmEyjGAH//MtS7XhdiEPDexR1B2cSzGZM3bA tG32uIuXGTk2dWi+P14YgBk/gP2Ps4Csy917ZUw4MBPU0+Bqo3y5b23tffJ7Nt30OUSJ3D Sq49xohVFnXLH7hbFTRG0wPV1kZ7Hf4Tm8vYx6guQqt03SZ4fZrvm81kQj8EZHxZ+YbZKw 0KmKeajyrKdMgyMOW1Ffhad+OX7emq4JQtnxwBXdUsiWHLpQZfdgxMDUIQK5XuV0POqFHI zjYvfVb6Y/ZHM/4ehiK0tOpYbUkPRvtWevjt173itAw0g7C6MMOEb3Jb/hpckQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850762; 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=GPALkXUkd/F/lSSiJqS4v6eA9rVj212YlZZuPjd7/uo=; b=jriQSAQoD3yEa5+ZmJxWLVZlI0XoyT6H6PyQwJglSvw1g8960he6+3PkoYk8QOqHQy+Yxg yP3spK2X4UbmHcf/C0Qj6q+wk3yE7jxc2VBGjEhY9uCVM4Jgedol85+dbT4xHPNhFppPj0 XiDEws+Whk6zXIj4k72jQqmsCroqOghZbWKtiz271u2Hr/3F4tZmjn5sGBDwT9tjY55kTf ds+vtrOe8WUQCmq6WLGoZZuflS9LlY+Jy8Ei3qonqfcgjksjvdkeJNuEX9/bWYB2QFvLSt BWKspPDGZxLx/QdTkRJJp3YbsQqMS/dZw4U9QeCUmbopzyuOevVemasVj6ANZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700850762; a=rsa-sha256; cv=none; b=sKwr3DIlvu7Ioo+GA5s1A26LPfmmurwYKMoPSJ5ZJxLYu7WeSTGvfIRY9CJLmILwPTQty6 lmP/3p48u0Sk26tgz/Waaas07B3M6SBFGQA2PqbNhtlffuhg8YdsWkl95ezvEAhQ6QeXBf rm0GvgDklrTjsRP3yPBCl3PFCtPC9i5Gt/zj6y87K+TnIf68Qk8AC8fFRG1oH5hs2M8XWd UcihWvmDdGc6J30wl6kRRkIn9DGXSVVVWt2Ht9Qb3Em1lqTXHysyqfmjNsUEvh4yaIvtSU iOW4hNAonezyhHhU2cKO9NzqhhuT+iC3PzYaR7EIMxeq1aZu/KhynB6gx0C3/g== 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 4ScNrV46P0zwc4; Fri, 24 Nov 2023 18:32:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOIWgsq068324; Fri, 24 Nov 2023 18:32:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOIWgHA068321; Fri, 24 Nov 2023 18:32:42 GMT (envelope-from git) Date: Fri, 24 Nov 2023 18:32:42 GMT Message-Id: <202311241832.3AOIWgHA068321@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 67d2bd974d34 - main - stand: Retire setting hw.ata.wc: it doesn't exist. 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67d2bd974d34d918255307321107273562f11dde Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=67d2bd974d34d918255307321107273562f11dde commit 67d2bd974d34d918255307321107273562f11dde Author: Warner Losh AuthorDate: 2023-11-24 18:28:44 +0000 Commit: Warner Losh CommitDate: 2023-11-24 18:28:44 +0000 stand: Retire setting hw.ata.wc: it doesn't exist. hw.ata.wc was disconnected as part ot the 2013 cam-ification of ata. No need to continue setting it. It's been unused in FreeBSD 10.x and newer. Sponsored by: Netflix --- stand/forth/menu-commands.4th | 2 -- stand/lua/core.lua | 2 -- stand/lua/core.lua.8 | 1 - 3 files changed, 5 deletions(-) diff --git a/stand/forth/menu-commands.4th b/stand/forth/menu-commands.4th index 8121272114d0..2c3d787c65e1 100644 --- a/stand/forth/menu-commands.4th +++ b/stand/forth/menu-commands.4th @@ -126,7 +126,6 @@ also menu-namespace also menu-command-helpers s" set kern.smp.disabled=1" evaluate s" set hw.ata.ata_dma=0" evaluate s" set hw.ata.atapi_dma=0" evaluate - s" set hw.ata.wc=0" evaluate s" set kern.eventtimer.periodic=1" evaluate s" set kern.geom.part.check_integrity=0" evaluate ; @@ -135,7 +134,6 @@ also menu-namespace also menu-command-helpers s" kern.smp.disabled" unsetenv s" hw.ata.ata_dma" unsetenv s" hw.ata.atapi_dma" unsetenv - s" hw.ata.wc" unsetenv s" kern.eventtimer.periodic" unsetenv s" kern.geom.part.check_integrity" unsetenv ; diff --git a/stand/lua/core.lua b/stand/lua/core.lua index 4c121319eb36..5c3c65463e51 100644 --- a/stand/lua/core.lua +++ b/stand/lua/core.lua @@ -176,14 +176,12 @@ function core.setSafeMode(safe_mode) loader.setenv("kern.smp.disabled", "1") loader.setenv("hw.ata.ata_dma", "0") loader.setenv("hw.ata.atapi_dma", "0") - loader.setenv("hw.ata.wc", "0") loader.setenv("kern.eventtimer.periodic", "1") loader.setenv("kern.geom.part.check_integrity", "0") else loader.unsetenv("kern.smp.disabled") loader.unsetenv("hw.ata.ata_dma") loader.unsetenv("hw.ata.atapi_dma") - loader.unsetenv("hw.ata.wc") loader.unsetenv("kern.eventtimer.periodic") loader.unsetenv("kern.geom.part.check_integrity") end diff --git a/stand/lua/core.lua.8 b/stand/lua/core.lua.8 index f0f27ee5ae13..5274ba4c2143 100644 --- a/stand/lua/core.lua.8 +++ b/stand/lua/core.lua.8 @@ -126,7 +126,6 @@ Sets or unsets .Ev kern.smp.disabled , .Ev hw.ata.ata_dma , .Ev hw.ata.atapi_dma , -.Ev hw.ata.wc , .Ev kern.eventtimer.periodic , and .Ev kern.geom.part.check_integrity . From nobody Fri Nov 24 18:34:58 2023 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 4ScNv71nf0z52BQT; Fri, 24 Nov 2023 18:34:59 +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 4ScNv71BSwz3Gnt; Fri, 24 Nov 2023 18:34:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850899; 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=4uvld2owC5ENFFuZkTW/p7jNvU80m24fifayOYLSmrU=; b=iHAHi1SRTR5NAahzFvf+6NatUsZqOX5PrueFuUBJ1SdCIVEWkuc5xf7Q+KENpPEzqpmUUv EL7ZosX11yuhP1DdnTJqEPBUBudrldL30HchLQJL/Og0xCNAw+GYkbA4Si38Q14gYJ0Hgh uCcqLjWw0A2lFd2soy5worLj3swJMNzPzz0ewV0tr6G3bW46j9pS/W/HmyDbYQCT7U2GVN K8OlYoTHOHdCOA/0PwsatSIKhUGZaO7aIL0fYKqgUi5RRcUbNl7ePJZZsQMPWhmPT5C8Ch bJHC9DNcdvOpyWCrgRfF0oaVFEsmO/nviikicCxX1C7bCC1zSh5mmWgy/LpUCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850899; 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=4uvld2owC5ENFFuZkTW/p7jNvU80m24fifayOYLSmrU=; b=AS6MHq3W9hzXvJhbhflHgH9epwoKj+hMmQFwqzulSJKgLdXxSPT2F+3oOmaatBChxUuYdC pcT7N/tAVM1Vw+TytKGkJ6tx6m+kyVs1Qyugo1B0aFnASgdXpJXTdE4FuKTUcif7jqVS0H P7suNKbnYUGl9mLqXAar8vyxpRbH5DJSYYDHRC5E7xCvEvFVOgwLY4N9AhA7JK6m2meZdT tnB6rg8/cIMe7aNthjFqtCEB9Ax1Rrfouaroug7Q7vqYdsBXbBR+T9GedtLXzMS22aBIVD JO28cy01jjsusy4TnwiBvT9XvJ/pV0Vuji0bhCLW4CzGR7M9Sq+n4yjxkwTstA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700850899; a=rsa-sha256; cv=none; b=XdINPeexWqYvhGsp2pV1bqZkm6a32hc0u8794nJkav6dbh0r/8cOdGIvFx9qZ0+JK2ummK LPz2R+3Bpb5SS1nagf3rgfYtEB5LpL6ot+ljjM3lwfe26PDg76Mz3/Ka9+LPd5q4LVrGlZ 7v/IaFe/fLAEYfsos97Zu+Y1rcBznSsJ6nnM8ZkC/kgHUE3K1lTbbT7Y3Wc9GgzIDxTUz7 BfJVLfX4VA/SxeBrbN5PD9kZNWG7+nJc9hv/KV0vGcEMZOKbpdcG56V15+1qOieaMCclyE kjbxSphiuJ6JlMaFzPmtH70SIz/v7V6LQTs/EyrVWsPK2yoOZrR4uPxkBLktiA== 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 4ScNv70Fhszw3x; Fri, 24 Nov 2023 18:34:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOIYwJ6068829; Fri, 24 Nov 2023 18:34:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOIYw0p068826; Fri, 24 Nov 2023 18:34:58 GMT (envelope-from git) Date: Fri, 24 Nov 2023 18:34:58 GMT Message-Id: <202311241834.3AOIYw0p068826@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 00b3cde596dd - main - new-bus: Add a comment for bus_generic_get_domain 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 00b3cde596dd3945d56aa12f2a4957b2910e1ee3 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=00b3cde596dd3945d56aa12f2a4957b2910e1ee3 commit 00b3cde596dd3945d56aa12f2a4957b2910e1ee3 Author: John Baldwin AuthorDate: 2023-11-24 18:33:57 +0000 Commit: John Baldwin CommitDate: 2023-11-24 18:33:57 +0000 new-bus: Add a comment for bus_generic_get_domain --- sys/kern/subr_bus.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 9e191f4c3a4f..1c6710dbbb3c 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -4358,6 +4358,13 @@ bus_generic_child_present(device_t dev, device_t child) return (BUS_CHILD_PRESENT(device_get_parent(dev), dev)); } +/** + * @brief Helper function for implementing BUS_GET_DOMAIN(). + * + * This simple implementation of BUS_GET_DOMAIN() calls the + * BUS_GET_DOMAIN() method of the parent of @p dev. If @p dev + * does not have a parent, the function fails with ENOENT. + */ int bus_generic_get_domain(device_t dev, device_t child, int *domain) { From nobody Fri Nov 24 18:35:00 2023 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 4ScNv83wH8z52BYL; Fri, 24 Nov 2023 18:35:00 +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 4ScNv8316mz3Gm4; Fri, 24 Nov 2023 18:35:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850900; 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=p9Y481syPlTaM0yMvFpSFdsUSZxrgytSXHXWr8rgkAw=; b=dUwS6ueTeq4VbQAg2MNglM+j1PZNCmcMBnuOk9LnBSIthvs63+Ou0QzROPmQpn+tPo9UDQ X0cm67UIIuXPOFVCYIMixP+CWyPcU2oVYLR6bwdKaxHZodZ+1S6vMc5kJ8ODWDXfJZdIwz LFPt1EgibEEv/kmR0hsBgcVbIu1ug6leEkbzTqrJT1m3/pONvMseGUZZrp5rgLYaydw+1n iQNW/8j4mtjJQGUNoDUZ0xV1+zGi269DKbLgHGtcP/eelpBwdJQCl1QRqMu+SNVPppuzbu a48nG5w2ynz919D2fhUWjZj/JPBYRKtVet9m80zKZ77rR8Ut3GWUQZC91aCL0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700850900; 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=p9Y481syPlTaM0yMvFpSFdsUSZxrgytSXHXWr8rgkAw=; b=aZfVcTndWNUKxnYrks49smaVEseHW3O1i1FDjwspzoPA3Hh+kOKXcbB5TQAWzAVcIYbYKW /ECXlOxsAkcGa30wRo3u6+CxkebJqnJ7ayy/Pr/bT7Fk9RfOo7qv8Mz6+REHuJjLRvrXIO 8LUWqrBowqBaiBqzZAMa3dNou+9b+CMCfBUqe/5xjLrNEmXb1cUfN+2keY1F0VjYJ1RiKZ UU6hd6ew0J6XOgG5qtNGCdTpJ/wpjdLfdG/t47t9aNDWrH7Q2dbrubHs3qnIQH2ASQJdr9 Nq+BepwBcoK1/HXmritM9XF5hqHfj6AN+9ufREm+EXYRRM2QV5fUDBGp/nts0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700850900; a=rsa-sha256; cv=none; b=af419n0WfeJwEEtEa3cGaNI21NLiIaAKQE4aJ/pRs3ytY5Y/Jwj6/iio8xFoSoSWlVx2DW ud3t1en+qITOP2IH2nZsZE5gYsofI21OJegp1njPA0IUJNktk8+poaWzTEmf7pfC0dQzAl fF5yvvv17plijfm/JPAQG0yHmRw+IVjOLLIxbmpYbY+dNPrm0rbcVFZbj4od+5O7hFuhTC X1xn/siTbsWLmsDhzA/+wNsDJokpjGD4QtiC12O4w3IbJow9em24VoP0ZabwRtaAbW+XXP g0UgGlgPapmB/0TByCrsokTW5/cWp1dRkPc6hy39fMtPK5bYN8sc3FvoPNM41A== 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 4ScNv81c8hzwTF; Fri, 24 Nov 2023 18:35:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOIZ08O068886; Fri, 24 Nov 2023 18:35:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOIZ0x4068883; Fri, 24 Nov 2023 18:35:00 GMT (envelope-from git) Date: Fri, 24 Nov 2023 18:35:00 GMT Message-Id: <202311241835.3AOIZ0x4068883@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 46971d38de33 - main - new-bus: Add comments for resource_*_map_request* 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 46971d38de334a9418e2b66b37cea7d051b6731a Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=46971d38de334a9418e2b66b37cea7d051b6731a commit 46971d38de334a9418e2b66b37cea7d051b6731a Author: John Baldwin AuthorDate: 2023-11-24 18:33:57 +0000 Commit: John Baldwin CommitDate: 2023-11-24 18:33:57 +0000 new-bus: Add comments for resource_*_map_request* Requested by: mhorne --- sys/kern/subr_bus.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 1c6710dbbb3c..8da99e158f1c 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -2707,6 +2707,15 @@ device_set_unit(device_t dev, int unit) * Some useful method implementations to make life easier for bus drivers. */ +/** + * @brief Initialize a resource mapping request + * + * This is the internal implementation of the public API + * resource_init_map_request. Callers may be using a different layout + * of struct resource_map_request than the kernel, so callers pass in + * the size of the structure they are using to identify the structure + * layout. + */ void resource_init_map_request_impl(struct resource_map_request *args, size_t sz) { @@ -2715,6 +2724,18 @@ resource_init_map_request_impl(struct resource_map_request *args, size_t sz) args->memattr = VM_MEMATTR_DEVICE; } +/** + * @brief Validate a resource mapping request + * + * Translate a device driver's mapping request (@p in) to a struct + * resource_map_request using the current structure layout (@p out). + * In addition, validate the offset and length from the mapping + * request against the bounds of the resource @p r. If the offset or + * length are invalid, fail with EINVAL. If the offset and length are + * valid, the absolute starting address of the requested mapping is + * returned in @p startp and the length of the requested mapping is + * returned in @p lengthp. + */ int resource_validate_map_request(struct resource *r, struct resource_map_request *in, struct resource_map_request *out, From nobody Fri Nov 24 19:47:23 2023 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 4ScQVh239dz51qbf; Fri, 24 Nov 2023 19:47:24 +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 4ScQVh0M0Pz3Xxx; Fri, 24 Nov 2023 19:47:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700855244; 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=jR/TZdmXbNHFs6DHUyZQRq4xQL+FY45lgccqqhLRftI=; b=gp76GPsYr+TzZlRi7exRtEdNmYIlJKAPC1ZBWFVulDsG4/GaQjIveWnSAgSGHt23M7uhne OHAnMmX/n/2SXrJ+zHWsElC7u3i+DwWEHcukrdKTPiUWUSFI53iQa3SHfu65PrV5Swj7xH oafwFrR7UEV9wgPS8GQlNd0zpPLzynqV5h43Q/EdxFYluzN5iEZxuUvHHwOKeP+RwZBGVW 22yUMYUNAHCu+UK45UqmtMWjBeN5RF3+xXqNNTiYxjvqJuilqreCzJGWqOiK6O0tWNonKZ QGFslB+fzBD5gX/JDFQeAz+DHMFG+nRwsm1aKx75kUTNAtyFiRtfXUSwImNBzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700855244; 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=jR/TZdmXbNHFs6DHUyZQRq4xQL+FY45lgccqqhLRftI=; b=P/OnmOTpQu3qq0ZQhW5S5XWNN8l7HnF2XLDrJIRygwGrg7JeRzZcT2wzxLOK6iwoLimOFU 7F1iZa03RsthQNK4NniEwnE4DA8nqsQ28Ow8XgiXRSJYF/4BUcImweoZpfQegh7nYlGvia GmrDgygroPVoVlXfuQe/TlPOTvg1VUhS3Ss9tiG0XK0Oj5ngQjM8b+XXaXMh/Jfph+CxX0 cE28VSO1Wox7DYBhQ1pRBDzzjBfheKoe7IXZPlfyWCIm+bcQCvoboiIqo+IhgDX/kO1sO9 SMHNkvEvMljA5ztIpCnPUD+nAIr/gmix44pwmdsYW7Yy5cXraBUYJPkfuKy//Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700855244; a=rsa-sha256; cv=none; b=es9D4JAcSQ9fBvZbuA/kJ2guaw1WDZtKACfsbHHEFi6qfrhP/3l6Nq88qVfn9KSTA0na/W brI6S/190LdsbDzTy3XFTnUs4mmmWci6RNWYZoq7xiIoWdNcSbd9d017jnlBFYS2afVa82 c2RqYT5FONbe5hKmid8shEg26shuiqsG6EmsBlIY2CPsoEpmNFB3dZ9umooMpw1MyrWCxg QwgqFbq60xhHCZmlMCNDe/e62xfP3GfsfrfIjxD/ArB1fZRMF9YA3Ufq+GHgYMigkXG9V4 qjn7MvbGBFXLyMifDuxcA2yQSKNrs6k5uibRkEFs9t/26dpktmSfhhtF9iWcIg== 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 4ScQVg6SWczyL3; Fri, 24 Nov 2023 19:47:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOJlNeo085936; Fri, 24 Nov 2023 19:47:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOJlNBN085933; Fri, 24 Nov 2023 19:47:23 GMT (envelope-from git) Date: Fri, 24 Nov 2023 19:47:23 GMT Message-Id: <202311241947.3AOJlNBN085933@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: e6d025c5c57d - stable/13 - pseudofs: fix off by one in hash iteration in pfs_purge 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: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e6d025c5c57dbcf4f7b078c9d42533e5839af932 Auto-Submitted: auto-generated The branch stable/13 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=e6d025c5c57dbcf4f7b078c9d42533e5839af932 commit e6d025c5c57dbcf4f7b078c9d42533e5839af932 Author: Alvin Chen AuthorDate: 2023-11-20 05:55:35 +0000 Commit: Mateusz Guzik CommitDate: 2023-11-24 19:47:15 +0000 pseudofs: fix off by one in hash iteration in pfs_purge Sponsored by: Dell Technologies Differential Revision: https://reviews.freebsd.org/D42628 (cherry picked from commit e0d0f0930ee22af7bf38d28d8590d4e6c822871d) --- sys/fs/pseudofs/pseudofs_vncache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/pseudofs/pseudofs_vncache.c b/sys/fs/pseudofs/pseudofs_vncache.c index c1aee2ff4ae1..82dfc7a5366f 100644 --- a/sys/fs/pseudofs/pseudofs_vncache.c +++ b/sys/fs/pseudofs/pseudofs_vncache.c @@ -305,7 +305,7 @@ pfs_purge(struct pfs_node *pn) mtx_lock(&pfs_vncache_mutex); restart: removed = 0; - for (i = 0; i < pfs_vncache_hash; i++) { + for (i = 0; i <= pfs_vncache_hash; i++) { restart_chain: SLIST_FOREACH(pvd, &pfs_vncache_hashtbl[i], pvd_hash) { if (pn != NULL && pvd->pvd_pn != pn) From nobody Fri Nov 24 20:13:05 2023 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 4ScR4K449hz524Rt; Fri, 24 Nov 2023 20:13:05 +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 4ScR4K3gmdz3dyL; Fri, 24 Nov 2023 20:13:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700856785; 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=+LqJbSS9bCj3ZnucUYnU64ObngSQ/WJydMTF3ZeJMs4=; b=Sd37B5rvbM8+Tf1FZMw8Rl/fP4qTQ/uAH1hsDG0fEoJQseBMZkgh5KvizKax/wGkvRYi8A LdLJmPx8im4GeLDWdUK4GImAQud65+BQ6m3HOL9a/UhpT5XxtgjU79ci7tKgNzblHh3sw3 Wf4IzveOT/g6ksVWRa+X179luAcy+OssUWHiFAUFZ8Cb4+sJTcWTCu/2XagfbR0PgMJzrK CVHI+n8PCWINWmSn/c0dGkZ9SqjMlwgrOng+o+93qZTJ5R9PeHyenvB2Bolri+XgRgXnm9 adqFpbYB4e2/aE5Eoe9z8q6s4vs14pt5e3YsAvJxfKeA47HDJ1NhG6IKAMy21Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700856785; 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=+LqJbSS9bCj3ZnucUYnU64ObngSQ/WJydMTF3ZeJMs4=; b=TCtYmE8JMAGDQPux/VCpB0690Df56fPV4dbn8pzurcSaViPTOiJeur5pCb6FXFOREp1niY s1YZ4+NpFDX1H075MYiRarTge5bs6jU4rD5m34k1hShkN0TXOwvTS96x7J9dzv2BahOhVp IqC1/QzYnyNjZT1bKpXF9dwRNyoeloecfPbATVskV3rOPRMlFiqBJWUBpLKWi+oi8pHOt4 xgmWLPc753Zn6sviWwk/fJIVDYU9ZXY9KHfZlxJl2nWzbMtFBFrJVma0Cv4lmOZ9DJ8sM2 rHnXVMwXhuzc0a+3EVhOkvQc01RmDO8yMZ92fIoznmT8nYbmRgEdY4PnNyboVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700856785; a=rsa-sha256; cv=none; b=p3b1Ycw0d/EwEx0YdqndskojSdICShQRvOOzFgJSO9+8paih44XKl1qLVrTq4q2U6Ehrgq psbd+4pFR0C3VK0EXwMqntrbOfRoko5SZVlZE+wjQ4X8bUV/ovF5zlV2D72uDzsV1BBT37 wCi6w/z31ESz8sC5jNvgVyDLAD2RX8W6Dwg/u5T89D8GulZx1uwDSyFE23ei2QQ5NEqBXg vXZIPHCcD9s9POqtHHDcu0LNcg3m3L4atfvfQ7Wp+VPY9jqfnbMWSXBKAprs2PRks8y6nc rd5Yt3IplkPA/Y6CF7EyBMC5bR+6dxgS3LgiTioyh+Zabc0rGdndJRR64OhAvA== 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 4ScR4K2mZNzywJ; Fri, 24 Nov 2023 20:13:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOKD5Jl036180; Fri, 24 Nov 2023 20:13:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOKD55V036177; Fri, 24 Nov 2023 20:13:05 GMT (envelope-from git) Date: Fri, 24 Nov 2023 20:13:05 GMT Message-Id: <202311242013.3AOKD55V036177@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: ac910ad9951a - main - rc.d/ldconfig: Remove stray ;; 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: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac910ad9951a52743389a47fa4a3feabe9021aaa Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=ac910ad9951a52743389a47fa4a3feabe9021aaa commit ac910ad9951a52743389a47fa4a3feabe9021aaa Author: Cy Schubert AuthorDate: 2023-11-24 20:11:45 +0000 Commit: Cy Schubert CommitDate: 2023-11-24 20:11:45 +0000 rc.d/ldconfig: Remove stray ;; Stray ";;" causes the ldconfig rc script to fail at boot. Remove it. Fixes: 73902ed85ab7 --- libexec/rc/rc.d/ldconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/libexec/rc/rc.d/ldconfig b/libexec/rc/rc.d/ldconfig index beb79ba95b84..5c404a823dbb 100755 --- a/libexec/rc/rc.d/ldconfig +++ b/libexec/rc/rc.d/ldconfig @@ -63,7 +63,6 @@ ldconfig_start() done startmsg '32-bit compatibility ldconfig path:' ${_LDC} ${ldconfig} -32 ${_ins} ${_LDC} - ;; fi fi From nobody Fri Nov 24 22:01:48 2023 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 4ScTTm3DCxz51kR0; Fri, 24 Nov 2023 22:01:48 +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 4ScTTm2q9Pz4cPx; Fri, 24 Nov 2023 22:01:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700863308; 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=XjaGLRmwqvoUtZ4dQKFD1pFZjj13nuGIdJTV6TP0J+M=; b=OraErKQZwtZ47GR8fYYFFBjSqQwe65PXHfX1MUWwhUbjDLCqm+p+Ckbnj+ge5GNfeplcEB z429+q3s73EHrzF61iSu3LBcjf/ruASDGQEgv40PmDHhdbN6aJ8wEFpg474avwbmjzWZVo /T/HECTkYRuPvUYEMg8BN84POB7s81P5CJccyleIdg5UeAEHuiUNdf1m2F9ZkhG2+ybJhW xIEWVq4YQZuFRocCdKiqFLdBtZZ37g79gHbHJSkvuvMqYOti3d0tYmXYI/npv5Y44Big9u 4T1puLvtHPsQMK8JxBViemJDdCqaDccNXnw+oIPPPfb6y2wUYz0kkJaJ4lX4vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700863308; 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=XjaGLRmwqvoUtZ4dQKFD1pFZjj13nuGIdJTV6TP0J+M=; b=YKGAkrBAF/aRo3b1ip91NqxL5knBXUo5XWFsdf/70tSSQobB8FUwAIl2DTiiIM2SnzgBJo MVU9mbKtQtSP3u3CtTlaZnQfUxPfMoz4CtLZsi2TcsTNV43/Q9G05xmTn+bRi1+Ghrs39t 0AdE4taat17M+zD950b67d++Yv1FihiSgx+CM8hTV/+Y8UXqgqDVmJ5wuZakkO0PmptcEs A/JSAftHg6B3nk1CUiMh/DYcRrKyw45TJ7CfrqYj6p3kRkJ6OzK6zxc2ppZx/BZ64aUxU7 DFurCnag7jGPc61PjepE8yYSO3ZUEEMKVpsR7SF4pE4fdvtk9HGggtvz69H9LA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700863308; a=rsa-sha256; cv=none; b=B8YgBkRPjnYIWQ3GtimM3GFl6ue8bbRmpj7YYnp4GfuzkfOAckBcNaYmBxxTMwo86uo6C2 qtZE+3xlU0TquxyXQtBK9tF/Ftb7Y9nd3RRsSSXRBfIH8VR0wiRgpqgec+Dxv2ZubqxPFb bwjWVRcWIW8Monb4/N8d9GrKVC2o4jGWmg73DCbDRs0X+qZhPffqOqL11h+buwVKAYp3NZ 4vnRYKYbDIdKZN+L1NwQCi9ovTOehtR5wfBEhly1a3+qB1FTVuCwfIM6BpfwoQU1rXrF76 FHpW/ZXUlTVpuIl8KmKrNL0AHNFyMQ8qVMJKwPW4f7ZETJkPWBgrHepcHQsw/g== 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 4ScTTm1tgPz12h6; Fri, 24 Nov 2023 22:01:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOM1mSg018444; Fri, 24 Nov 2023 22:01:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOM1m9i018441; Fri, 24 Nov 2023 22:01:48 GMT (envelope-from git) Date: Fri, 24 Nov 2023 22:01:48 GMT Message-Id: <202311242201.3AOM1m9i018441@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 5622f52c98cd - main - aarch64 nexus: Fix a mismerge in nexus_activate_resource 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5622f52c98cda7df1faef11d847e04500158e107 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5622f52c98cda7df1faef11d847e04500158e107 commit 5622f52c98cda7df1faef11d847e04500158e107 Author: John Baldwin AuthorDate: 2023-11-24 22:00:33 +0000 Commit: John Baldwin CommitDate: 2023-11-24 22:00:33 +0000 aarch64 nexus: Fix a mismerge in nexus_activate_resource Fixes: 658501d25930 aarch64 nexus: Use bus_generic_rman_*_resource --- sys/arm64/arm64/nexus.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index 32b5542f1916..2c19d4ecfc0e 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -367,10 +367,8 @@ nexus_activate_resource_flags(device_t bus, device_t child, int type, int rid, rman_deactivate_resource(r); return (err); } - return (0); - default: - return (EINVAL); } + return (0); } static int From nobody Fri Nov 24 22:31:50 2023 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 4ScV8R0hhFz521FX; Fri, 24 Nov 2023 22:31:51 +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 4ScV8Q4yLZz4kf5; Fri, 24 Nov 2023 22:31:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700865110; 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=vT8vR9mo/qh1pNAikAgmyRNdg8xzekaGLFSmELb4zX4=; b=WvZCWo2wi7uDJ3E6u4BJxkGJH6t7YJ4MHVoZpfbfSdwt6bC+KTokmJCLX3FUwnGQyLcNSB gAHiXvKJ/XJ2Zut5kydnJi5sVWhF2sRKti2hkbbSotIwMhPpd29a2w20KSZjKqWkCW5D7k 2BAltQpDTR26gGYwB8w05b7YN4oEECiPP4EiW0VNXdss3aEUVJRwDCcMnWyWDMgfjVez+4 MCwTtAfPp3FKRCTVDJqsscgg/LfmyODZoZTGbpewK8AMS2RwaKiItASPM1l714IqO1rOEX D4OPZZl2fDEHwJ2khXUAZfP6fHgR9MIwoiCL/r5s55rGXIAyzOdzBt/9dB/PhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700865110; 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=vT8vR9mo/qh1pNAikAgmyRNdg8xzekaGLFSmELb4zX4=; b=jUZ9JH7c/C6rB4qfHNr5iITMBZ/xm/TCO7+u9YlpM/YldjmXlsYMUVBEctfe3ofE6BKT+u xDY/9RF0PdXHcumOEEKJEyOZOVxO8gNmDKwrStbVv5I48A+XAQnZHTl0uNiEhfsOIDy4Yz hKExntxN9vv2qvx1sAQrIwmVwP6aVGbg61YokN/KHeajAjuDGrAw4oovPeFEOCQ8EZi9vl y1PSkKi2Nll6EKURJmtTs88Ie039+ix8zbGiZJXI2520oPezstVx7vUEQBexByLrZlwEMd 4B0mc800nWKTINDIaZ51TiyoOK7YoUN0Ld1WB8hSyBU2Dzk38O8bruJwqW1woQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700865110; a=rsa-sha256; cv=none; b=sFI4t8ZcSscKz7SrMahS/siT4qKQUPSxcUpd5F/P3ZpE7IUL6r8nh6CRoKoJ/FXNWUxXBg 9dLKhvK0IHgpJftLAlPRvFCif7Z0DPv2xk1YP17rmxeeieryHC4PoxXThvwH+ag0kmRU/R MkES3pMQ6sTyJvq6MEqIRwvc4Pfn+cspoVbDbfMbUPWaev2VTu3eH9vGAL7I7sUN8z4r0O f73/+lLFes/U2+VAqsxbLBC4P1pXnCoXHUxfR4ee+beUbNu2B/KPPG2rXEYfVub44qwSkM Evm8F5ViheAc7mhSmbujE2/2Da+RB/F9Uk6SMfiMHs2/5Po4WjcnhVrHtFlPaw== 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 4ScV8Q442zz13c2; Fri, 24 Nov 2023 22:31:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AOMVopH065020; Fri, 24 Nov 2023 22:31:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AOMVopt065017; Fri, 24 Nov 2023 22:31:50 GMT (envelope-from git) Date: Fri, 24 Nov 2023 22:31:50 GMT Message-Id: <202311242231.3AOMVopt065017@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: f72b4f7e149d - main - etcupdate: temporarily comment out one tzsetup test 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f72b4f7e149d82ef5b8ed7a3aa415fcd7603b350 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f72b4f7e149d82ef5b8ed7a3aa415fcd7603b350 commit f72b4f7e149d82ef5b8ed7a3aa415fcd7603b350 Author: Ed Maste AuthorDate: 2023-11-24 22:28:31 +0000 Commit: Ed Maste CommitDate: 2023-11-24 22:31:28 +0000 etcupdate: temporarily comment out one tzsetup test This test fails after tzsetup was changed to symlink rather than copy the zoneinfo file (5e16809c953f). --- usr.sbin/etcupdate/tests/tzsetup_test.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usr.sbin/etcupdate/tests/tzsetup_test.sh b/usr.sbin/etcupdate/tests/tzsetup_test.sh index dd76884e13eb..155830bddae7 100644 --- a/usr.sbin/etcupdate/tests/tzsetup_test.sh +++ b/usr.sbin/etcupdate/tests/tzsetup_test.sh @@ -232,7 +232,8 @@ echo "Differences for real update:" diff -u -L "correct" $WORKDIR/correct.out -L "test" $WORKDIR/test.out \ || FAILED=yes -file /etc/localtime "foo" -file /var/db/zoneinfo "foo" +# XXX tzsetup installs a symlink as of 5e16809c953f +#file /etc/localtime "foo" +#file /var/db/zoneinfo "foo" [ "${FAILED}" = no ] From nobody Fri Nov 24 23:35:41 2023 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 4ScWZK4vFRz51KWq; Fri, 24 Nov 2023 23:35:53 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ScWZJ3Rl5z3JkZ; Fri, 24 Nov 2023 23:35:52 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=hlxbJz+N; spf=pass (mx1.freebsd.org: domain of rick.macklem@gmail.com designates 2607:f8b0:4864:20::1029 as permitted sender) smtp.mailfrom=rick.macklem@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-285196aaecaso1996594a91.0; Fri, 24 Nov 2023 15:35:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700868951; x=1701473751; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=UiSEmEcUxsLqFGUNGaTpue5DgZavQCO83qAFvfYMLEw=; b=hlxbJz+N/OjKkjSu7Qp1b3sebWhGgmn0GIX8EHD+YMpK7/QiuLUvc8eLojYm8Irlmu lgouFnDjV1SCzthoi009UUU/8gi55ud0pUY9R7ZafiV2f9wocDKZ+qD4d8D6DVLArpHx lIA1hHWriGyz8xRdC3y11Q18VP2NCyOuEvWI6+JeQ5qqXhONes/h/JA7KA0pj4NBelNw 1nqUvgx2xqFhYm0E1u3R3VYDp31QJzRIvIrMuZ7LTnmmZ+kaNpO47dm/QMQYHsYXhAyp 35S9kszEKf2+3wIrCDgO+wEhagNDzGSaUf99Egshzc8cD7IbhLwLHlaDjSHZx/ZHkpvx 4HMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700868951; x=1701473751; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UiSEmEcUxsLqFGUNGaTpue5DgZavQCO83qAFvfYMLEw=; b=gdV6Hw6znTkhBJs2WhIcdqWq0bjTV9QvZtPNvqb/5meyvpY41YbSvPQwIcrnm18G+4 V6EGCQkiN7N9AFIQOEMjVvT+nP0BhlGYQrM6nEQgvpw+UpeOR/laH778kNsZPs6aDjZa eb+86CkDVtfbI1UeWtWsB5/mV3W9bfGESb3v74L3H7tczUdDB1NCjwCq0xDkq026CnU6 rAlOLpwPOpATV1jVdc0E7VHqwEmYatzNefuQvcaFaux/KS/oetZ98jf+e6de4lsvyxVy BZPROIGsslfnyXzNdCm/+KS8fX4gwbS5v8GPO+vPIV1A3S7lupIwuQWAn2Ib4Kv/zblu pl7A== X-Gm-Message-State: AOJu0Ywk+aLz3YmbpZx3yPHZuGd3YXLdt7lJLszMIS5IYws46kSH7X2p d3XKGDoLpxHnNEfqg6iRvT6uuXKurvJDwD6cmA== X-Google-Smtp-Source: AGHT+IFHQqKeV+j0H1QaNZUrRAXhtbj3uVCsfOwhILJvPKrZF65jU/XgisKq0Z7RrH0f8OjWL+wATgKJpK4FKIc2pVE= X-Received: by 2002:a17:90b:1d0a:b0:27c:f1f8:261f with SMTP id on10-20020a17090b1d0a00b0027cf1f8261fmr4370480pjb.20.1700868950755; Fri, 24 Nov 2023 15:35:50 -0800 (PST) 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 References: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> In-Reply-To: From: Rick Macklem Date: Fri, 24 Nov 2023 15:35:41 -0800 Message-ID: Subject: Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots To: Mike Karels Cc: Konstantin Belousov , Alexander Leidinger , Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.99 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; NEURAL_HAM_LONG(-0.99)[-0.992]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::1029:from]; TAGGED_FROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCPT_COUNT_SEVEN(0.00)[7]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,leidinger.net,freebsd.org] X-Rspamd-Queue-Id: 4ScWZJ3Rl5z3JkZ X-Spamd-Bar: --- On Fri, Nov 24, 2023 at 8:16=E2=80=AFAM Rick Macklem wrote: > > On Fri, Nov 24, 2023 at 7:58=E2=80=AFAM Rick Macklem wrote: > > > > On Fri, Nov 24, 2023 at 5:18=E2=80=AFAM Mike Karels w= rote: > > > > > > CAUTION: This email originated from outside of the University of Guel= ph. Do not click links or open attachments unless you recognize the sender = and know the content is safe. If in doubt, forward suspicious emails to ITh= elp@uoguelph.ca. > > > > > > > > > On 24 Nov 2023, at 7:02, Konstantin Belousov wrote: > > > > > > > On Fri, Nov 24, 2023 at 08:50:22AM +0100, Alexander Leidinger wrote= : > > > >> Am 2023-11-23 16:25, schrieb Rick Macklem: > > > >>> The branch main has been updated by rmacklem: > > > >>> > > > >>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Df5f277728adec4c5b3= e840a1fb16bd16f8cc956d > > > >>> > > > >>> commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d > > > >>> Author: Rick Macklem > > > >>> AuthorDate: 2023-11-23 15:23:33 +0000 > > > >>> Commit: Rick Macklem > > > >>> CommitDate: 2023-11-23 15:23:33 +0000 > > > >>> > > > >>> nfsd: Fix NFS access to .zfs/snapshot snapshots > > > >>> > > > >>> When a process attempts to access a snapshot under > > > >>> //.zfs/snapshot, the snapshot is automounted. > > > >>> However, without this patch, the automount does not > > > >>> set mnt_exjail, which results in the snapshot not being > > > >>> accessible over NFS. > > > >>> > > > >>> This patch defines a new function called vfs_exjail_clone() > > > >>> which sets mnt_exjail from another mount point and > > > >>> then uses that function to set mnt_exjail in the snapshot > > > >>> automount. A separate patch that is currently a pull request > > > >>> for OpenZFS, calls this function to fix the problem. > > > >> > > > >> May the same/similar fix like for ZFS be needed / useful for nullf= s mounted > > > >> stuff? > > > >> > > > >> I have a ZFS dataset which is mounted via nullfs into a jail. This > > > >> nullfs-mount is then exported via samba. In samba I have the shado= w-copy > > > >> stuff enabled, but it doesn't work, as the jails can't access the = snapshot. > > > > > > > > Jails cannot access snapshots because, as I understand, snapshots > > > > are mounts. Nullfs does not provide an option to recursively bypass > > > > into mounts. The patch you responded to does not automatically moun= ts > > > > snapshots on clients, it only allows them to mount if wanted. > > > > > > It works for me, with main and this change, or 13.2 without a patch. > > > I don't know the mechanics, but it doesn't use nullfs, and the snapsh= ot > > > does not show up as a separate filesystem with the mount command. > > Yes. ZFS essentially does an automount of the snapshots under .zfs/snap= shot. > > (As I understand it, there are non-default ZFS options that allow these= to be > > mounted manually instead.) > > I can now see that these automounts are 'real mounts" in the > > mountlist. The only reason > > they are not visible is that they have MNT_IGNORE set on them. > Oh and I forgot to mention that this automount is for some weird in > memory file system that does just enough so you can see the snapshots. > Once you "cd ", the vnodes are associated with the ZFS > mount (dataset) and not this weird snapshot fs. (That is why it doesn't n= eed to > be exported, but did need mnt_exjail to be set properly.) > > I might be able to test a nullfs over ZFS case later to-day and will > post if I do so. Yes, it is broken in a similar way. With a nullfs mount on top of a ZFS mou= nt that is exported to an NFS client, you can access the snapshots under .zfs/snapshot if the mnt_exjail checks are commented out. However, if the checks are done, they fail. So, yes, something similar to what ZFS will do is needed for nullfs. Now I have to figure out how/when it can be done. I will play with it to-da= y, but it probably won't get fixed until late Dec. Again, sorry for the breakage, rick > > rick > > > > > Now, as for what happens when nullfs is on top of ZFS, I do not know. > > What Kostik says about nullfs recursing into mounts suggests it will no= t work. > > I will look at it, but since I am headed to Florida for a few weeks, it= may > > not happen until the end of the year. > > > > If someone can test this case and determine if there is no NFS client a= ccess > > for snapshots under .zfs after applying the patch that is an > > attachment in PR#275200 > > when nullfs is over the ZFS file system, that would be appreciated. > > > > rick > > > > > > > > Mike > > > > > > > You might try to set up something with autofs, no idea if it could = be made > > > > to work usefully. > > > From nobody Sat Nov 25 00:15:06 2023 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 4ScXRq0btlz51wby; Sat, 25 Nov 2023 00:15:19 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ScXRn68Zsz3V4G; Sat, 25 Nov 2023 00:15:17 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=loBVIHDk; spf=pass (mx1.freebsd.org: domain of rick.macklem@gmail.com designates 2607:f8b0:4864:20::435 as permitted sender) smtp.mailfrom=rick.macklem@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-6cb55001124so2433405b3a.0; Fri, 24 Nov 2023 16:15:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700871316; x=1701476116; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=4185JS/4+FU25c9iP87CDPdWUbK63pcLAlZP8a4r+Gw=; b=loBVIHDkm/ToNGj6VvgD8/vEOERHpPCVZiKAwMODDHW5n+mJJ0HsR+Vx11KgQP0/Ek 9GO4+5r2Uy4WUavAFZthk+OgLSWt5gSoETkECHGEpDNq3nS5esoEwMzBKVae0lpFXC6g VYec69xhf7InpDvYBD8GBzx5ictPhCJg4npvCdYW5As8oA0lhEImK4ueE2pJbIWZeNbm 1+iQUc5sDd2kQMS05Ek2wtfhdXAFNBtW9ok81T5LRO2ZitD3uWKUloNJOxlNKO7vEUMg 0S917EWL9ZsLDMJo8yHQ93H6Y69cQ8Fi4kt8kfdzn+rzKikfJuniWZcERdRTWULJ0jpk ge/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700871316; x=1701476116; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4185JS/4+FU25c9iP87CDPdWUbK63pcLAlZP8a4r+Gw=; b=pzMYR4mE8mMxFsXH5AJXlsQQoHnn/ZfLORsH/EmvG0V1ed3+bIu3OXUuDwPh1+opID IqeOnA30pN4gK//dPg3qeAHiSXmV+b2A+4LH10yEHz7zzAniA/K44Jk6gxaAopGp2Nj2 UIsFtl+ea+2Q9787O3ywIHmT/lhgkyI8RhPJcnm4bgLPtwj2RXEMmB4uP2QRC/5TSBs4 gC4UndTn16g15u4p3mwc4Tc5n0xcp901g9ORF6v04B0oycfTCadKO/wgKc/YunmGfMzO aWpADQ5t6gl+fZziZBDlpPYVZcG7pj79vpX1UjYRQ7O9GP9+CBdy8vG2NM6G8TePfx/a qGFw== X-Gm-Message-State: AOJu0Yz5C5pQkBtGfbF2DJ2s3RxMDSdXWAC8mOmAkztdfwewlAOHxewy +5FmRgwQbCxDfn6YufVRZidvbBosJL//xNrniQ== X-Google-Smtp-Source: AGHT+IGj9e2WDxE6dJ/zrT2A7JrMesUscQwE6sGYlGTQ60eiA6+dx/cwMLhvQVM+Ygprz90VUroKljYJWQjsJzfCKLc= X-Received: by 2002:a17:90b:33cd:b0:285:9d40:80c5 with SMTP id lk13-20020a17090b33cd00b002859d4080c5mr2606634pjb.19.1700871316258; Fri, 24 Nov 2023 16:15:16 -0800 (PST) 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 References: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> In-Reply-To: From: Rick Macklem Date: Fri, 24 Nov 2023 16:15:06 -0800 Message-ID: Subject: Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots To: Mike Karels Cc: Konstantin Belousov , Alexander Leidinger , Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.97 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-0.99)[-0.992]; NEURAL_HAM_SHORT(-0.97)[-0.974]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::435:from]; TAGGED_FROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCPT_COUNT_SEVEN(0.00)[7]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,leidinger.net,freebsd.org] X-Rspamd-Queue-Id: 4ScXRn68Zsz3V4G X-Spamd-Bar: --- On Fri, Nov 24, 2023 at 3:35=E2=80=AFPM Rick Macklem wrote: > > On Fri, Nov 24, 2023 at 8:16=E2=80=AFAM Rick Macklem wrote: > > > > On Fri, Nov 24, 2023 at 7:58=E2=80=AFAM Rick Macklem wrote: > > > > > > On Fri, Nov 24, 2023 at 5:18=E2=80=AFAM Mike Karels = wrote: > > > > > > > > CAUTION: This email originated from outside of the University of Gu= elph. Do not click links or open attachments unless you recognize the sende= r and know the content is safe. If in doubt, forward suspicious emails to I= Thelp@uoguelph.ca. > > > > > > > > > > > > On 24 Nov 2023, at 7:02, Konstantin Belousov wrote: > > > > > > > > > On Fri, Nov 24, 2023 at 08:50:22AM +0100, Alexander Leidinger wro= te: > > > > >> Am 2023-11-23 16:25, schrieb Rick Macklem: > > > > >>> The branch main has been updated by rmacklem: > > > > >>> > > > > >>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Df5f277728adec4c5= b3e840a1fb16bd16f8cc956d > > > > >>> > > > > >>> commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d > > > > >>> Author: Rick Macklem > > > > >>> AuthorDate: 2023-11-23 15:23:33 +0000 > > > > >>> Commit: Rick Macklem > > > > >>> CommitDate: 2023-11-23 15:23:33 +0000 > > > > >>> > > > > >>> nfsd: Fix NFS access to .zfs/snapshot snapshots > > > > >>> > > > > >>> When a process attempts to access a snapshot under > > > > >>> //.zfs/snapshot, the snapshot is automounted. > > > > >>> However, without this patch, the automount does not > > > > >>> set mnt_exjail, which results in the snapshot not being > > > > >>> accessible over NFS. > > > > >>> > > > > >>> This patch defines a new function called vfs_exjail_clone() > > > > >>> which sets mnt_exjail from another mount point and > > > > >>> then uses that function to set mnt_exjail in the snapshot > > > > >>> automount. A separate patch that is currently a pull reque= st > > > > >>> for OpenZFS, calls this function to fix the problem. > > > > >> > > > > >> May the same/similar fix like for ZFS be needed / useful for nul= lfs mounted > > > > >> stuff? > > > > >> > > > > >> I have a ZFS dataset which is mounted via nullfs into a jail. Th= is > > > > >> nullfs-mount is then exported via samba. In samba I have the sha= dow-copy > > > > >> stuff enabled, but it doesn't work, as the jails can't access th= e snapshot. > > > > > > > > > > Jails cannot access snapshots because, as I understand, snapshots > > > > > are mounts. Nullfs does not provide an option to recursively bypa= ss > > > > > into mounts. The patch you responded to does not automatically mo= unts > > > > > snapshots on clients, it only allows them to mount if wanted. > > > > > > > > It works for me, with main and this change, or 13.2 without a patch= . > > > > I don't know the mechanics, but it doesn't use nullfs, and the snap= shot > > > > does not show up as a separate filesystem with the mount command. > > > Yes. ZFS essentially does an automount of the snapshots under .zfs/sn= apshot. > > > (As I understand it, there are non-default ZFS options that allow the= se to be > > > mounted manually instead.) > > > I can now see that these automounts are 'real mounts" in the > > > mountlist. The only reason > > > they are not visible is that they have MNT_IGNORE set on them. > > Oh and I forgot to mention that this automount is for some weird in > > memory file system that does just enough so you can see the snapshots. > > Once you "cd ", the vnodes are associated with the ZFS > > mount (dataset) and not this weird snapshot fs. (That is why it doesn't= need to > > be exported, but did need mnt_exjail to be set properly.) > > > > I might be able to test a nullfs over ZFS case later to-day and will > > post if I do so. > Yes, it is broken in a similar way. With a nullfs mount on top of a ZFS m= ount > that is exported to an NFS client, you can access the snapshots under > .zfs/snapshot > if the mnt_exjail checks are commented out. > However, if the checks are done, they fail. > > So, yes, something similar to what ZFS will do is needed for nullfs. > Now I have to figure out how/when it can be done. I will play with it to-= day, > but it probably won't get fixed until late Dec. Oops. Now my test is not working, even when the mnt_exjail check is commented out. (When I NFS mount the ZFS , I can see the snapshots under .zfs/snapshot, but when I NFS mount the nullfs mount that is on top of the ZFS I do not see it. So, I think Kostik is correct and it does not see the .zfs/snapshot automou= nt. I don't know how I screwed up on the first test after I disabled the mnt_exjail check, but it does not appear to have broken this case after all. rick > > Again, sorry for the breakage, rick > > > > > rick > > > > > > > > Now, as for what happens when nullfs is on top of ZFS, I do not know. > > > What Kostik says about nullfs recursing into mounts suggests it will = not work. > > > I will look at it, but since I am headed to Florida for a few weeks, = it may > > > not happen until the end of the year. > > > > > > If someone can test this case and determine if there is no NFS client= access > > > for snapshots under .zfs after applying the patch that is an > > > attachment in PR#275200 > > > when nullfs is over the ZFS file system, that would be appreciated. > > > > > > rick > > > > > > > > > > > Mike > > > > > > > > > You might try to set up something with autofs, no idea if it coul= d be made > > > > > to work usefully. > > > > From nobody Sat Nov 25 00:34:26 2023 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 4ScXst6KcGz525vx; Sat, 25 Nov 2023 00:34:26 +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 4ScXst5rwnz3Zfp; Sat, 25 Nov 2023 00:34:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700872466; 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=sLbbqAKGRTPh5yj11ZZrwjprXV4Cc3D5RwnuKxKA3uk=; b=ED6mbrkFtoJSk88CuXw9zgWj38D3J53CF/2ADQPHfn57a0JP67zQL1BGqTVb8LmNw9/7kC 0ns6m33hB8aSWc3X1qUp7FprJHXO28y7XFrrBDHrVuts9JjkecfYlXZwb3CXLlyHabCHRN WHFWCLAByJaYbHkCOmzShHb3Y2J+nrS80bwi9RCUh2RPITUvvopq9b3AMwth6Ru94ky5F9 eJdof6sdfUH8+EQJdiFHYpQUP7SLedMYZe5HmZBMeyE7oHSPfhKl59GdgLxUr+xWxAOcmw ttOyCnXBVahFBvQiXWLSmPDZsURpZ7ABoFuA96IF3lMBeawkEq+DmKk8C4VcWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700872466; 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=sLbbqAKGRTPh5yj11ZZrwjprXV4Cc3D5RwnuKxKA3uk=; b=nG/FKoagEQbLxvEH78oAHaHAv3SlPMHuUO7TlunioaWAj+LJoevq2EihHoVtQhsBZzdY1q +WFjZsl5JaKq2c/0l41Jug+zTLbD9CsG5cJbQ9+H2rLXEeaSwjmO9dULz4f0zkCqDPBKUN Vkmv+Tc+2z4pIMfMi5q/YYzL/iCexA3cqa+RYKmYCqwrKZvfU+34gkyH6ehaLBxAdLHiv5 SIPFjqEL8uL09mSJeJQVLuz+aAgS7YnIcQeSK2KIOOIqngebWIyGXyhon9v9giEF4/FDff Vhcbz4XP9y22WFf4sQi1P468R6de0/dx5N9GlZjpwxj3nVmy3cZkJRmSmctDsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700872466; a=rsa-sha256; cv=none; b=A7fZnDfNBu9AHUbT4gqIc2KDqHGN9qTBoh9aJDvhE7We3D3V3QZ5bXbjdiWrSJuo2wTky1 8ScCB9ensbcObYZZiR2fwxyk2fNiRHX4dj7ht9NZ0vjdpOtF4BzJYzsMl+HDtBpn6VVGkw QmRbiv1cLZgAq5LWBPtWirIe53iZDYy0NxtRuj74+jAJt7CnfJxZoxdmG8TkqxE3M2VvNi 2T7gU9ZFAFQdVc/PbLvyG0vYE6Nxu34/jv6YqR4XRo0D4yyQLtcCJXCxnp7tK6Z49v6Jog hNVT1Hp/rVgMCjeqTSVuQUAMOAlv6cs5pHsn7ZvMOXoV9GGDSGUlCgP/kwt1RQ== 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 4ScXst4vFgz16J8; Sat, 25 Nov 2023 00:34:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AP0YQjc069203; Sat, 25 Nov 2023 00:34:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AP0YQei069200; Sat, 25 Nov 2023 00:34:26 GMT (envelope-from git) Date: Sat, 25 Nov 2023 00:34:26 GMT Message-Id: <202311250034.3AP0YQei069200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: 7826693aa546 - stable/14 - iostat: Tune formatting for higher disk speeds 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7826693aa546f261edcf1c3b72755641cbc77267 Auto-Submitted: auto-generated The branch stable/14 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=7826693aa546f261edcf1c3b72755641cbc77267 commit 7826693aa546f261edcf1c3b72755641cbc77267 Author: Alexander Motin AuthorDate: 2023-11-10 23:35:38 +0000 Commit: Alexander Motin CommitDate: 2023-11-25 00:34:19 +0000 iostat: Tune formatting for higher disk speeds MFC after: 2 weeks (cherry picked from commit 105c7c4b8dcec22567a5f137b9406a95fbd9f4f2) --- usr.sbin/iostat/iostat.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/usr.sbin/iostat/iostat.c b/usr.sbin/iostat/iostat.c index d4f7a2519a1b..c6ba6aa8a7a2 100644 --- a/usr.sbin/iostat/iostat.c +++ b/usr.sbin/iostat/iostat.c @@ -765,9 +765,9 @@ phdr(void) (void)printf(" blk xfr msps "); } else { if (Iflag == 0) - printf(" KB/t tps MB/s "); + printf("KB/t tps MB/s "); else - printf(" KB/t xfrs MB "); + printf("KB/t xfrs MB "); } printed++; } @@ -934,26 +934,30 @@ devstats(int perf_select, long double etime, int havelast) msdig, ms_per_transaction); else - printf("%4.1" PRIu64 "%4.1" PRIu64 "%5.*Lf ", + printf("%4" PRIu64 "%4" PRIu64 "%5.*Lf ", total_blocks, total_transfers, msdig, ms_per_transaction); } else { if (Iflag == 0) - printf(" %4.*Lf %4.0Lf %5.*Lf ", + printf("%4.*Lf %5.0Lf %5.*Lf ", kb_per_transfer >= 100 ? 0 : 1, kb_per_transfer, transfers_per_second, - mb_per_second >= 1000 ? 0 : 1, + mb_per_second >= 1000 ? 0 : + (total_mb >= 100 ? 1 : 2), mb_per_second); else { total_mb = total_bytes; total_mb /= 1024 * 1024; - printf(" %4.1Lf %4.1" PRIu64 " %5.2Lf ", + printf("%4.*Lf %5" PRIu64 " %5.*Lf ", + kb_per_transfer >= 100 ? 0 : 1, kb_per_transfer, total_transfers, + total_mb >= 1000 ? 0 : + (total_mb >= 100 ? 1 : 2), total_mb); } } From nobody Sat Nov 25 00:34:27 2023 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 4ScXsw0XDLz525cK; Sat, 25 Nov 2023 00:34: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 4ScXsv6x0xz3ZlM; Sat, 25 Nov 2023 00:34:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700872468; 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=yBo5XVYomXo3vD+PH8auDS51yZm3293CM4DBnhbf+z4=; b=cF7X/Fw/ACETdRVGzMxyWZkLrcALdSXDrpA8hSJVC7NCGEKkbDdLGhyEVD7Y/zCIiMTsol t1Z21ivWBkb5RKe6QqDApOYE+sN368sGhGRg8OVLWGZ4oWoMPMzf+c1TOULMIRus9Zhu2n zcsITo5PGBtVA9Lruw4KlGganBERCQcQBWeB5S+RugGSI7gNKfWLGzeoYMsR16pzF1PKrq rIngCdQtUpsQbkO9+LLmDtuJBxA1woxQHcQ1I4WkGaVQ3f7g5RXrhoWRvMmUC+eH3Ho7IC Lixyk3FJT5kpjgjSL/xVCGRLOYrobSWQ5LObGVnpvCVkaxLXUWVXlyBuUJjn2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700872468; 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=yBo5XVYomXo3vD+PH8auDS51yZm3293CM4DBnhbf+z4=; b=Bid/BLksqxg1j3BF4EeJiSJ/OM/ekbkYb456r+mvGKfzJCzGRy2p7WqF83TTi+QE/kEuY1 WaKWlTWY8HhRGXbS41lcC8Y30RCeKbhdFqcxFu+gAuJ415o5+CTHYQfIYCASBhNBauXVck qKoYeD4YDLRgVZ05sNxIh167cJPpAVf9fL0Ju5KmvbA36CDzTSHNRhYQYDtNeOwge4CyZJ 6CART86Pg93gE5lm48boof0T4magBOgAWQ9n0ISg50Q7C3Cgop8lFAJZJXeTftSwv+0e1n n2ndMUacjpu1ecPjpWqBkWVVoYgGIcy/mR5FsrsjxqJAMTU0Bgu8FtpgSvC0Yg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700872468; a=rsa-sha256; cv=none; b=phyVj/unrF8tsISKCz0cFL6ukh3YUk0EGzwox+gk8amS2nsQ/Z2+GU1sUOKmcgn3IxCED4 u5U51drXT6dVvlmr2xH9FWVUaonVfCi0I2wXt5JHp3ljq4XmpiWdxvbtMgjT5j6corwn7L vYurFFENLMBugSDSfSW96H7X6Yag2pAQCu5W8K/idJTpEShfDwKZDt0F7WT0VdtKbkTD2z Lcs9XQx1O536+voY6LRL1PIdfvfUbiIAiHCLGhYRjSzlvmsikb5mBFw5tjwAfb4HkvZU3p HLRuhWNYVimY8aXlp6V3XsDtQrFTZmBhsJ6lC9XSS14PSh9vlycoTsHmB2unjw== 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 4ScXsv5grhz16T7; Sat, 25 Nov 2023 00:34:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AP0YR0v069254; Sat, 25 Nov 2023 00:34:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AP0YR0S069251; Sat, 25 Nov 2023 00:34:27 GMT (envelope-from git) Date: Sat, 25 Nov 2023 00:34:27 GMT Message-Id: <202311250034.3AP0YR0S069251@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: c3d7d7798218 - stable/14 - iostat: Restore lost spaces after tout 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: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c3d7d77982180bef96e8c004360cda23cfe49675 Auto-Submitted: auto-generated The branch stable/14 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=c3d7d77982180bef96e8c004360cda23cfe49675 commit c3d7d77982180bef96e8c004360cda23cfe49675 Author: Alexander Motin AuthorDate: 2023-11-16 04:45:22 +0000 Commit: Alexander Motin CommitDate: 2023-11-25 00:34:19 +0000 iostat: Restore lost spaces after tout MFC after: 2 weeks (cherry picked from commit 3aebcb9ecba73805546b64f45e9a7ea2ba99ebb0) --- usr.sbin/iostat/iostat.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/iostat/iostat.c b/usr.sbin/iostat/iostat.c index c6ba6aa8a7a2..ec18f4fd35b3 100644 --- a/usr.sbin/iostat/iostat.c +++ b/usr.sbin/iostat/iostat.c @@ -612,7 +612,7 @@ main(int argc, char **argv) } if (xflag == 0 && Tflag > 0) - printf("%4.0Lf %5.0Lf", cur.tk_nin / etime, + printf("%4.0Lf %5.0Lf ", cur.tk_nin / etime, cur.tk_nout / etime); devstats(hflag, etime, havelast); @@ -731,7 +731,7 @@ phdr(void) return; if (Tflag > 0) - (void)printf(" tty"); + (void)printf(" tty "); for (i = 0, printed=0;(i < num_devices) && (printed < maxshowdevs);i++){ int di; if ((dev_select[i].selected != 0) @@ -753,7 +753,7 @@ phdr(void) (void)printf("\n"); if (Tflag > 0) - (void)printf(" tin tout"); + (void)printf(" tin tout "); for (i=0, printed = 0;(i < num_devices) && (printed < maxshowdevs);i++){ if ((dev_select[i].selected != 0) From nobody Sat Nov 25 01:26:35 2023 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 4ScZ232pHdz52WM6; Sat, 25 Nov 2023 01:26:35 +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 4ScZ232JdXz4N23; Sat, 25 Nov 2023 01:26:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700875595; 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=w0YE0pg+crRFf07f1N9K1pImkSvw8vRQIKskKR9h6Pk=; b=KAOOJa/fWNT/Sn0l9Qw3IAjWc9bkL/Ph1aTcgN8KxRy7Z/1BXpruUoIdT2mvEeHhCjdUik 3ytFDsKTeODmDdFdsNU48ns1FfPfWOF+aryz19MSCWnXi6Ym0ZJ7v1a0vV9JAnIfarfNLV sU56fJNkrFcQZzCD8EBUFOrgyKq7g128RZiv1LqNVVruIJCHBh8avY2150+XXOKt4TE1vs fXCeb3A1ooWebIX9dCiAjwYOjQ7Q+vfg3WD29/2v7FI9wfN9V2ZnFzf3PUn/6F9xYLzuNc b+5S2Jb2I7l07x774Z2idUydLwQE9n1UAAPxDyi1UylH296A0wSDGqYOxNtrBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700875595; 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=w0YE0pg+crRFf07f1N9K1pImkSvw8vRQIKskKR9h6Pk=; b=tQCgpwj91Mb8ohgJPEJExKeGj3UPEyD787jSdkuWiNd+826uzm1Jvjc7KfBgBt/pca87VG W46PjJlamSZV7VaVuk4KuSuPkFqceVAXqu0sXZ81Z5bB05URVkyHu0zefVL3Kp7pd4OWjT h10zydOpd4T3F/lJ46HExMRgWEEftpq520A0pG5m+BVOLkBF/4TjP2br5mWDWpJkBA+Rp0 19M1txBlGbMp91QWcKKoRRf1fUS3FLErZYbgFCf0i9IYxtUQTNmb5FgLQ7zGfNewwAe969 Sp5Bo5y4AFTQJ4w4LByiCohL+1glNDLvWJbrHai/cE3w0O8hdvSl/cPR74TIBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700875595; a=rsa-sha256; cv=none; b=KcTs+jeXoMB/TaGwuOctmBKE2kcUyD8DZ/P26DD96+r+OCtau3vrnFh5TfZxgYF+j6SHKk miDkwwrZ6AsRVlxd+2XYcZiK6ydYVm3tCw9mFakfESpvP5ch/Mn3CP3bio6OPGmKKqrNG4 RMGQJ5Gyw1yZtOe8UIIkd8hnMjRbY31nlWpJco0ZrVsEebV/WTbAq+3uZwHikMzTZ7ORzs paNyEKutP//BJvN10AD6cFdH0/Wf6fzQYtx5irk4YjeOy7gzqBIiDqoMP48pfa79IIL4YP K7qk83XXGKMMiMSJ/H2qPtKgoBxS3hsUXMVRK4ZzCosEsklGvLkz68HhRnHnDQ== 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 4ScZ231NrFz17mW; Sat, 25 Nov 2023 01:26:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AP1QZNP052297; Sat, 25 Nov 2023 01:26:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AP1QZ61052294; Sat, 25 Nov 2023 01:26:35 GMT (envelope-from git) Date: Sat, 25 Nov 2023 01:26:35 GMT Message-Id: <202311250126.3AP1QZ61052294@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Moore Subject: git: 210fce73ae0e - stable/14 - vm_phys: fix freelist_contig 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: dougm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 210fce73ae0e4106a3aeb1970ffbeb30d0baa6ba Auto-Submitted: auto-generated The branch stable/14 has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=210fce73ae0e4106a3aeb1970ffbeb30d0baa6ba commit 210fce73ae0e4106a3aeb1970ffbeb30d0baa6ba Author: Doug Moore AuthorDate: 2023-11-15 09:25:45 +0000 Commit: Doug Moore CommitDate: 2023-11-25 01:19:05 +0000 vm_phys: fix freelist_contig vm_phys_find_freelist_contig is called to search a list of max-sized free page blocks and find one that, when joined with adjacent blocks in memory, can satisfy a request for a memory allocation bigger than any single max-sized free page block. In commit fa8a6585c7522b7de6d29802967bd5eba2f2dcf1, I defined this function in order to offer two improvements: 1) reduce the worst-case search time, and 2) allow solutions that include less-than max-sized free page blocks at the front or back of the giant allocation. However, it turns out that this change introduced an error, reported in In Bug 274592. That error concerns failing to check segment boundaries. This change fixes an error in vm_phys_find_freelist_config that resolves that bug. It also abandons improvement 2), because the value of that improvement is small and because preserving it would require more testing than I am able to do. PR: 274592 Reported by: shafaisal.us@gmail.com Reviewed by: alc, markj Tested by: shafaisal.us@gmail.com Fixes: fa8a6585c752 vm_phys: avoid waste in multipage allocation MFC after: 10 days Differential Revision: https://reviews.freebsd.org/D42509 (cherry picked from commit 2a4897bd4e1bd8430d955abd3cf6675956bb9d61) --- sys/vm/vm_phys.c | 146 +++++++++++++++++++++++-------------------------------- 1 file changed, 62 insertions(+), 84 deletions(-) diff --git a/sys/vm/vm_phys.c b/sys/vm/vm_phys.c index bc992bdfc58b..cd75ed092691 100644 --- a/sys/vm/vm_phys.c +++ b/sys/vm/vm_phys.c @@ -1360,108 +1360,75 @@ vm_phys_unfree_page(vm_page_t m) } /* - * Find a run of contiguous physical pages from the specified page list. + * Find a run of contiguous physical pages, meeting alignment requirements, from + * a list of max-sized page blocks, where we need at least two consecutive + * blocks to satisfy the (large) page request. */ static vm_page_t -vm_phys_find_freelist_contig(struct vm_freelist *fl, int oind, u_long npages, +vm_phys_find_freelist_contig(struct vm_freelist *fl, u_long npages, vm_paddr_t low, vm_paddr_t high, u_long alignment, vm_paddr_t boundary) { struct vm_phys_seg *seg; - vm_paddr_t frag, lbound, pa, page_size, pa_end, pa_pre, size; - vm_page_t m, m_listed, m_ret; - int order; + vm_page_t m, m_iter, m_ret; + vm_paddr_t max_size, size; + int max_order; - KASSERT(npages > 0, ("npages is 0")); - KASSERT(powerof2(alignment), ("alignment is not a power of 2")); - KASSERT(powerof2(boundary), ("boundary is not a power of 2")); - /* Search for a run satisfying the specified conditions. */ - page_size = PAGE_SIZE; + max_order = VM_NFREEORDER - 1; size = npages << PAGE_SHIFT; - frag = (npages & ~(~0UL << oind)) << PAGE_SHIFT; - TAILQ_FOREACH(m_listed, &fl[oind].pl, listq) { - /* - * Determine if the address range starting at pa is - * too low. - */ - pa = VM_PAGE_TO_PHYS(m_listed); - if (pa < low) - continue; + max_size = (vm_paddr_t)1 << (PAGE_SHIFT + max_order); + KASSERT(size > max_size, ("size is too small")); + /* + * In order to avoid examining any free max-sized page block more than + * twice, identify the ones that are first in a physically-contiguous + * sequence of such blocks, and only for those walk the sequence to + * check if there are enough free blocks starting at a properly aligned + * block. Thus, no block is checked for free-ness more than twice. + */ + TAILQ_FOREACH(m, &fl[max_order].pl, listq) { /* - * If this is not the first free oind-block in this range, bail - * out. We have seen the first free block already, or will see - * it before failing to find an appropriate range. + * Skip m unless it is first in a sequence of free max page + * blocks >= low in its segment. */ - seg = &vm_phys_segs[m_listed->segind]; - lbound = low > seg->start ? low : seg->start; - pa_pre = pa - (page_size << oind); - m = &seg->first_page[atop(pa_pre - seg->start)]; - if (pa != 0 && pa_pre >= lbound && m->order == oind) + seg = &vm_phys_segs[m->segind]; + if (VM_PAGE_TO_PHYS(m) < MAX(low, seg->start)) + continue; + if (VM_PAGE_TO_PHYS(m) >= max_size && + VM_PAGE_TO_PHYS(m) - max_size >= MAX(low, seg->start) && + max_order == m[-1 << max_order].order) continue; - - if (!vm_addr_align_ok(pa, alignment)) - /* Advance to satisfy alignment condition. */ - pa = roundup2(pa, alignment); - else if (frag != 0 && lbound + frag <= pa) { - /* - * Back up to the first aligned free block in this - * range, without moving below lbound. - */ - pa_end = pa; - for (order = oind - 1; order >= 0; order--) { - pa_pre = pa_end - (page_size << order); - if (!vm_addr_align_ok(pa_pre, alignment)) - break; - m = &seg->first_page[atop(pa_pre - seg->start)]; - if (pa_pre >= lbound && m->order == order) - pa_end = pa_pre; - } - /* - * If the extra small blocks are enough to complete the - * fragment, use them. Otherwise, look to allocate the - * fragment at the other end. - */ - if (pa_end + frag <= pa) - pa = pa_end; - } - - /* Advance as necessary to satisfy boundary conditions. */ - if (!vm_addr_bound_ok(pa, size, boundary)) - pa = roundup2(pa + 1, boundary); - pa_end = pa + size; /* - * Determine if the address range is valid (without overflow in - * pa_end calculation), and fits within the segment. + * Advance m_ret from m to the first of the sequence, if any, + * that satisfies alignment conditions and might leave enough + * space. */ - if (pa_end < pa || seg->end < pa_end) - continue; - - m_ret = &seg->first_page[atop(pa - seg->start)]; + m_ret = m; + while (!vm_addr_ok(VM_PAGE_TO_PHYS(m_ret), + size, alignment, boundary) && + VM_PAGE_TO_PHYS(m_ret) + size <= MIN(high, seg->end) && + max_order == m_ret[1 << max_order].order) + m_ret += 1 << max_order; /* - * Determine whether there are enough free oind-blocks here to - * satisfy the allocation request. + * Skip m unless some block m_ret in the sequence is properly + * aligned, and begins a sequence of enough pages less than + * high, and in the same segment. */ - pa = VM_PAGE_TO_PHYS(m_listed); - do { - pa += page_size << oind; - if (pa >= pa_end) - return (m_ret); - m = &seg->first_page[atop(pa - seg->start)]; - } while (oind == m->order); + if (VM_PAGE_TO_PHYS(m_ret) + size > MIN(high, seg->end)) + continue; /* - * Determine if an additional series of free blocks of - * diminishing size can help to satisfy the allocation request. + * Skip m unless the blocks to allocate starting at m_ret are + * all free. */ - while (m->order < oind && - pa + 2 * (page_size << m->order) > pa_end) { - pa += page_size << m->order; - if (pa >= pa_end) - return (m_ret); - m = &seg->first_page[atop(pa - seg->start)]; + for (m_iter = m_ret; + m_iter < m_ret + npages && max_order == m_iter->order; + m_iter += 1 << max_order) { } + if (m_iter < m_ret + npages) + continue; + return (m_ret); } return (NULL); } @@ -1508,11 +1475,10 @@ vm_phys_find_queues_contig( } if (order < VM_NFREEORDER) return (NULL); - /* Search for a long-enough sequence of small blocks. */ - oind = VM_NFREEORDER - 1; + /* Search for a long-enough sequence of max-order blocks. */ for (pind = 0; pind < VM_NFREEPOOL; pind++) { fl = (*queues)[pind]; - m_ret = vm_phys_find_freelist_contig(fl, oind, npages, + m_ret = vm_phys_find_freelist_contig(fl, npages, low, high, alignment, boundary); if (m_ret != NULL) return (m_ret); @@ -1593,6 +1559,18 @@ vm_phys_alloc_contig(int domain, u_long npages, vm_paddr_t low, vm_paddr_t high, /* Return excess pages to the free lists. */ fl = (*queues)[VM_FREEPOOL_DEFAULT]; vm_phys_enq_range(&m_run[npages], m - &m_run[npages], fl, 0); + + /* Return page verified to satisfy conditions of request. */ + pa_start = VM_PAGE_TO_PHYS(m_run); + KASSERT(low <= pa_start, + ("memory allocated below minimum requested range")); + KASSERT(pa_start + ptoa(npages) <= high, + ("memory allocated above maximum requested range")); + seg = &vm_phys_segs[m_run->segind]; + KASSERT(seg->domain == domain, + ("memory not allocated from specified domain")); + KASSERT(vm_addr_ok(pa_start, ptoa(npages), alignment, boundary), + ("memory alignment/boundary constraints not satisfied")); return (m_run); } From nobody Sat Nov 25 02:52:55 2023 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 4Scbxv0HQkz523yH; Sat, 25 Nov 2023 02:53:07 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Scbxt1TLQz3K9l; Sat, 25 Nov 2023 02:53:06 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b="MHR2J/Vu"; spf=pass (mx1.freebsd.org: domain of rick.macklem@gmail.com designates 2607:f8b0:4864:20::102e as permitted sender) smtp.mailfrom=rick.macklem@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-2859bde1d62so536699a91.2; Fri, 24 Nov 2023 18:53:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700880785; x=1701485585; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=MKJi58AdBzxNYF1SsTgU2c3Jo9CeARVUMJpt9Jhs0pA=; b=MHR2J/VuPnz1+WIXl1W5PsHjk0nudl3hOc9Bk00suHLjrukCJD2w7lP+swNtZWpqeA 8unRKtgvfOM9d4rvGG0zwlROV235scxierMSqB3dk+tO3LOSzW3lKhnJY2TjCk/9HF/1 Ek3X4npiyq4+D/E2bbGfqFGjMqM4dLJhcvVUzASdaPJY5kNZJ5rNDiLjIH3SvKX996LP HBrfuf4YD0p+oq/vDxKEV9wNtVKqfgd5fXgyt4pjFZZzuOnNVmgz/jMRWbX6IhPG/c8a O/Iw/BjI+pzZ84n3H3H2Z0Nwrw+C2PTCXBRIoqfJVfJ/yA+HBJMhnbehsQ2lGUqqjLww lPTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700880785; x=1701485585; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MKJi58AdBzxNYF1SsTgU2c3Jo9CeARVUMJpt9Jhs0pA=; b=qpYApM62jRk7lXqAWfoclwPAer2NCHH8bGkXhypn9G2vFCxm3Fxhk+Nf/HuaYpVCuJ F23JDmvr6eQRWQE1DPZ5stQNHaQkcskgBGWen67KQjjwCC4/X4InX15V/0GmQk2loFY7 DhAPtRykFmKYlhy0BVa3pmhiOQ/fNxvKJevy8fOLkXHQpfx19VzY1/xQJ1j70PpULEla ntpLmFLCHc4TVgoRyzVY5jt6tR+IfE3+ZMUv7c2Z4SM32JdXgMIfYV0MAMVpmBFL4Kfr mP1k/uwmYLHTcdIiAZoKj20oX6P812O7TWbYM292mCNtVDdtkJyn1Pzh4N3OUJ2NgStA v+/Q== X-Gm-Message-State: AOJu0Yw60gMb2ecr6wvRzKcUxYNSS3jVMfHOFeWx0SZjph7FjiUo1Kv3 uxIFmLsiMAhsM6WERt3wdHiK8vjluACrpVJnnw== X-Google-Smtp-Source: AGHT+IF2tglO1ovGkZneTZ+cREmtqQPSCIXu1DhyxQvRxpvRNdk0Lu8UIV8KHAW72wV4qI/ZT3GdwUxD9LaiEMwOj/0= X-Received: by 2002:a17:90b:4ad1:b0:285:9860:8a8a with SMTP id mh17-20020a17090b4ad100b0028598608a8amr3262484pjb.7.1700880784625; Fri, 24 Nov 2023 18:53:04 -0800 (PST) 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 References: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> In-Reply-To: From: Rick Macklem Date: Fri, 24 Nov 2023 18:52:55 -0800 Message-ID: Subject: Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots To: Mike Karels Cc: Konstantin Belousov , Alexander Leidinger , Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.99 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.998]; NEURAL_HAM_LONG(-0.99)[-0.992]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::102e:from]; TAGGED_FROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCPT_COUNT_SEVEN(0.00)[7]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,leidinger.net,freebsd.org] X-Rspamd-Queue-Id: 4Scbxt1TLQz3K9l X-Spamd-Bar: --- On Fri, Nov 24, 2023 at 4:15=E2=80=AFPM Rick Macklem wrote: > > On Fri, Nov 24, 2023 at 3:35=E2=80=AFPM Rick Macklem wrote: > > > > On Fri, Nov 24, 2023 at 8:16=E2=80=AFAM Rick Macklem wrote: > > > > > > On Fri, Nov 24, 2023 at 7:58=E2=80=AFAM Rick Macklem wrote: > > > > > > > > On Fri, Nov 24, 2023 at 5:18=E2=80=AFAM Mike Karels wrote: > > > > > > > > > > CAUTION: This email originated from outside of the University of = Guelph. Do not click links or open attachments unless you recognize the sen= der and know the content is safe. If in doubt, forward suspicious emails to= IThelp@uoguelph.ca. > > > > > > > > > > > > > > > On 24 Nov 2023, at 7:02, Konstantin Belousov wrote: > > > > > > > > > > > On Fri, Nov 24, 2023 at 08:50:22AM +0100, Alexander Leidinger w= rote: > > > > > >> Am 2023-11-23 16:25, schrieb Rick Macklem: > > > > > >>> The branch main has been updated by rmacklem: > > > > > >>> > > > > > >>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Df5f277728adec4= c5b3e840a1fb16bd16f8cc956d > > > > > >>> > > > > > >>> commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d > > > > > >>> Author: Rick Macklem > > > > > >>> AuthorDate: 2023-11-23 15:23:33 +0000 > > > > > >>> Commit: Rick Macklem > > > > > >>> CommitDate: 2023-11-23 15:23:33 +0000 > > > > > >>> > > > > > >>> nfsd: Fix NFS access to .zfs/snapshot snapshots > > > > > >>> > > > > > >>> When a process attempts to access a snapshot under > > > > > >>> //.zfs/snapshot, the snapshot is automounted. > > > > > >>> However, without this patch, the automount does not > > > > > >>> set mnt_exjail, which results in the snapshot not being > > > > > >>> accessible over NFS. > > > > > >>> > > > > > >>> This patch defines a new function called vfs_exjail_clone= () > > > > > >>> which sets mnt_exjail from another mount point and > > > > > >>> then uses that function to set mnt_exjail in the snapshot > > > > > >>> automount. A separate patch that is currently a pull req= uest > > > > > >>> for OpenZFS, calls this function to fix the problem. > > > > > >> > > > > > >> May the same/similar fix like for ZFS be needed / useful for n= ullfs mounted > > > > > >> stuff? > > > > > >> > > > > > >> I have a ZFS dataset which is mounted via nullfs into a jail. = This > > > > > >> nullfs-mount is then exported via samba. In samba I have the s= hadow-copy > > > > > >> stuff enabled, but it doesn't work, as the jails can't access = the snapshot. > > > > > > > > > > > > Jails cannot access snapshots because, as I understand, snapsho= ts > > > > > > are mounts. Nullfs does not provide an option to recursively by= pass > > > > > > into mounts. The patch you responded to does not automatically = mounts > > > > > > snapshots on clients, it only allows them to mount if wanted. > > > > > > > > > > It works for me, with main and this change, or 13.2 without a pat= ch. > > > > > I don't know the mechanics, but it doesn't use nullfs, and the sn= apshot > > > > > does not show up as a separate filesystem with the mount command. > > > > Yes. ZFS essentially does an automount of the snapshots under .zfs/= snapshot. > > > > (As I understand it, there are non-default ZFS options that allow t= hese to be > > > > mounted manually instead.) > > > > I can now see that these automounts are 'real mounts" in the > > > > mountlist. The only reason > > > > they are not visible is that they have MNT_IGNORE set on them. > > > Oh and I forgot to mention that this automount is for some weird in > > > memory file system that does just enough so you can see the snapshots= . > > > Once you "cd ", the vnodes are associated with the ZFS > > > mount (dataset) and not this weird snapshot fs. (That is why it doesn= 't need to > > > be exported, but did need mnt_exjail to be set properly.) > > > > > > I might be able to test a nullfs over ZFS case later to-day and will > > > post if I do so. > > Yes, it is broken in a similar way. With a nullfs mount on top of a ZFS= mount > > that is exported to an NFS client, you can access the snapshots under > > .zfs/snapshot > > if the mnt_exjail checks are commented out. > > However, if the checks are done, they fail. > > > > So, yes, something similar to what ZFS will do is needed for nullfs. > > Now I have to figure out how/when it can be done. I will play with it t= o-day, > > but it probably won't get fixed until late Dec. > Oops. Now my test is not working, even when the mnt_exjail check is > commented out. > (When I NFS mount the ZFS , I can see the snapshots under > .zfs/snapshot, > but when I NFS mount the nullfs mount that is on top of the ZFS > I do not see it. > > So, I think Kostik is correct and it does not see the .zfs/snapshot autom= ount. > > I don't know how I screwed up on the first test after I disabled the > mnt_exjail check, but > it does not appear to have broken this case after all. More info. Thanks to some off-list info from Mike Karels I tried it again. It turns out that the nullfs on top of ZFS export (the nullfs mount must be exported) sorta works. When you cd .zfs/snapshot/, it works. What doesn't work is: cd .zfs/snapshot ls --> which does not show the snapshot names The snapshot names are shown for a mount of the ZFS file system. So, it seems that the Readdir has issues for a nullfs on top of ZFS export for the .zfs/snapshot directory. I will poke at it some more in late Dec., but it does not seem to be a problem related to mnt_exjail. rick > > rick > > > > > Again, sorry for the breakage, rick > > > > > > > > rick > > > > > > > > > > > Now, as for what happens when nullfs is on top of ZFS, I do not kno= w. > > > > What Kostik says about nullfs recursing into mounts suggests it wil= l not work. > > > > I will look at it, but since I am headed to Florida for a few weeks= , it may > > > > not happen until the end of the year. > > > > > > > > If someone can test this case and determine if there is no NFS clie= nt access > > > > for snapshots under .zfs after applying the patch that is an > > > > attachment in PR#275200 > > > > when nullfs is over the ZFS file system, that would be appreciated. > > > > > > > > rick > > > > > > > > > > > > > > Mike > > > > > > > > > > > You might try to set up something with autofs, no idea if it co= uld be made > > > > > > to work usefully. > > > > > From nobody Sat Nov 25 05:07:45 2023 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 4ScfxS4rCPz529HQ; Sat, 25 Nov 2023 05:07:56 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ScfxR4YGJz4SZZ; Sat, 25 Nov 2023 05:07:55 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=Kyq1cvBb; spf=pass (mx1.freebsd.org: domain of rick.macklem@gmail.com designates 2607:f8b0:4864:20::102e as permitted sender) smtp.mailfrom=rick.macklem@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-2851a2b30a2so1826490a91.3; Fri, 24 Nov 2023 21:07:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700888874; x=1701493674; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=PiMG3HJ6AT9/hOyCFeiiqx3YGFdYVOiuHe1S4Ni7stk=; b=Kyq1cvBb8zTggqdCy4pIlrJVH/S0I96fknFehSUUmIOoRy6gLAaGTI7nJZzUvKCbvu CVc3Ci1PdXWplI5QC7xnmtj9pAVW6FVNmD7V++XcSQN/6VMVtUAJP3XVZa++80iTwzxt pReh3aJ70Y+dHzen+3huyQKaFpQUmc+iJwXZ+r4NVnvYyJnUs3zJKhqdU7fQVzF998vg dkhAobcl5UXz8VXQ3X4OAAiIBkfAkd5cIs5r+acBF7QXbUwAWXaleWwxcXxGDunfbBaP 1VKJ1dBryfdtTsrthQQTNPMP0oq5vBhLJWfX8k5TxPaRcsMiNEk8ukXB9BujqFg7Br7F Hjuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700888874; x=1701493674; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PiMG3HJ6AT9/hOyCFeiiqx3YGFdYVOiuHe1S4Ni7stk=; b=mp1fOPEr06UCS3RXAtBwKDCfMa6erXoEO5HcfdUckOo4MoejCe2vAL7Ylc+q6hbay9 Xax0gAMK5dKmI65FzZv/RAZVuWNpPzeX7say4Hn31gBEu/WTt5ukZdMWV6O0uyHVdMkn /w8FLpPzltHAP4384LYCdt0EHaPhUXBokZBZjXSoLLIVsni51eu9U/4eY27axszL31eL DOLnW57AAfvyaqrZSl1PRjtJC4rgqxjwmIBl8mF1uF//qjV2DkIp9njqKAZUiERCHyNo 6Y94YVieha4iJlKUdgjn4CtasF2jy8BlkmMASBOZlep2h5yfB3vsc5nO+UocVQTnCHlR yqYw== X-Gm-Message-State: AOJu0YxvQfKvAoJosfSm4Q5fPsakNr0KK/OdCNySZJrNqH73yVB6pgp7 IYVTj4cqgpHqHJIE66AkPdaH1Qp1WbZV/KD7eQ== X-Google-Smtp-Source: AGHT+IHgLm72dd2uyTXJkINHm8muUEtT4iCik3NW9OrQZpL9PU8h7unViQV5JORro4rP2EIVSQHuFoN94vY1JOLeu90= X-Received: by 2002:a17:90b:3cb:b0:285:6211:6e1b with SMTP id go11-20020a17090b03cb00b0028562116e1bmr5439207pjb.28.1700888874115; Fri, 24 Nov 2023 21:07:54 -0800 (PST) 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 References: <202311231525.3ANFPBo6039293@gitrepo.freebsd.org> <987d4593d50b9cbffb9b6443d3825499@Leidinger.net> In-Reply-To: From: Rick Macklem Date: Fri, 24 Nov 2023 21:07:45 -0800 Message-ID: Subject: Re: git: f5f277728ade - main - nfsd: Fix NFS access to .zfs/snapshot snapshots To: Mike Karels Cc: Konstantin Belousov , Alexander Leidinger , Rick Macklem , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-2.82 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-0.99)[-0.992]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; NEURAL_SPAM_SHORT(0.17)[0.171]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::102e:from]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FREEMAIL_ENVFROM(0.00)[gmail.com]; DKIM_TRACE(0.00)[gmail.com:+]; MID_RHS_MATCH_FROMTLD(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RCPT_COUNT_SEVEN(0.00)[7]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,leidinger.net,freebsd.org] X-Rspamd-Queue-Id: 4ScfxR4YGJz4SZZ X-Spamd-Bar: -- Just to summarize... Mike Karels has done a simple test that works, so I don't know why my tests have misbehaved. I will do some more tests in a few weeks. If you encounter problems accessing snapshots under .zfs/snapshot over NFS when you have added the patch in PR#275200, please post. rick On Fri, Nov 24, 2023 at 6:52=E2=80=AFPM Rick Macklem wrote: > > On Fri, Nov 24, 2023 at 4:15=E2=80=AFPM Rick Macklem wrote: > > > > On Fri, Nov 24, 2023 at 3:35=E2=80=AFPM Rick Macklem wrote: > > > > > > On Fri, Nov 24, 2023 at 8:16=E2=80=AFAM Rick Macklem wrote: > > > > > > > > On Fri, Nov 24, 2023 at 7:58=E2=80=AFAM Rick Macklem wrote: > > > > > > > > > > On Fri, Nov 24, 2023 at 5:18=E2=80=AFAM Mike Karels wrote: > > > > > > > > > > > > CAUTION: This email originated from outside of the University o= f Guelph. Do not click links or open attachments unless you recognize the s= ender and know the content is safe. If in doubt, forward suspicious emails = to IThelp@uoguelph.ca. > > > > > > > > > > > > > > > > > > On 24 Nov 2023, at 7:02, Konstantin Belousov wrote: > > > > > > > > > > > > > On Fri, Nov 24, 2023 at 08:50:22AM +0100, Alexander Leidinger= wrote: > > > > > > >> Am 2023-11-23 16:25, schrieb Rick Macklem: > > > > > > >>> The branch main has been updated by rmacklem: > > > > > > >>> > > > > > > >>> URL: https://cgit.FreeBSD.org/src/commit/?id=3Df5f277728ade= c4c5b3e840a1fb16bd16f8cc956d > > > > > > >>> > > > > > > >>> commit f5f277728adec4c5b3e840a1fb16bd16f8cc956d > > > > > > >>> Author: Rick Macklem > > > > > > >>> AuthorDate: 2023-11-23 15:23:33 +0000 > > > > > > >>> Commit: Rick Macklem > > > > > > >>> CommitDate: 2023-11-23 15:23:33 +0000 > > > > > > >>> > > > > > > >>> nfsd: Fix NFS access to .zfs/snapshot snapshots > > > > > > >>> > > > > > > >>> When a process attempts to access a snapshot under > > > > > > >>> //.zfs/snapshot, the snapshot is automounted. > > > > > > >>> However, without this patch, the automount does not > > > > > > >>> set mnt_exjail, which results in the snapshot not being > > > > > > >>> accessible over NFS. > > > > > > >>> > > > > > > >>> This patch defines a new function called vfs_exjail_clo= ne() > > > > > > >>> which sets mnt_exjail from another mount point and > > > > > > >>> then uses that function to set mnt_exjail in the snapsh= ot > > > > > > >>> automount. A separate patch that is currently a pull r= equest > > > > > > >>> for OpenZFS, calls this function to fix the problem. > > > > > > >> > > > > > > >> May the same/similar fix like for ZFS be needed / useful for= nullfs mounted > > > > > > >> stuff? > > > > > > >> > > > > > > >> I have a ZFS dataset which is mounted via nullfs into a jail= . This > > > > > > >> nullfs-mount is then exported via samba. In samba I have the= shadow-copy > > > > > > >> stuff enabled, but it doesn't work, as the jails can't acces= s the snapshot. > > > > > > > > > > > > > > Jails cannot access snapshots because, as I understand, snaps= hots > > > > > > > are mounts. Nullfs does not provide an option to recursively = bypass > > > > > > > into mounts. The patch you responded to does not automaticall= y mounts > > > > > > > snapshots on clients, it only allows them to mount if wanted. > > > > > > > > > > > > It works for me, with main and this change, or 13.2 without a p= atch. > > > > > > I don't know the mechanics, but it doesn't use nullfs, and the = snapshot > > > > > > does not show up as a separate filesystem with the mount comman= d. > > > > > Yes. ZFS essentially does an automount of the snapshots under .zf= s/snapshot. > > > > > (As I understand it, there are non-default ZFS options that allow= these to be > > > > > mounted manually instead.) > > > > > I can now see that these automounts are 'real mounts" in the > > > > > mountlist. The only reason > > > > > they are not visible is that they have MNT_IGNORE set on them. > > > > Oh and I forgot to mention that this automount is for some weird in > > > > memory file system that does just enough so you can see the snapsho= ts. > > > > Once you "cd ", the vnodes are associated with the Z= FS > > > > mount (dataset) and not this weird snapshot fs. (That is why it doe= sn't need to > > > > be exported, but did need mnt_exjail to be set properly.) > > > > > > > > I might be able to test a nullfs over ZFS case later to-day and wil= l > > > > post if I do so. > > > Yes, it is broken in a similar way. With a nullfs mount on top of a Z= FS mount > > > that is exported to an NFS client, you can access the snapshots under > > > .zfs/snapshot > > > if the mnt_exjail checks are commented out. > > > However, if the checks are done, they fail. > > > > > > So, yes, something similar to what ZFS will do is needed for nullfs. > > > Now I have to figure out how/when it can be done. I will play with it= to-day, > > > but it probably won't get fixed until late Dec. > > Oops. Now my test is not working, even when the mnt_exjail check is > > commented out. > > (When I NFS mount the ZFS , I can see the snapshots under > > .zfs/snapshot, > > but when I NFS mount the nullfs mount that is on top of the ZFS > > I do not see it. > > > > So, I think Kostik is correct and it does not see the .zfs/snapshot aut= omount. > > > > I don't know how I screwed up on the first test after I disabled the > > mnt_exjail check, but > > it does not appear to have broken this case after all. > More info. Thanks to some off-list info from Mike Karels I tried it again= . > It turns out that the nullfs on top of ZFS export (the nullfs mount must = be > exported) sorta works. When you cd .zfs/snapshot/, it > works. > > What doesn't work is: > cd .zfs/snapshot > ls > --> which does not show the snapshot names > The snapshot names are shown for a mount of the ZFS file system. > > So, it seems that the Readdir has issues for a nullfs on top of ZFS > export for the .zfs/snapshot directory. I will poke at it some more > in late Dec., but it does not seem to be a problem related to mnt_exjail. > > rick > > > > > rick > > > > > > > > Again, sorry for the breakage, rick > > > > > > > > > > > rick > > > > > > > > > > > > > > Now, as for what happens when nullfs is on top of ZFS, I do not k= now. > > > > > What Kostik says about nullfs recursing into mounts suggests it w= ill not work. > > > > > I will look at it, but since I am headed to Florida for a few wee= ks, it may > > > > > not happen until the end of the year. > > > > > > > > > > If someone can test this case and determine if there is no NFS cl= ient access > > > > > for snapshots under .zfs after applying the patch that is an > > > > > attachment in PR#275200 > > > > > when nullfs is over the ZFS file system, that would be appreciate= d. > > > > > > > > > > rick > > > > > > > > > > > > > > > > > Mike > > > > > > > > > > > > > You might try to set up something with autofs, no idea if it = could be made > > > > > > > to work usefully. > > > > > > From nobody Sat Nov 25 06:49:06 2023 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 4ScjBN2V0Sz521MN; Sat, 25 Nov 2023 06:49:16 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from anubis.delphij.net (anubis.delphij.net [IPv6:2001:470:1:117::25]) (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 "anubis.delphij.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ScjBM01qWz3RTj; Sat, 25 Nov 2023 06:49:14 +0000 (UTC) (envelope-from delphij@delphij.net) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=delphij.net header.s=y07n header.b=SZySVv+E; dkim=pass header.d=delphij.net header.s=w44o header.b=NQmS8pUK; spf=pass (mx1.freebsd.org: domain of delphij@delphij.net designates 2001:470:1:117::25 as permitted sender) smtp.mailfrom=delphij@delphij.net; dmarc=pass (policy=reject) header.from=delphij.net DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=delphij.net; i=@delphij.net; q=dns/txt; s=y07n; t=1700894948; h=message-id : date : mime-version : reply-to : subject : to : references : from : in-reply-to : content-type : from; bh=JvLM1ZUb6CgGc+4nbV/ERL/80bYuEVp220pyPkmcR8c=; b=SZySVv+EH0WIV/M10+t6XImADfvm4HlFQW7KaKoingrX0koq6mZYCNkaS6nDvYCgcE9RF 3DQCseCKT9reu+MDg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=delphij.net; i=@delphij.net; q=dns/txt; s=w44o; t=1700894948; h=message-id : date : mime-version : reply-to : subject : to : references : from : in-reply-to : content-type : from; bh=JvLM1ZUb6CgGc+4nbV/ERL/80bYuEVp220pyPkmcR8c=; b=NQmS8pUKh74xzlp/bFZX0aPxRYqTyCDa2C1IEjbWQimDFqKCATI+pRWxl3ZLu+SCUt7Hg GnfvIMUeYsYCN0x0OUGfe8sJu4no6+VHeJiNWiKgjTjQtzSH9Jej717Kl/P376UKvVeFw5e ghmY9X7q4gyobPLzmeeuZ1msRS9Ar/h0hfiGt5sJsY5jftZJOZ6VxxNgXE0BEnL4w8ps4dH fdQWO+OTxN10htE7bzY5cOmELOP1ZxMDLEQ5/xG7cCAaxc6uTckveVjKKVnMdREUSRcJh6E GqsPXFWmQGVCFsVf/C1qG9NiS9zV1L67ZZ7NMrifCo1gddXwC/nZLkcYHnqg== Received: from xins-laptop (unknown [IPv6:2601:646:9a00:3b0a:d73:692:cf6f:687d]) by anubis.delphij.net (Postfix) with ESMTPSA id E935B2E2C1; Fri, 24 Nov 2023 22:49:07 -0800 (PST) Message-ID: <934faa57-60d2-4be7-bdd3-e64c62ae71ad@delphij.net> Date: Fri, 24 Nov 2023 22:49:06 -0800 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 User-Agent: Mozilla Thunderbird Reply-To: d@delphij.net Subject: Re: git: 19f073c612af - main - new-bus: Add resource_validate_map_request function Content-Language: en-US To: John Baldwin , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202311231707.3ANH758D008755@gitrepo.freebsd.org> From: Xin Li Autocrypt: addr=delphij@delphij.net; keydata= xjMEZPbDoRYJKwYBBAHaRw8BAQdAsUNmxEWz6QiGdFbBrVVEpjNpgQV9FXjDWsLsY0UwRPvN HFhpbiBMSSA8ZGVscGhpakBkZWxwaGlqLm5ldD7ClgQTFgoAPhYhBLskk2pXNatsapeNzxED 4uuXWeTFBQJk9sRMAhsDBQkKBDXmBQsJCAcDBRUKCQgLBRYCAwEAAh4FAheAAAoJEBED4uuX WeTF6yIA/2Ls3Rb/qC8mQZ6D2S0UO5vblPghJfboFJLNJFw3i4GYAQCsTmQg3ahgbNEJu/vU xgtro2kTxa6kKnZ35IbqPqPcCc44BGT2w6ESCisGAQQBl1UBBQEBB0Cxji+sQgVPajLNA/Lw yHx0ogSalPQszdkfVgeg3iR3FAMBCAfCeAQYFgoAIBYhBLskk2pXNatsapeNzxED4uuXWeTF BQJk9sOhAhsMAAoJEBED4uuXWeTF3BQBAIx/gPCTFN2DPBrKLkE3oC/+j9EkmNLMUCGidlP/ Zb6HAP4nL1kStTsOldIGhi/3m1LvU7r3Kel3MnlIK8/9BlLPAg== In-Reply-To: <202311231707.3ANH758D008755@gitrepo.freebsd.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------MMtI5XCMNWTqaLa3YXfa0tEf" X-Spamd-Result: default: False [-4.87 / 15.00]; SIGNED_PGP(-2.00)[]; MIME_BASE64_TEXT_BOGUS(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.996]; NEURAL_HAM_SHORT(-0.98)[-0.982]; DMARC_POLICY_ALLOW(-0.50)[delphij.net,reject]; MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain]; R_DKIM_ALLOW(-0.20)[delphij.net:s=y07n,delphij.net:s=w44o]; R_SPF_ALLOW(-0.20)[+a:sirius.delphij.net]; ONCE_RECEIVED(0.10)[]; MIME_BASE64_TEXT(0.10)[]; XM_UA_NO_VERSION(0.01)[]; FREEFALL_USER(0.00)[delphij]; FROM_HAS_DN(0.00)[]; HAS_REPLYTO(0.00)[d@delphij.net]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; REPLYTO_DOM_EQ_FROM_DOM(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; HAS_ATTACHMENT(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; DKIM_TRACE(0.00)[delphij.net:+]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; RCVD_TLS_ALL(0.00)[] X-Rspamd-Queue-Id: 4ScjBM01qWz3RTj X-Spamd-Bar: ---- This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------MMtI5XCMNWTqaLa3YXfa0tEf Content-Type: multipart/mixed; boundary="------------XaZN7DPn0T10BUE60sMQ22jJ"; protected-headers="v1" From: Xin Li Reply-To: d@delphij.net To: John Baldwin , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Message-ID: <934faa57-60d2-4be7-bdd3-e64c62ae71ad@delphij.net> Subject: Re: git: 19f073c612af - main - new-bus: Add resource_validate_map_request function References: <202311231707.3ANH758D008755@gitrepo.freebsd.org> In-Reply-To: <202311231707.3ANH758D008755@gitrepo.freebsd.org> --------------XaZN7DPn0T10BUE60sMQ22jJ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMjAyMy0xMS0yMyAwOTowNywgSm9obiBCYWxkd2luIHdyb3RlOg0KPiBUaGUgYnJhbmNo IG1haW4gaGFzIGJlZW4gdXBkYXRlZCBieSBqaGI6DQo+IA0KPiBVUkw6IGh0dHBzOi8vY2dp dC5GcmVlQlNELm9yZy9zcmMvY29tbWl0Lz9pZD0xOWYwNzNjNjEyYWZhMDExMWQyMTZlNWNj YWI5NTI1YmZjOTdlYzMyDQo+IA0KPiBjb21taXQgMTlmMDczYzYxMmFmYTAxMTFkMjE2ZTVj Y2FiOTUyNWJmYzk3ZWMzMg0KPiBBdXRob3I6ICAgICBKb2huIEJhbGR3aW4gPGpoYkBGcmVl QlNELm9yZz4NCj4gQXV0aG9yRGF0ZTogMjAyMy0xMS0yMyAxNzowNjoyNCArMDAwMA0KPiBD b21taXQ6ICAgICBKb2huIEJhbGR3aW4gPGpoYkBGcmVlQlNELm9yZz4NCj4gQ29tbWl0RGF0 ZTogMjAyMy0xMS0yMyAxNzowNjoyNCArMDAwMA0KPiANCj4gICAgICBuZXctYnVzOiBBZGQg cmVzb3VyY2VfdmFsaWRhdGVfbWFwX3JlcXVlc3QgZnVuY3Rpb24NCj4gICAgICANCj4gICAg ICBUaGlzIGhlbHBlciBmdW5jdGlvbiBmb3IgQlVTX01BUF9SRVNPVVJDRSBwZXJmb3JtcyBj b21tb24gYXJndW1lbnQNCj4gICAgICB2YWxpZGF0aW9uLg0KPiAgICAgIA0KPiAgICAgIFJl dmlld2VkIGJ5OiAgICBpbXANCj4gICAgICBEaWZmZXJlbnRpYWwgUmV2aXNpb246ICBodHRw czovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDQyNzIzDQoNCkFmdGVyIHRoaXMgY2hhbmdlIG15 IGtlcm5lbCBwYW5pY3Mgd2l0aDoNCg0KSFBUUyBpcyBpbiBJTlZBUklBTlQgbW9kZSEhDQpy YW5kb206IGVudHJvcHkgZGV2aWNlIGV4dGVybmFsIGludGVyZmFjZQ0Ka2JkMCBhdCBrYmRt dXgwDQpXQVJOSU5HOiBEZXZpY2UgInNwa3IiIGlzIEdpYW50IGxvY2tlZCBhbmQgbWF5IGJl IGRlbGV0ZWQgYmVmb3JlIEZyZWVCU0QgDQoxNS4wLg0KdnR2Z2EwOiA8VlQgVkdBIGRyaXZl cj4NCmFlc25pMDogPEFFUy1DQkMsQUVTLUNDTSxBRVMtR0NNLEFFUy1JQ00sQUVTLVhUUz4N CmFjcGkwOiA8QUxBU0tBIEEgTSBJID4NCmFjcGkwOiBQb3dlciBCdXR0b24gKGZpeGVkKQ0K Y3B1MDogPEFDUEkgQ1BVPiBvbiBhY3BpMA0KaHBldDA6IDxIaWdoIFByZWNpc2lvbiBFdmVu dCBUaW1lcj4gaW9tZW0gMHhmZWQwMDAwMC0weGZlZDAwM2ZmIG9uIGFjcGkwDQpwYW5pYzog YnVzX2dlbmVyaWNfcm1hbl9hY3RpdmF0ZV9yZXNvdXJjZTogcm1hbiAweGZmZmZmZmZmODEy MjI3NzAgDQpkb2Vzbid0IG1hdGNoIGZvciByZXNvdXJjZSAweGZmZmZmODAwMDNkMWE0MDAN CmNwdWlkID0gMA0KdGltZSA9IDENCktEQjogc3RhY2sgYmFja3RyYWNlOg0KZGJfdHJhY2Vf c2VsZl93cmFwcGVyKCkgYXQgZGJfdHJhY2Vfc2VsZl93cmFwcGVyKzB4MmIvZnJhbWUgDQow eGZmZmZmZmZmODJkNWM4ODANCnZwYW5pYygpIGF0IHZwYW5pYysweDEzMi9mcmFtZSAweGZm ZmZmZmZmODJkNWM5YjANCnBhbmljKCkgYXQgcGFuaWMrMHg0My9mcmFtZSAweGZmZmZmZmZm ODJkNWNhMTANCmJ1c19nZW5lcmljX3JtYW5fYWN0aXZhdGVfcmVzb3VyY2UoKSBhdCANCmJ1 c19nZW5lcmljX3JtYW5fYWN0aXZhdGVfcmVzb3VyY2UrMHgxNDYvZnJhbWUgMHhmZmZmZmZm ZjgyZDVjYTcwDQphY3BpX2FsbG9jX3N5c3JlcygpIGF0IGFjcGlfYWxsb2Nfc3lzcmVzKzB4 ODEvZnJhbWUgMHhmZmZmZmZmZjgyZDVjYWIwDQphY3BpX2FsbG9jX3Jlc291cmNlKCkgYXQg YWNwaV9hbGxvY19yZXNvdXJjZSsweDEwNi9mcmFtZSAweGZmZmZmZmZmODJkNWNiNzANCmJ1 c19hbGxvY19yZXNvdXJjZSgpIGF0IGJ1c19hbGxvY19yZXNvdXJjZSsweDliL2ZyYW1lIDB4 ZmZmZmZmZmY4MmQ1Y2JkMA0KaHBldF9hdHRhY2goKSBhdCBocGV0X2F0dGFjaCsweGI0L2Zy YW1lIDB4ZmZmZmZmZmY4MmQ1Y2NiMA0KZGV2aWNlX2F0dGFjaCgpIGF0IGRldmljZV9hdHRh Y2grMHgzYmMvZnJhbWUgMHhmZmZmZmZmZjgyZDVjY2YwDQpkZXZpY2VfcHJvYmVfYW5kX2F0 dGFjaCgpIGF0IGRldmljZV9wcm9iZV9hbmRfYXR0YWNoKzB4NzAvZnJhbWUgDQoweGZmZmZm ZmZmODJkNWNkMjANCmJ1c19nZW5lcmljX2F0dGFjaCgpIGF0IGJ1c19nZW5lcmljX2F0dGFj aCsweDE4L2ZyYW1lIDB4ZmZmZmZmZmY4MmQ1Y2Q0MA0KYWNwaV9wcm9iZV9jaGlsZHJlbigp IGF0IGFjcGlfcHJvYmVfY2hpbGRyZW4rMHgyMjYvZnJhbWUgMHhmZmZmZmZmZjgyZDVjZGEw DQphY3BpX2F0dGFjaCgpIGF0IGFjcGlfYXR0YWNoKzB4OTdiL2ZyYW1lIDB4ZmZmZmZmZmY4 MmQ1Y2UzMA0KZGV2aWNlX2F0dGFjaCgpIGF0IGRldmljZV9hdHRhY2grMHgzYmMvZnJhbWUg MHhmZmZmZmZmZjgyZDVjZTcwDQpkZXZpY2VfcHJvYmVfYW5kX2F0dGFjaCgpIGF0IGRldmlj ZV9wcm9iZV9hbmRfYXR0YWNoKzB4NzAvZnJhbWUgDQoweGZmZmZmZmZmODJkNWNlYTANCmJ1 c19nZW5lcmljX2F0dGFjaCgpIGF0IGJ1c19nZW5lcmljX2F0dGFjaCsweDE4L2ZyYW1lIDB4 ZmZmZmZmZmY4MmQ1Y2VjMA0KZGV2aWNlX2F0dGFjaCgpIGF0IGRldmljZV9hdHRhY2grMHgz YmMvZnJhbWUgMHhmZmZmZmZmZjgyZDVjZjAwDQpkZXZpY2VfcHJvYmVfYW5kX2F0dGFjaCgp IGF0IGRldmljZV9wcm9iZV9hbmRfYXR0YWNoKzB4NzAvZnJhbWUgDQoweGZmZmZmZmZmODJk NWNmMzANCmJ1c19nZW5lcmljX25ld19wYXNzKCkgYXQgYnVzX2dlbmVyaWNfbmV3X3Bhc3Mr MHhlZC9mcmFtZSAweGZmZmZmZmZmODJkNWNmNjANCmJ1c19zZXRfcGFzcygpIGF0IGJ1c19z ZXRfcGFzcysweDM2L2ZyYW1lIDB4ZmZmZmZmZmY4MmQ1Y2Y5MA0KY29uZmlndXJlKCkgYXQg Y29uZmlndXJlKzB4OS9mcmFtZSAweGZmZmZmZmZmODJkNWNmYTANCm1pX3N0YXJ0dXAoKSBh dCBtaV9zdGFydHVwKzB4MWM4L2ZyYW1lIDB4ZmZmZmZmZmY4MmQ1Y2ZmMA0KS0RCOiBlbnRl cjogcGFuaWMNClsgdGhyZWFkIHBpZCAwIHRpZCAxMDAwMDAgXQ0KU3RvcHBlZCBhdCAgICAg IGtkYl9lbnRlcisweDMyOiBtb3ZxICAgICQwLDB4YTM4OGIzKCVyaXApDQpkYj4NCg0KQ2hl ZXJzLA0KDQo= --------------XaZN7DPn0T10BUE60sMQ22jJ-- --------------MMtI5XCMNWTqaLa3YXfa0tEf Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQS7JJNqVzWrbGqXjc8RA+Lrl1nkxQUCZWGY4gUDAAAAAAAKCRARA+Lrl1nkxZz/ AQDUSklW/iQvgZb21yhhx/Wxht1Wk7kcRI7w4hgpSEZFkgEAysycQVTYta5WFGv4mjRzPvo951ro nEgOvkESjEZWzww= =rKxb -----END PGP SIGNATURE----- --------------MMtI5XCMNWTqaLa3YXfa0tEf-- From nobody Sat Nov 25 07:51:36 2023 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 4SckZM0rvdz52WS4; Sat, 25 Nov 2023 07:51:39 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SckZM0PyZz4FwQ; Sat, 25 Nov 2023 07:51:39 +0000 (UTC) (envelope-from bapt@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700898699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=U5YqbOYjmZWP2mldxcqGAeK5+tHRfHjXd42//77hOtY=; b=Wg3lx5O2+iVtF882DZ8fSU5QoRUESWF3HnhBM1m7yXJ2gNAmCyc62WgiZW7j1HdCwzoImD kmValT93zIonU8/ScZOPGnK8jWN07o4YRvnm1hby8RkBymAdQtmccBmhvfUq07kfNl2nVQ 487+ahQhySALrsrLlqKs8i7Ks3lONMcB+7awQoHLQPM+JUWXo2g+SGSGN5QQmPK6Kw/VAi LJzFa7H73P6ezrvQrOTtn6Fgg/4sNclGlvdW1/tcoFhyz2hTN50NLQgzhzm9nxJrHgGexi L96Dz0V6V1ClO7dKvQOsgFh3pPAKM/rS0nLZnVWO9m6rzfcJWgI7fgHkPfxyxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700898699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=U5YqbOYjmZWP2mldxcqGAeK5+tHRfHjXd42//77hOtY=; b=ZUhXHWCY79+eD8jV7n4zay35XrFp+iWWoxDP5E3iYvmNRuBJih1qDe3wan0QH3Y4VrnhwD ZG/Znl66GDN63kMKLRm3eNVDOdCtDNJdK2G9aOckcNq1dXuNuFBHxqayMDLJmU84/6GDiy Qp4abZjnIvXK49SCsLDNN1sQmtVGfYmqay34YjvnK2ipS3wexAn3RalKVjz8P4mFKtEMnv G5JgUou2mPcmXJA2HjUhc9g3wUqxu258qVura+XvETqyn6PFOIurL85pQLS+CraBxBkd2j unKEIErln6rDCA7D7ZXV9Eg0AFwAt6joaY2In67Fkler4mcMmH2EA8FebqbCgA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700898699; a=rsa-sha256; cv=none; b=oj9QGHfTZ2wIxjeNHEowesg8B0oYKnjOv1/J+Fn+dzJ3pxn+BIuku4G2Yvq+B7RtVcXwRC cA5Z2ayogCgqD35wdb/NSVBmxGGQHVN/IG4gBkNRJ34akbN0A7tx3uCGj8b8ZREEft3Qh9 jxBGvtjdNNDMnB+WcfeLukJnoUIULub972Ms3BO4nVCBt7Nt6u4SpGMANFdQXnU7arIZsx HEZpwmXcb25YTljXQDD7/rtcnajwdtdqSHmaL1HlaYxhWi8/lP8K26Q4pqBxJIJI/j63AT z16Fh10OT4tuvsBe7GDiJIjlg3DCCzkKR1/vcU0FsNQb4H9g5o7ByMfe3HKWwA== Received: from aniel.nours.eu (nours.eu [176.31.115.77]) (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) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4SckZL5zyRzr0H; Sat, 25 Nov 2023 07:51:38 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: by aniel.nours.eu (Postfix, from userid 1001) id 62BCC1A34D9; Sat, 25 Nov 2023 08:51:36 +0100 (CET) Date: Sat, 25 Nov 2023 08:51:36 +0100 From: Baptiste Daroussin To: Mateusz Guzik Cc: Mitchell Horne , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: ad34121518bb - main - Revert "pst: improve shutdown_post_sync handler" Message-ID: References: <202311231948.3ANJmwEC076780@gitrepo.freebsd.org> 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=us-ascii Content-Disposition: inline In-Reply-To: Kernel building for i386 is broken now and pkgbase builders do complain, can anyone have a look? Best regards, Bapt On Thu, Nov 23, 2023 at 10:09:35PM +0100, Mateusz Guzik wrote: > i386 kernel is going down, i suggest just dropping the patch > > On 11/23/23, Mitchell Horne wrote: > > The branch main has been updated by mhorne: > > > > URL: > > https://cgit.FreeBSD.org/src/commit/?id=ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a > > > > commit ad34121518bb7e1a38d4a6b1ccf9ca6fe298dd0a > > Author: Mitchell Horne > > AuthorDate: 2023-11-23 19:46:28 +0000 > > Commit: Mitchell Horne > > CommitDate: 2023-11-23 19:48:44 +0000 > > > > Revert "pst: improve shutdown_post_sync handler" > > > > I did not realize this driver was i386-only, and the change fails to > > compile. Revert so that I can fix it properly. > > > > This reverts commit 428ebb7cd9f51afb6809bf81cf21a05e0fd93ff4. > > > > Pointy hat to: mhorne > > --- > > sys/dev/pst/pst-iop.c | 2 +- > > sys/dev/pst/pst-raid.c | 14 +++++--------- > > 2 files changed, 6 insertions(+), 10 deletions(-) > > > > diff --git a/sys/dev/pst/pst-iop.c b/sys/dev/pst/pst-iop.c > > index 43ced2401d2c..f9921a564333 100644 > > --- a/sys/dev/pst/pst-iop.c > > +++ b/sys/dev/pst/pst-iop.c > > @@ -432,7 +432,7 @@ iop_queue_wait_msg(struct iop_softc *sc, int mfa, struct > > i2o_basic_message *msg) > > int status, timeout = 10000; > > > > mtx_lock(&sc->mtx); > > - if ((sc->reg->oqueue_intr_mask & I20_OUT_INTR_QUEUE) == 0) { > > + if (!(sc->reg->oqueue_intr_mask & 0x08)) { > > msg->transaction_context = (u_int32_t)&request; > > msg->initiator_context = (u_int32_t)iop_done; > > sc->reg->iqueue = mfa; > > diff --git a/sys/dev/pst/pst-raid.c b/sys/dev/pst/pst-raid.c > > index 4f9279462ee8..4e9c4fb724bc 100644 > > --- a/sys/dev/pst/pst-raid.c > > +++ b/sys/dev/pst/pst-raid.c > > @@ -73,7 +73,7 @@ struct pst_request { > > static disk_strategy_t pststrategy; > > static int pst_probe(device_t); > > static int pst_attach(device_t); > > -static void pst_shutdown_post_sync(device_t, int); > > +static int pst_shutdown(device_t); > > static void pst_start(struct pst_softc *); > > static void pst_done(struct iop_softc *, u_int32_t, struct i2o_single_reply > > *); > > static int pst_rw(struct pst_request *); > > @@ -170,23 +170,18 @@ pst_attach(device_t dev) > > name, psc->info->capacity/(512*255*63), 255, 63, > > device_get_nameunit(psc->iop->dev)); > > > > - EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown_post_sync, > > + EVENTHANDLER_REGISTER(shutdown_post_sync, pst_shutdown, > > dev, SHUTDOWN_PRI_FIRST); > > return 0; > > } > > > > -static void > > -pst_shutdown_post_sync(device_t dev, int howto __unused) > > +static int > > +pst_shutdown(device_t dev) > > { > > struct pst_softc *psc = device_get_softc(dev); > > struct i2o_bsa_cache_flush_message *msg; > > int mfa; > > > > - if (SCHEDULER_STOPPED()) { > > - /* Request polled shutdown. */ > > - psc->reg->oqueue_intr_mask = 0xffffffff; > > - } > > - > > mfa = iop_get_mfa(psc->iop); > > msg = (struct i2o_bsa_cache_flush_message *)(psc->iop->ibase + mfa); > > bzero(msg, sizeof(struct i2o_bsa_cache_flush_message)); > > @@ -199,6 +194,7 @@ pst_shutdown_post_sync(device_t dev, int howto > > __unused) > > msg->control_flags = 0x0; /* 0x80 = post progress reports */ > > if (iop_queue_wait_msg(psc->iop, mfa, (struct i2o_basic_message > > *)msg)) > > printf("pst: shutdown failed!\n"); > > + return 0; > > } > > > > static void > > > > > > > -- > Mateusz Guzik > From nobody Sat Nov 25 08:25:16 2023 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 4SclK85N9gz52mXs; Sat, 25 Nov 2023 08:25:16 +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 4SclK84vKPz4QSN; Sat, 25 Nov 2023 08:25:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700900716; 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=dHVtUBY32xquXlXKFwfYZV2GbbY16GkRmt2bkAV8cDM=; b=owGn/Ji8WfkL7TC9g83SCnlNTVYglhoIiAOiSkwYdBlfYiGpJ8hLvf4dIANhkJsy5WFIXy oO4I3y751aL2OfboZj5/Hy/Uo/3N39DRTPdfXj/SWbqKhkNKBr6C5TwvWvGhKBD1xfpvi1 YcI/mU4G+EPt7svV6sqkMLcra9CUM3A+jcg43tvMESNw+mijxUZNshOELlFHIA1cc2Mvlt 0jNz1LbqNPncBTtfzL/5X9TAQ8w5xiUjw+aPb3dh685crPu0EYd3x0Q3txZxKVcc+2FB1e vb4+d2TLbnUX8zePmtNGbcyqGoPGWF41m94+RSPq5S/mhZGC8jei0SRQB8EoJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700900716; 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=dHVtUBY32xquXlXKFwfYZV2GbbY16GkRmt2bkAV8cDM=; b=AqMPw5SWt9384DdLgj3wSSoEv5x9Dd+97Xli7EUz72dXDjhgso1zohnxi9Nwwd8IeW8YN8 sowApDUccJB3PDr4o306GSnL/M1XKRModJIBKwzYvANX/2BS5rl5+S3AjGn9H7tv9oxwe0 YeNE3MtzQWDlI1M59S+GcxXEH+x+oyf4Dz3dyhOkQzeJEJC/FjC30VOgEoueXMapj86dr0 gZh0YPxC7a1YVHciGWYOzQyIudPCZNgWwezlazJ3kcaY9IsD0mA9SdxydiPmbMpxP08kNF OqkGQXoMXfEG2Po2cUsQCmQWnrSWhblp5fml/+ScxTCZ8cG+sHERwq00lD2xVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700900716; a=rsa-sha256; cv=none; b=D+eNrBwF1ArvxHVF9+IyoWjRVgml15g9zT2U6UMFlG4VA/jKpdB2H5TChbV0nGqMk5gQCB x2lIjQjEsjTGITXXqYzLyu7FkNAo/8Aeo6XknhxHXAiY1hhz1qbwmckwhvTTjtHow3OnKC nB8x8O/TqgGkiHwrDmMkfB4QcUQpzRgqi4n0xcDCliU/g/uLtejEvZ4JURUxq0/0if16AC mFYrHbyXJQuQtYsYl5J7pfxiP1lq1o4A3YAF5iG+/KHDfJAdAgtBP4TDnFzmtI/OiDZXEU B744Sf+swl62L7Zd09uGLb8Hxo7IX1fL0mB6c9sUFdp2klIHmfBe8zfj4J6elA== 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 4SclK83zLwz1Kx7; Sat, 25 Nov 2023 08:25:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AP8PGGQ054442; Sat, 25 Nov 2023 08:25:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AP8PGrt054439; Sat, 25 Nov 2023 08:25:16 GMT (envelope-from git) Date: Sat, 25 Nov 2023 08:25:16 GMT Message-Id: <202311250825.3AP8PGrt054439@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: 7041faf5a5bc - stable/14 - Add a HISTORY section for memcpy(3) and mempcpy(3) 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7041faf5a5bcd6d49d382edafb313aa8c9726791 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=7041faf5a5bcd6d49d382edafb313aa8c9726791 commit 7041faf5a5bcd6d49d382edafb313aa8c9726791 Author: Gordon Bergling AuthorDate: 2023-11-18 09:09:40 +0000 Commit: Gordon Bergling CommitDate: 2023-11-25 08:25:03 +0000 Add a HISTORY section for memcpy(3) and mempcpy(3) The memcpy() function first appeared in AT&T System V UNIX and was reimplemented for 4.3BSD-Tahoe. The mempcpy() function first appeared in FreeBSD 13.1. PR: 272227 Differential Revision: https://reviews.freebsd.org/D42630 (cherry picked from commit 8c8ffe541eabb23e21ddffb534ecda7ac6d7e04a) --- lib/libc/string/memcpy.3 | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/libc/string/memcpy.3 b/lib/libc/string/memcpy.3 index 5ce43d5dfe75..4207ccb018c1 100644 --- a/lib/libc/string/memcpy.3 +++ b/lib/libc/string/memcpy.3 @@ -31,7 +31,7 @@ .\" .\" @(#)memcpy.3 8.1 (Berkeley) 6/4/93 .\" -.Dd July 14, 2021 +.Dd November 18, 2023 .Dt MEMCPY 3 .Os .Sh NAME @@ -77,7 +77,7 @@ function returns a pointer to the byte after the last written byte. .Xr memccpy 3 , .Xr memmove 3 , .Xr strcpy 3 , -.Xr wmemcpy 3 +.Xr wmemcpy 3 , .Xr wmempcpy 3 .Sh STANDARDS The @@ -85,3 +85,14 @@ The function conforms to .St -isoC . +.Sh HISTORY +The +.Fn memcpy +function first appeared in +.At V +and was reimplemented for +.Bx 4.3 Tahoe . +The +.Fn mempcpy +function first appeared in +.Fx 13.1 . From nobody Sat Nov 25 08:25:38 2023 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 4SclKZ4xW1z52mhb; Sat, 25 Nov 2023 08:25:38 +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 4SclKZ4NsKz4QXb; Sat, 25 Nov 2023 08:25:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700900738; 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=8SmqFAUJIoZTzRC/4sm1FBoBKesYZLJ0Q3G+o0SakNg=; b=qUHo5oPtvnC2fY5412Ay1eAVqwx4qQRssc124vgz0a8/12FiGnEFVxjl0gQ+TnOEZuYsir tHONQp0LbwZson/YBnWCNFWpZJVqZCa1HjHUInaaotpo9JGVoWK0GBJF0ppt+s7RFCcxbx 4gVe382bvsSp8h0H4Trs5MXFm5WiRKb41605RghhzMj2U+JnGP5zB1WNxNTq4ll42Ngcat jF/9wcqoExP3/NS1h0JnqbtgrIo2lSPJ0Xs4rlEbhB+AqwhMddhk5AhBWuUP2kbZVY7V74 jDX/E78ComtX3c8YanF0dBi/gV5V2Qe/LKtXaQZ4kvfdrRh37/ADPpOVN1tq4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700900738; 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=8SmqFAUJIoZTzRC/4sm1FBoBKesYZLJ0Q3G+o0SakNg=; b=iuJbSdEnffGDBXOXj/uL0te7eF8cWRlW9RaArQPu/g1nKOqTH9wCY+UGSqCwYUmG0SFos5 PxnG/0VPyzrKe7PL0m6eUxqUqFDWsIJRJEiJK5Q5keqjDWRMHfMinqqJN7O7HbAtnMRzif QobwBVp0dqbyrLEWyeTP66QZnGQ5EWCDzw9KxFkmxsMNHSBo9AVhnDq/aaRg0i/c5PZi1K niel9iZjN3J454W747bWm4aVXpifrNhmUT+0s9mZ5pOzMWp51q9Y1qNyJBVDKMQ2kVoinx PLYbOsIFClnGBqHwlKi4CYNiuYtwY/JUJ7jvW32jtlzGwOkdMYzHstlDg0atsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700900738; a=rsa-sha256; cv=none; b=elCBfCvjnKUf/bJXIfxLsl9a4xgL0MVs0e8pOUuejWEnAtMdTTP3yV99QYiR2Pp+oWs1Bv tvfKdYKtV1R0MkCosCKiHKYtbr8Ys1acwNdL48ELR7yIWJMGbe9I1h9opHuCmk3u+GwyJG 01n9miIThEySIW5X6FSUoAWfgJPEYoDP7BIaj1vkdtNU5i5V0GTNmDiut6Sg+4fyCdrbjF 32KUT5G9Ms/Q11a1p/qNcDjkhW54M5Zlb66QZwv+RJDXemxfRGRluyQ1HArjqdnr15INFx RRJ79tDLA0iTVKCySInjLk6cZAbJPnWEoONpFgCLUuTgpKSk2qoSR6uF0gBp0w== 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 4SclKZ3VV9z1KvQ; Sat, 25 Nov 2023 08:25:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AP8PclL054653; Sat, 25 Nov 2023 08:25:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AP8PcQB054650; Sat, 25 Nov 2023 08:25:38 GMT (envelope-from git) Date: Sat, 25 Nov 2023 08:25:38 GMT Message-Id: <202311250825.3AP8PcQB054650@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: b54addc27ceb - stable/13 - Add a HISTORY section for memcpy(3) and mempcpy(3) 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: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b54addc27ceb76abf9b4aeec3bca924e9599169f Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=b54addc27ceb76abf9b4aeec3bca924e9599169f commit b54addc27ceb76abf9b4aeec3bca924e9599169f Author: Gordon Bergling AuthorDate: 2023-11-18 09:09:40 +0000 Commit: Gordon Bergling CommitDate: 2023-11-25 08:25:25 +0000 Add a HISTORY section for memcpy(3) and mempcpy(3) The memcpy() function first appeared in AT&T System V UNIX and was reimplemented for 4.3BSD-Tahoe. The mempcpy() function first appeared in FreeBSD 13.1. PR: 272227 Differential Revision: https://reviews.freebsd.org/D42630 (cherry picked from commit 8c8ffe541eabb23e21ddffb534ecda7ac6d7e04a) --- lib/libc/string/memcpy.3 | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/libc/string/memcpy.3 b/lib/libc/string/memcpy.3 index 5ce43d5dfe75..4207ccb018c1 100644 --- a/lib/libc/string/memcpy.3 +++ b/lib/libc/string/memcpy.3 @@ -31,7 +31,7 @@ .\" .\" @(#)memcpy.3 8.1 (Berkeley) 6/4/93 .\" -.Dd July 14, 2021 +.Dd November 18, 2023 .Dt MEMCPY 3 .Os .Sh NAME @@ -77,7 +77,7 @@ function returns a pointer to the byte after the last written byte. .Xr memccpy 3 , .Xr memmove 3 , .Xr strcpy 3 , -.Xr wmemcpy 3 +.Xr wmemcpy 3 , .Xr wmempcpy 3 .Sh STANDARDS The @@ -85,3 +85,14 @@ The function conforms to .St -isoC . +.Sh HISTORY +The +.Fn memcpy +function first appeared in +.At V +and was reimplemented for +.Bx 4.3 Tahoe . +The +.Fn mempcpy +function first appeared in +.Fx 13.1 . From nobody Sat Nov 25 08:39:46 2023 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 4SclfH5tSRz51fgf; Sat, 25 Nov 2023 08:40:07 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4SclfH2Jt2z4VBb; Sat, 25 Nov 2023 08:40:07 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.17.1/8.17.1) with ESMTP id 3AP8dkXZ031758; Sat, 25 Nov 2023 10:39:49 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 3AP8dkXZ031758 Received: (from kostik@localhost) by tom.home (8.17.1/8.17.1/Submit) id 3AP8dkGG031757; Sat, 25 Nov 2023 10:39:46 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 25 Nov 2023 10:39:46 +0200 From: Konstantin Belousov To: d@delphij.net Cc: John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 19f073c612af - main - new-bus: Add resource_validate_map_request function Message-ID: References: <202311231707.3ANH758D008755@gitrepo.freebsd.org> <934faa57-60d2-4be7-bdd3-e64c62ae71ad@delphij.net> 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=us-ascii Content-Disposition: inline In-Reply-To: <934faa57-60d2-4be7-bdd3-e64c62ae71ad@delphij.net> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.0 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on tom.home X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Queue-Id: 4SclfH2Jt2z4VBb On Fri, Nov 24, 2023 at 10:49:06PM -0800, Xin Li wrote: > On 2023-11-23 09:07, John Baldwin wrote: > > The branch main has been updated by jhb: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=19f073c612afa0111d216e5ccab9525bfc97ec32 > > > > commit 19f073c612afa0111d216e5ccab9525bfc97ec32 > > Author: John Baldwin > > AuthorDate: 2023-11-23 17:06:24 +0000 > > Commit: John Baldwin > > CommitDate: 2023-11-23 17:06:24 +0000 > > > > new-bus: Add resource_validate_map_request function > > This helper function for BUS_MAP_RESOURCE performs common argument > > validation. > > Reviewed by: imp > > Differential Revision: https://reviews.freebsd.org/D42723 > > After this change my kernel panics with: > > HPTS is in INVARIANT mode!! > random: entropy device external interface > kbd0 at kbdmux0 > WARNING: Device "spkr" is Giant locked and may be deleted before FreeBSD > 15.0. > vtvga0: > aesni0: > acpi0: > acpi0: Power Button (fixed) > cpu0: on acpi0 > hpet0: iomem 0xfed00000-0xfed003ff on acpi0 > panic: bus_generic_rman_activate_resource: rman 0xffffffff81222770 doesn't > match for resource 0xfffff80003d1a400 > cpuid = 0 > time = 1 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame > 0xffffffff82d5c880 > vpanic() at vpanic+0x132/frame 0xffffffff82d5c9b0 > panic() at panic+0x43/frame 0xffffffff82d5ca10 > bus_generic_rman_activate_resource() at > bus_generic_rman_activate_resource+0x146/frame 0xffffffff82d5ca70 > acpi_alloc_sysres() at acpi_alloc_sysres+0x81/frame 0xffffffff82d5cab0 > acpi_alloc_resource() at acpi_alloc_resource+0x106/frame 0xffffffff82d5cb70 > bus_alloc_resource() at bus_alloc_resource+0x9b/frame 0xffffffff82d5cbd0 > hpet_attach() at hpet_attach+0xb4/frame 0xffffffff82d5ccb0 > device_attach() at device_attach+0x3bc/frame 0xffffffff82d5ccf0 > device_probe_and_attach() at device_probe_and_attach+0x70/frame > 0xffffffff82d5cd20 > bus_generic_attach() at bus_generic_attach+0x18/frame 0xffffffff82d5cd40 > acpi_probe_children() at acpi_probe_children+0x226/frame 0xffffffff82d5cda0 > acpi_attach() at acpi_attach+0x97b/frame 0xffffffff82d5ce30 > device_attach() at device_attach+0x3bc/frame 0xffffffff82d5ce70 > device_probe_and_attach() at device_probe_and_attach+0x70/frame > 0xffffffff82d5cea0 > bus_generic_attach() at bus_generic_attach+0x18/frame 0xffffffff82d5cec0 > device_attach() at device_attach+0x3bc/frame 0xffffffff82d5cf00 > device_probe_and_attach() at device_probe_and_attach+0x70/frame > 0xffffffff82d5cf30 > bus_generic_new_pass() at bus_generic_new_pass+0xed/frame 0xffffffff82d5cf60 > bus_set_pass() at bus_set_pass+0x36/frame 0xffffffff82d5cf90 > configure() at configure+0x9/frame 0xffffffff82d5cfa0 > mi_startup() at mi_startup+0x1c8/frame 0xffffffff82d5cff0 > KDB: enter: panic > [ thread pid 0 tid 100000 ] > Stopped at kdb_enter+0x32: movq $0,0xa388b3(%rip) > db> Me too. But in my case, it is not HPET but atrtc_acpi_attach(). From nobody Sat Nov 25 09:05:39 2023 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 4ScmCl2mzCz51tvm; Sat, 25 Nov 2023 09:05:39 +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 4ScmCl2LL6z4c5d; Sat, 25 Nov 2023 09:05:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700903139; 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=+n7aQ5oBq/IWqEGmJAMuQ6DKtmQRv7lx1QgGHtqe2DM=; b=sM4nQODAc3YSq5CLa94IN8AiyNe95FxvcHgGmEIi1g6NRxDyAOiBAcvxnXQZSw29le4vYg cPOA9eZ2dBwkT83kHei7XReuMy9m/YPtVTmFj0FNU+L74MSTU5Nqg3c1MUdW3ffPRII67M 0FWoZ/m75g5t6TjcUjllbilQ7YZt7fbQLwDuz/l2DmzR7KPncHbZjmeKnSiXy6+YVanPRi Xa5iVtU3swp2uF+7PE9a/keeTcDIsYyH9MDeDINFpNiQITo8ToKwsvNj5VtO3Rxwqx+NG3 fKhIeok7rUn6Rs3LRcid7SaO4ynwZRtIXwRkIwJcQdCqyq/n15Y0zsjmlufJOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700903139; 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=+n7aQ5oBq/IWqEGmJAMuQ6DKtmQRv7lx1QgGHtqe2DM=; b=fY7TZ6wJvt4cYJDYtGtM8yHzjBBbhZLUid0XB6t7zue6X8nbziP6Y9kMMb8l4QuQMMWeyz ZKx/R81z1/RWZTsaH9gUPbEZqfVtC8KTmROx/LtEpxmDJSDFMed63WYTru0MkMwhWM/NRP JP+WIvGHTD9olM/QwoufkhfrqwWlNZ4RBwEE90/pL5n3BI50LfWWnCffB6ZMUVTwQD2hb3 EIW+Zr+xTtNGgVnF+DcWFCOqjrok1aMzjXFutunFg+/c8geLf90ftV6gEnfGubMUmfu+sD EbR6HOs55jF37zo/s+IEWqiJCGcxTFLoaxJ6vuPqn0b4KJsFrsvQmEgVaNjUww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700903139; a=rsa-sha256; cv=none; b=kHIqtq0m0V2A2MIZqttDqEK/GSBVSxvOa18GKT3F3eqF6v5PuyoCw7U5DqtuzcGJGG5HzH 34BLZ59TF+O1J0agakRCaDkw3lB4nW0Z15TB7VjyK4nKHlaWW4kTiaV140iKkRody1Mdo5 rV17Tv7e3wBfsVeMhAPda++IXZeCl3N1suxOaln3llYVc943IFFgAhCoqNMzPxsf3Jkd8L 2JhdlgqZVZViCjLV/8fKAsJXht/GBeWj0+82e9JTW4d768GmzB7lJ56C5A1HjBzQvpyaRM TxGE011H7ndAUtPm7hYKoKeHHmVnG3gWeQX8fjPkWmtKVOyagS08xkO7nPxe2Q== 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 4ScmCl1Qnsz1L9B; Sat, 25 Nov 2023 09:05:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AP95dT7021437; Sat, 25 Nov 2023 09:05:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AP95dHE021434; Sat, 25 Nov 2023 09:05:39 GMT (envelope-from git) Date: Sat, 25 Nov 2023 09:05:39 GMT Message-Id: <202311250905.3AP95dHE021434@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 1e4798e9677f - stable/14 - compiler-rt: avoid segfaults when re-exec'ing with ASLR 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1e4798e9677f17a7cdc9a1873a0c6e008fc620d8 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=1e4798e9677f17a7cdc9a1873a0c6e008fc620d8 commit 1e4798e9677f17a7cdc9a1873a0c6e008fc620d8 Author: Dimitry Andric AuthorDate: 2023-11-22 18:23:06 +0000 Commit: Dimitry Andric CommitDate: 2023-11-25 09:05:09 +0000 compiler-rt: avoid segfaults when re-exec'ing with ASLR After 930a7c2ac67e ("compiler-rt: re-exec with ASLR disabled when necessary") and 96fe7c8ab0f6 ("compiler-rt: support ReExec() on FreeBSD"), binaries linked against the sanitizer libraries may segfault due to procctl(2) being intercepted. Instead, the non-intercepted internal_procctl() should be called. Similarly, the ReExec() function that re-executes the binary after turning off ASLR should not call elf_aux_info(3) and realpath(3), since these will also be intercepted. Instead, loop directly over the elf aux info vector to find the executable path, and avoid calling realpath(3) since it is actually unwanted for this use case. Fixes: 930a7c2ac67e, 96fe7c8ab0f6 MFC after: 3 days (cherry picked from commit 4c9a0adad18263ec8725d9bfc5f560c6ad1da8bd) --- .../compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp | 2 +- .../lib/sanitizer_common/sanitizer_linux_libcdep.cpp | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp index 3f544623c6fb..ebbd14eca72f 100644 --- a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp +++ b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp @@ -2323,7 +2323,7 @@ void CheckASLR() { "and binaries compiled with PIE\n" "ASLR will be disabled and the program re-executed.\n"); int aslr_ctl = PROC_ASLR_FORCE_DISABLE; - CHECK_NE(procctl(P_PID, 0, PROC_ASLR_CTL, &aslr_ctl), -1); + CHECK_NE(internal_procctl(P_PID, 0, PROC_ASLR_CTL, &aslr_ctl), -1); ReExec(); } # elif SANITIZER_PPC64V2 diff --git a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp index ff62fc4af430..58310e05b359 100644 --- a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp +++ b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp @@ -56,6 +56,7 @@ // that, it was never implemented. So just define it to zero. #undef MAP_NORESERVE #define MAP_NORESERVE 0 +extern const Elf_Auxinfo *__elf_aux_vector; #endif #if SANITIZER_NETBSD @@ -947,11 +948,11 @@ void ReExec() { const char *pathname = "/proc/self/exe"; #if SANITIZER_FREEBSD - char exe_path[PATH_MAX]; - if (elf_aux_info(AT_EXECPATH, exe_path, sizeof(exe_path)) == 0) { - char link_path[PATH_MAX]; - if (realpath(exe_path, link_path)) - pathname = link_path; + for (const auto *aux = __elf_aux_vector; aux->a_type != AT_NULL; aux++) { + if (aux->a_type == AT_EXECPATH) { + pathname = static_cast(aux->a_un.a_ptr); + break; + } } #elif SANITIZER_NETBSD static const int name[] = { From nobody Sat Nov 25 09:05:54 2023 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 4ScmD252snz51v12; Sat, 25 Nov 2023 09:05:54 +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 4ScmD24cS7z4cR9; Sat, 25 Nov 2023 09:05:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700903154; 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=azIy6uxyQLJM2QeY3w/OfBcvQD0e+ac2V0lDHNXhVfg=; b=wRfDQqKem9WT/x4jHJZ0SRfXX6uQByVxo52RZG2euHigD6EqAMg4uRPTr+N8WFlQ4uzsMi UpS+rZeGKewngYBhh/4Hfbu+qEJPt23L1IjeInfTET5IgY/tyy5KlZb2I/bVEDZJwK/Pxw +guik8jvzM4kWgskDgnosrIJfaYlAofyuX/KH94pK9zhVRdnezzPnmdoCXKkF+7902kVbO OZCR9f8cPKkrLxXxDn4PJs3C3soDOxvKqc98OMMLoeTc5KZNBQ3nx58AqfVkuU5JC21p5B 63cpPfn7cvBE61Yvc6r9hfFexYuAsQkgXpD7ZgawTFrgJXYXhnHzK75lKYc2YA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700903154; 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=azIy6uxyQLJM2QeY3w/OfBcvQD0e+ac2V0lDHNXhVfg=; b=BrGAM01jjxVkW1a0ExACZX1dyCpZ9B+N1S0yk9H5IsPPHGqltbHU7P4AaNQZ0f7hwNfxLf pTaLDwe4xxGnLsFNHCOr0rADFWU4WihPlhhDKZlesZJ1JhGuGkCt4BET/tFYN7/weWdSpx guotrxZaliyM5vOHU6AZ6xERCFY6RLSvNVLdTOZ9ry4+owpWNgMuOHHf73ks5PI5UNSt/K QNPF2jkcrUH9sAvXhlo4RDJY07OwoTiXuvYrsPeQ61/vNF5CjyPHoq7YdWCk4cLsGvN7uX JwKLlrdFo1MKqv7xUwCH0yRyAfDtaszWXyNKon4aREsgJd536v1Did+/wJzX+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700903154; a=rsa-sha256; cv=none; b=tFgiQuda9DRhqWujzhBf8RS6t568H12Emf6M6cdPZOM8lnmt0K0WvBLKGvw2T7kGaYug7B QolTsKYPoyGCdNJnLsIuWo7SY2VYQfJNEVDAwdpWjGM9nNwkf4Rt4odzyucukUT2Ezca2x HeN98fef2TJkJMQzZcuSSs9W3e3GaU9H8ck39qAU+7WXN5S72LmWEkd46Oyvf64YZ5Fhvz FCHfmEngwJZ2xF2tYXc7je0gQhWQYwzxtuYkIvsdT6idESbleFv/yIGq6tP+bDSmn83Rcl d4xzdwu8SryhNWnn+l7LqzrbAJEyhzv7kFVaOIJvV7nFI8PQLLmsHcg5S41nUw== 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 4ScmD23YQdz1LhS; Sat, 25 Nov 2023 09:05:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AP95suK021598; Sat, 25 Nov 2023 09:05:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AP95s23021595; Sat, 25 Nov 2023 09:05:54 GMT (envelope-from git) Date: Sat, 25 Nov 2023 09:05:54 GMT Message-Id: <202311250905.3AP95s23021595@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 7c25a53a2cb9 - stable/13 - compiler-rt: avoid segfaults when re-exec'ing with ASLR 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7c25a53a2cb975e516cfea78898bfb850db88524 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=7c25a53a2cb975e516cfea78898bfb850db88524 commit 7c25a53a2cb975e516cfea78898bfb850db88524 Author: Dimitry Andric AuthorDate: 2023-11-22 18:23:06 +0000 Commit: Dimitry Andric CommitDate: 2023-11-25 09:05:14 +0000 compiler-rt: avoid segfaults when re-exec'ing with ASLR After 930a7c2ac67e ("compiler-rt: re-exec with ASLR disabled when necessary") and 96fe7c8ab0f6 ("compiler-rt: support ReExec() on FreeBSD"), binaries linked against the sanitizer libraries may segfault due to procctl(2) being intercepted. Instead, the non-intercepted internal_procctl() should be called. Similarly, the ReExec() function that re-executes the binary after turning off ASLR should not call elf_aux_info(3) and realpath(3), since these will also be intercepted. Instead, loop directly over the elf aux info vector to find the executable path, and avoid calling realpath(3) since it is actually unwanted for this use case. Fixes: 930a7c2ac67e, 96fe7c8ab0f6 MFC after: 3 days (cherry picked from commit 4c9a0adad18263ec8725d9bfc5f560c6ad1da8bd) --- .../compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp | 2 +- .../lib/sanitizer_common/sanitizer_linux_libcdep.cpp | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp index 3f544623c6fb..ebbd14eca72f 100644 --- a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp +++ b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp @@ -2323,7 +2323,7 @@ void CheckASLR() { "and binaries compiled with PIE\n" "ASLR will be disabled and the program re-executed.\n"); int aslr_ctl = PROC_ASLR_FORCE_DISABLE; - CHECK_NE(procctl(P_PID, 0, PROC_ASLR_CTL, &aslr_ctl), -1); + CHECK_NE(internal_procctl(P_PID, 0, PROC_ASLR_CTL, &aslr_ctl), -1); ReExec(); } # elif SANITIZER_PPC64V2 diff --git a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp index ff62fc4af430..58310e05b359 100644 --- a/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp +++ b/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp @@ -56,6 +56,7 @@ // that, it was never implemented. So just define it to zero. #undef MAP_NORESERVE #define MAP_NORESERVE 0 +extern const Elf_Auxinfo *__elf_aux_vector; #endif #if SANITIZER_NETBSD @@ -947,11 +948,11 @@ void ReExec() { const char *pathname = "/proc/self/exe"; #if SANITIZER_FREEBSD - char exe_path[PATH_MAX]; - if (elf_aux_info(AT_EXECPATH, exe_path, sizeof(exe_path)) == 0) { - char link_path[PATH_MAX]; - if (realpath(exe_path, link_path)) - pathname = link_path; + for (const auto *aux = __elf_aux_vector; aux->a_type != AT_NULL; aux++) { + if (aux->a_type == AT_EXECPATH) { + pathname = static_cast(aux->a_un.a_ptr); + break; + } } #elif SANITIZER_NETBSD static const int name[] = { From nobody Sat Nov 25 09:37:22 2023 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 4ScmwL2qpYz529sm; Sat, 25 Nov 2023 09:37:22 +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 4ScmwL2P4Wz3LRt; Sat, 25 Nov 2023 09:37:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700905042; 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=C/2lGkCHXnDj0BTViRiyfbee/8XSggE2QpzDSYi+mhs=; b=pVTK2vTdJCt4g55BsGgmJ5lsxSIzVEagWL3ViaObQkDtw9TU6V3KTmJshlPGSfhAx0jNMi s0GX2mmAyNWjB54/nBNqrNZAqS5KRP0gxSK8AcUvLB6zWYTXn1ClxY8ij53CZa8UU28rf8 VcWclcz4xK4K3nXs2weRKM9kqUB8FEagi4uw693CVpb5Erz/FMaK6vupqENS5JdwLBE7l4 GZa7t0r6dHHV6UMTeOJobCxW9YFjcbSgZJGMo3eTe2D0YmK69RIuZoC1RqEQqTsuMHcLK7 Vkg93c3LZ1hwhpy8sUflFoy7Gf7+CVC7sP/2HXLeL9acX196X0ktG52KyhHpDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700905042; 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=C/2lGkCHXnDj0BTViRiyfbee/8XSggE2QpzDSYi+mhs=; b=MyLqljeQjCG+y08CE9KBYJnt8l81rEzyaUoM6wmJKKuTRuTfwP3XeJJujhn6MvZJ2wTNdE qyl+wTIBztfKtFECYEmEIHh+T7JqKP1K9oiopUifjzUs3BEYxu8yRV+leTuIfV0nn2Bw2b KLbiHxF4qXU64dkrbEUF86CB86MTooAHPo4WQD4lWSPme/qTwrRwz684kZhqLXaZXW2OYT S9U9xDpLm3ICWBb82ro0GKUFyJI7jYZ8bHcgA/defjRKdRIRV9t4hAYrSRVsneSOPEku54 MWGymSp85L4W7swylPi1FHQqHmOb232VPsXjL/2tu/go+MyrDX5YHkX88dhM8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700905042; a=rsa-sha256; cv=none; b=fxbF+FiEkH7AqTIp9HhCwo5c4EwR2vdaaKx4vub/LXxYdXzbdHqSXSj+VXTLdKSflQ5qZG VieCHDxWqyDhXVi6YhJIL4QM9Q5qUFWnmIU4bSW9adO+TGJc1AGyCQOcx9mwvG3AOisZZL C/fzuJHvlE/68hT/H56x50iaXj1hedIU3b1BOb2pUxRjPD4eZBborOu1wes55EpZ8lpVXB Okr92qhAFUgbEb/W+BCcBE2zW54XtAPp050nlVf48R0ooZ0D5gWJwT4gCuQ19jsywdkp8A 5q4MDyTww/1PbCwbVtA3dHNwYznc/2Sn6RI2fdmAvwMhPSYYBbpXLe3NAsYrcA== 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 4ScmwL1Sm6z1MRD; Sat, 25 Nov 2023 09:37:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3AP9bMj9071566; Sat, 25 Nov 2023 09:37:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3AP9bMkn071563; Sat, 25 Nov 2023 09:37:22 GMT (envelope-from git) Date: Sat, 25 Nov 2023 09:37:22 GMT Message-Id: <202311250937.3AP9bMkn071563@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: 49a83b94395a - main - stress2: Do not make assumptions about the value of UFS_LINK_MAX 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: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 49a83b94395a6eaae4642aa72c9f6a40143f0f45 Auto-Submitted: auto-generated The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=49a83b94395a6eaae4642aa72c9f6a40143f0f45 commit 49a83b94395a6eaae4642aa72c9f6a40143f0f45 Author: Peter Holm AuthorDate: 2023-11-25 09:36:00 +0000 Commit: Peter Holm CommitDate: 2023-11-25 09:36:00 +0000 stress2: Do not make assumptions about the value of UFS_LINK_MAX --- tools/test/stress2/misc/nlink3.sh | 2 +- tools/test/stress2/misc/nlink4.sh | 2 +- tools/test/stress2/misc/nlink5.sh | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/test/stress2/misc/nlink3.sh b/tools/test/stress2/misc/nlink3.sh index 0c1b9fc0c32d..55557124c9c2 100755 --- a/tools/test/stress2/misc/nlink3.sh +++ b/tools/test/stress2/misc/nlink3.sh @@ -52,7 +52,7 @@ main (void) { err(1, "creat(%s)", file); close(fd); - mx = UFS_LINK_MAX - 1; /* UFS_LINK_MAX = 32767 */ + mx = UFS_LINK_MAX - 1; for (i = 0; i < mx; i++) { snprintf(file, sizeof(file), "%d", i); if (link("f", file) == -1) diff --git a/tools/test/stress2/misc/nlink4.sh b/tools/test/stress2/misc/nlink4.sh index 5f31df2c24d0..cce8bb06985a 100755 --- a/tools/test/stress2/misc/nlink4.sh +++ b/tools/test/stress2/misc/nlink4.sh @@ -51,7 +51,7 @@ main (void) { err(1, "creat(%s)", file); close(fd); - mx = UFS_LINK_MAX - 1; /* UFS_LINK_MAX = 32767 */ + mx = UFS_LINK_MAX - 1; for (i = 0; i < mx; i++) { snprintf(file, sizeof(file), "%d", i); if (link("f", file) == -1) diff --git a/tools/test/stress2/misc/nlink5.sh b/tools/test/stress2/misc/nlink5.sh index af19d052f9f3..4e7f2d9c827d 100755 --- a/tools/test/stress2/misc/nlink5.sh +++ b/tools/test/stress2/misc/nlink5.sh @@ -33,6 +33,9 @@ . ../default.cfg +UFS_LINK_MAX=`grep UFS_LINK_MAX /usr/include/ufs/ufs/dinode.h 2>/dev/null` +[ -z "$UFS_LINK_MAX" ] && exit 0 +UFS_LINK_MAX=`echo $UFS_LINK_MAX | awk '{print $NF}'` cat > /tmp/nlink5.c < #include @@ -46,7 +49,7 @@ main (void) { int i, mx; char dir[100]; - mx = UFS_LINK_MAX - 2; /* UFS_LINK_MAX = 32767 */ + mx = UFS_LINK_MAX - 2; for (i = 0; i < mx; i++) { snprintf(dir, sizeof(dir), "%d", i); if (mkdir(dir, 0700) == -1) @@ -111,7 +114,7 @@ set +e cd $mntpoint /tmp/nlink5; s=$? n=`find . -type d -maxdepth 1 | wc -l` -[ $n -ne 32766 ] && s=2 +[ $n -ne $((UFS_LINK_MAX - 1)) ] && s=2 cd $here umount $mntpoint From nobody Sat Nov 25 18:30:13 2023 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 4Sd0lD00Msz52S2m; Sat, 25 Nov 2023 18:30:16 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Sd0lC6J20z3dmw; Sat, 25 Nov 2023 18:30:15 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700937015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m2VywToliUyTTMXWJc/U7M1LdUtbA8uR5Tqk5kyS3pE=; b=iRmY03dtrtDL66a84EAUhz/HQ1LcwvsaOF6Xb6n7TReSyyN1m5akhn8FEORm7YHbuN0EGH 17Egho46ruvUXTDF+ziTuuBmdCh8a8ElnErMKcEEQSLslCkcynzWcWJi1izLXtI7sDwMoY GMbk79Eftld3n+EzV/jWKxH3Ioj063DWWTmcFbUZB0cTEO1OW9eRIt/8eJQupIkHW9V1NZ p4XkhgLboGMIQgaNISB2pjdT6I8kOsuYreCDWtoUmXzu00l65b9Ptv9NdwgR8dZ5N7YPOx ePxJuk262sZh1u6vGXVImXHsMtvLJQeakLNS8fhT5VP4PtUkv9nfX37niCS1qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700937015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m2VywToliUyTTMXWJc/U7M1LdUtbA8uR5Tqk5kyS3pE=; b=by14rzhskcXkyA3a/8ipCyyPsdzQ250XmAipHcqNunbv5cnE99lUqXvZSrUDTLm9+ZRSDA qIk6gG28e45BM3oZNb13XOiN0w68EFkSwzx8jbaQH1Bco6QC4SyIBfoy95RVGkY136Z0X0 BdR8zK3ErhR4wI3Ibj68Rl+Kyz8KH4hE9G2aweNVz2+Io6REbmwPBggOtVa+Uj3zvWjEJA coqPulcDF8rmkdxPUeSxg3nQBnMXKYpaV9ZkKzyRlOo2FmnT7J2N6fwZd98b2av+yT04eB SyyZG/peqZIvr7dymNLIeD+CFNeiPyP4v9eUvynqbIZMhgyWHw5QIYXCPy9Ryw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700937015; a=rsa-sha256; cv=none; b=W7IJAALgenKj0rFROTbA8gstaIc9P6KiHB1g4v9LpTHI3w63gfolJR7oDQrVHhwU+IW/bz x0E2XvgJSVs+Xc4NAi9KnY3Oqos+93ujRvn8HcstXMJiAZfuQ7TD0PXfwohQKFA/CClViD qDXIx2tVwGs5/OD2wupcv1vsbFfRBfn4q9u8Jh3xDQisNTGhFy5VEaBZQ459Bz5jWNqcdL UH/mdPNzYNePGLFJrv0JobZjd65NrusUD8cIOqhl7T7XpZEDGf+Y10q5FkPGZDpz3p9CTl KYTs2J3lw3FKIkOkMWi+KnCBnEQrTCsXgpuErdojSqCQI97v/fAvK3wSXwjRjg== Received: from [IPV6:2601:648:8384:fd00:815b:80c5:5564:2a43] (unknown [IPv6:2601:648:8384:fd00:815b:80c5:5564:2a43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Sd0lC1tfFz13LB; Sat, 25 Nov 2023 18:30:15 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <0e2a051b-d676-4f28-b0c6-60b5409d931e@FreeBSD.org> Date: Sat, 25 Nov 2023 10:30:13 -0800 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 User-Agent: Mozilla Thunderbird Subject: Re: git: 19f073c612af - main - new-bus: Add resource_validate_map_request function Content-Language: en-US To: Konstantin Belousov , d@delphij.net Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202311231707.3ANH758D008755@gitrepo.freebsd.org> <934faa57-60d2-4be7-bdd3-e64c62ae71ad@delphij.net> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/25/23 12:39 AM, Konstantin Belousov wrote: > On Fri, Nov 24, 2023 at 10:49:06PM -0800, Xin Li wrote: >> On 2023-11-23 09:07, John Baldwin wrote: >>> The branch main has been updated by jhb: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=19f073c612afa0111d216e5ccab9525bfc97ec32 >>> >>> commit 19f073c612afa0111d216e5ccab9525bfc97ec32 >>> Author: John Baldwin >>> AuthorDate: 2023-11-23 17:06:24 +0000 >>> Commit: John Baldwin >>> CommitDate: 2023-11-23 17:06:24 +0000 >>> >>> new-bus: Add resource_validate_map_request function >>> This helper function for BUS_MAP_RESOURCE performs common argument >>> validation. >>> Reviewed by: imp >>> Differential Revision: https://reviews.freebsd.org/D42723 >> >> After this change my kernel panics with: >> >> HPTS is in INVARIANT mode!! >> random: entropy device external interface >> kbd0 at kbdmux0 >> WARNING: Device "spkr" is Giant locked and may be deleted before FreeBSD >> 15.0. >> vtvga0: >> aesni0: >> acpi0: >> acpi0: Power Button (fixed) >> cpu0: on acpi0 >> hpet0: iomem 0xfed00000-0xfed003ff on acpi0 >> panic: bus_generic_rman_activate_resource: rman 0xffffffff81222770 doesn't >> match for resource 0xfffff80003d1a400 >> cpuid = 0 >> time = 1 >> KDB: stack backtrace: >> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame >> 0xffffffff82d5c880 >> vpanic() at vpanic+0x132/frame 0xffffffff82d5c9b0 >> panic() at panic+0x43/frame 0xffffffff82d5ca10 >> bus_generic_rman_activate_resource() at >> bus_generic_rman_activate_resource+0x146/frame 0xffffffff82d5ca70 >> acpi_alloc_sysres() at acpi_alloc_sysres+0x81/frame 0xffffffff82d5cab0 >> acpi_alloc_resource() at acpi_alloc_resource+0x106/frame 0xffffffff82d5cb70 >> bus_alloc_resource() at bus_alloc_resource+0x9b/frame 0xffffffff82d5cbd0 >> hpet_attach() at hpet_attach+0xb4/frame 0xffffffff82d5ccb0 >> device_attach() at device_attach+0x3bc/frame 0xffffffff82d5ccf0 >> device_probe_and_attach() at device_probe_and_attach+0x70/frame >> 0xffffffff82d5cd20 >> bus_generic_attach() at bus_generic_attach+0x18/frame 0xffffffff82d5cd40 >> acpi_probe_children() at acpi_probe_children+0x226/frame 0xffffffff82d5cda0 >> acpi_attach() at acpi_attach+0x97b/frame 0xffffffff82d5ce30 >> device_attach() at device_attach+0x3bc/frame 0xffffffff82d5ce70 >> device_probe_and_attach() at device_probe_and_attach+0x70/frame >> 0xffffffff82d5cea0 >> bus_generic_attach() at bus_generic_attach+0x18/frame 0xffffffff82d5cec0 >> device_attach() at device_attach+0x3bc/frame 0xffffffff82d5cf00 >> device_probe_and_attach() at device_probe_and_attach+0x70/frame >> 0xffffffff82d5cf30 >> bus_generic_new_pass() at bus_generic_new_pass+0xed/frame 0xffffffff82d5cf60 >> bus_set_pass() at bus_set_pass+0x36/frame 0xffffffff82d5cf90 >> configure() at configure+0x9/frame 0xffffffff82d5cfa0 >> mi_startup() at mi_startup+0x1c8/frame 0xffffffff82d5cff0 >> KDB: enter: panic >> [ thread pid 0 tid 100000 ] >> Stopped at kdb_enter+0x32: movq $0,0xa388b3(%rip) >> db> > > Me too. > > But in my case, it is not HPET but atrtc_acpi_attach(). I think I know why this is, and I'll have to disable the assertion for now. Logically speaking, bus devices should not be passing resources they've created form their internal rman's up to a parent device to activate. Instead, when a device allocates a rman such as the sysres rman for ACPI, or the windows for PCI-PCI bridges, it allocates a real resource from the upstream bus and then uses an rman to sub-allocate that resource to child devices. What these bus devices should be doing (eventually) is taking a request to map one of these resources and turning it into a request to map the corresponding window (subset) of the resource allocated from the parent. bus_map/unmap_resource are designed to facilitate that. For now I can quiet the assertion, but I will fix the ACPI bus eventually. This also provides a better way to handle "translated" resources btw as a host bridge that does translation (e.g. of PCI BARs) should allocate the "translated" resource from the parent and use bus_map/unmap to activate regions of that parent resource to use as mappings of the child resources allocated from an internal rman in the bridge driver. However, fixing all that requires having proper bus_map/unmap up in all the nexus drivers which we don't have yet (I have most (all?) of them fixed in a branch that these recent patches came from). I'm not sure why the VM I tested booted didn't trip over this case though as bhyve VMs do have ACPI devices that allocate from sysres ranges. :( -- John Baldwin From nobody Sat Nov 25 18:39:39 2023 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 4Sd0y35GsKz52Wq8; Sat, 25 Nov 2023 18:39:39 +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 4Sd0y34qSwz4BYp; Sat, 25 Nov 2023 18:39:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700937579; 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=rBMmdfxS4yGBaaigekzaQFjTusetLv/Z5sRIOBbbCNM=; b=gjEEo2GR7cSfp8nD8knshx+c5yO9WuSUqQ6+sZBv0gPswM1qloFpW4FEr129Hezz0HxFri F1zfeEuayfg9132KGtn7Y3aoM6nuiQ2e2cJWsZraKNsZAy4I0uAq5XQhA/Qer6TCRrkaZG Sre/4G0M3Qs/HDIq9nK6fq+nZX8//evshwQ6VfDZbpFkNnX0Rbqgp9I6D1mdB08MGiJoSn WofeY6QMzYi6E8kdXJiYMTkwDQLN5GugHfi7oTYf1LmukTBHmIalfnZwUtn5Gmfc1W0asT EPUWyTnLYq+YBLb6jq++cX/C861iWs0mLdemg6nsuMO4t+8WE7NacTiji7HEAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700937579; 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=rBMmdfxS4yGBaaigekzaQFjTusetLv/Z5sRIOBbbCNM=; b=vx6NAxk/LVH2R9hvFE73sO/M+FgY0dvZSeB5idEydXEr8mP/8GcgQTNPwjM/V8O4FmU0D0 lxsVtDAFa+NXyf6U476y63aPAcWU3PdBpM4yGd8pvQPvApM5uhXgObTpTOhOYC05A2g8x8 aNNXq1sdIfysQZUQTztsKceVU0ttpEJLAqA6meMJVrL0v/Dh/pzd0Ize1iDOODl7ydLnnC VLrhtf6IXWXyeriqxa0Wfg8K7HXJ8xU+qelxCGnUCeheb2WG9ye1H3eltq0ZBtL1FLdTCU fbZ369U4iLP23n9j5rn+vsn0gN91xZFfds7mdv3tP1+aNo7DoMs8WXiuHMXSUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700937579; a=rsa-sha256; cv=none; b=s2anVeg6Th3bQtzuB4GANvT3K1ItTlvfg7/PcjQaCRH03mh8c3AW8Rbg9PPAlwrXD9jhCA dXS8gWEdum3H0y2KNssxckckhU2qrATycj1jinVnka8xzfbuxVSRL0fEGlZE8qTWDD8Y8Z OEw9/n1u46T+FatVOLUZgFoYn1yP6aQ/0qVR17WNBe9fYZZwV8ReKBjLxqoQonlvSneDEO zREt+6XVYiWHC//lisVzhfjBTS2UXqZMc5dEImrzFOmQw3Vs10ToJgKvctwKakGNSGi4DP 4KzvbhNPHFJmNjJQTgGXpfA5wLPWoPweGF5P5pzCyyX9bR1Ewq51/NQQMaXLJg== 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 4Sd0y33jnwz8c5; Sat, 25 Nov 2023 18:39:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3APIddUS072716; Sat, 25 Nov 2023 18:39:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3APIddHX072713; Sat, 25 Nov 2023 18:39:39 GMT (envelope-from git) Date: Sat, 25 Nov 2023 18:39:39 GMT Message-Id: <202311251839.3APIddHX072713@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: ed88eef140a1 - main - new-bus: Disable assertions for rman mismatches for activate/deactivate 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ed88eef140a1c3d57d546f409c216806dd3da809 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ed88eef140a1c3d57d546f409c216806dd3da809 commit ed88eef140a1c3d57d546f409c216806dd3da809 Author: John Baldwin AuthorDate: 2023-11-25 18:32:19 +0000 Commit: John Baldwin CommitDate: 2023-11-25 18:32:19 +0000 new-bus: Disable assertions for rman mismatches for activate/deactivate Bus drivers which use an rman to sub-divide a resource allocated from a parent bus should handle mapping requests (and activate/deactivate requests) for those sub-allocated resources by doing a subset mapping of the resource allocated from the parent (and then using this to handle activate/deactivate requests). However, not all bus drivers which use internal rmans (such as acpi(4) and pci_pci(4)) do that since not all nexus drivers support bus_map/unmap. Eventually bus drivers should be updated to do this properly at which point these assertions can be reenabled. Reported by: delphij, kib --- sys/kern/subr_bus.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 8da99e158f1c..4f7053cc2613 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -4305,12 +4305,12 @@ bus_generic_rman_activate_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { struct resource_map map; -#ifdef INVARIANTS +#ifdef INVARIANTS_XXX struct rman *rm; #endif int error; -#ifdef INVARIANTS +#ifdef INVARIANTS_XXX rm = BUS_GET_RMAN(dev, type, rman_get_flags(r)); KASSERT(rman_is_region_manager(r, rm), ("%s: rman %p doesn't match for resource %p", __func__, rm, r)); @@ -4344,12 +4344,12 @@ bus_generic_rman_deactivate_resource(device_t dev, device_t child, int type, int rid, struct resource *r) { struct resource_map map; -#ifdef INVARIANTS +#ifdef INVARIANTS_XXX struct rman *rm; #endif int error; -#ifdef INVARIANTS +#ifdef INVARIANTS_XXX rm = BUS_GET_RMAN(dev, type, rman_get_flags(r)); KASSERT(rman_is_region_manager(r, rm), ("%s: rman %p doesn't match for resource %p", __func__, rm, r)); From nobody Sat Nov 25 18:47:54 2023 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 4Sd17b0FFcz52ZyC; Sat, 25 Nov 2023 18:47:55 +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 4Sd17Z6t0Vz4Fh5; Sat, 25 Nov 2023 18:47:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700938075; 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=EEj9XMN7KjgXe5S9hVf+RsJo4jDL0JcciA69nIoFx1g=; b=Z2z9QHV7epuPjbKXCrpg1JIxo2TM5U2TkbtFHXO7mgKRA/aNNX41tGsImFwKnFmUOA9jrE bp5AiD5lJMd/mSlzT9K2n+f8OA+EWNMsztjVppR10pP0AP0MI3tyNJUJQYP0d04PLV+uVB /TVHrHKGG7/izobplhrv7yZFxY4QFfEfLlv3gc+BSuLQXFv9PqfGnhUUrgdYBqsj0yQdww SH4UNY6nQmY9loyIFieWftFadzi8ArJlBthNEA6MDbU/ZvJv4/63VXahaFMxtIBl92fnvC BlRpwN5ZPsAYYzQZ1vDKcwq86qfZd3aSaNXFhu1u87FGEFvMA0SalgMvd6cWDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700938075; 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=EEj9XMN7KjgXe5S9hVf+RsJo4jDL0JcciA69nIoFx1g=; b=Sq5Jj/0wUuYyDf/5zDo/N8mUQnJA7ZsQJMHWzSt3TeGblJcby1oFVlqbT+Xc8cbmmM5Emr dxsBzaPcdqz/MjneAR3XP1I5LQS8of4NPinmJ2tyse5R/jgCpgR/9TawccGCDGcAEjL+a4 V0o5itWugGZ6PESDuK1LNeZdAsopXdZDuSK93vFGBJxZgJR8VNITkWISsTo4IGC4upTye7 BVoDz8gFu+Qh52fb4go0qTm1QZs8C+DzqoAwmDLcag27pd9fTKZEm2DBM8YfUYkE9/v8da 4ekLEjaqPjX+Zdw4qlwtev0SXtxVNi8CGfTXz/l8h/vgzjGNVl6RW8FBkVEQdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700938075; a=rsa-sha256; cv=none; b=XlC7GsWetOiCFsCHGV6TH44+Tq51Ya4lHkX3cm45gsuYRq8hGXq8IJqREQTFf29BTgryBn YJbAtchfd5eiBCQnhsBmBSAZz82/szg7OcYsPnJoUajnW5q5R8JqQ0O2U3hrSRCTSdulfr IU8hHHPsIhKj478UU8okXdveyFg6uhusrH+Oy5oU5HTHH3dwzNC37oSz5RahCDr6ywRU9x W7HQfnpUH0Z6KvBQ9VNJR93HESb6V3Ju405V+OwRriC3oGH7qCO9I73INpopp6c42ZuINE mSxSPtKbMiX/xQcwlUNz0974LRHxZ2jQ4FxlDlsMNcWhYEfo6GP1OhzcJmcE7w== 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 4Sd17Z5WgDz8WQ; Sat, 25 Nov 2023 18:47:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3APIlsEu088922; Sat, 25 Nov 2023 18:47:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3APIlscO088919; Sat, 25 Nov 2023 18:47:54 GMT (envelope-from git) Date: Sat, 25 Nov 2023 18:47:54 GMT Message-Id: <202311251847.3APIlscO088919@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d3849ec3c9e7 - main - Set installed kernel and driver files access modes using KMODMODE var 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d3849ec3c9e700956a8a1d03f7755d586934f225 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d3849ec3c9e700956a8a1d03f7755d586934f225 commit d3849ec3c9e700956a8a1d03f7755d586934f225 Author: Konstantin Belousov AuthorDate: 2023-11-25 13:28:34 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-25 18:40:39 +0000 Set installed kernel and driver files access modes using KMODMODE var Reviewed by: emaste, imp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42768 --- sys/conf/kern.post.mk | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk index cb34ebc36295..d2968b42f5ef 100644 --- a/sys/conf/kern.post.mk +++ b/sys/conf/kern.post.mk @@ -426,22 +426,22 @@ kernel-install: .PHONY fi .endif mkdir -p ${DESTDIR}${KODIR} - ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO} ${DESTDIR}${KODIR}/ + ${INSTALL} -p -m ${KMODMODE} -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO} ${DESTDIR}${KODIR}/ .if defined(DEBUG) && !defined(INSTALL_NODEBUG) && ${MK_KERNEL_SYMBOLS} != "no" mkdir -p ${DESTDIR}${KERN_DEBUGDIR}${KODIR} - ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.debug ${DESTDIR}${KERN_DEBUGDIR}${KODIR}/ + ${INSTALL} -p -m ${KMODMODE} -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.debug ${DESTDIR}${KERN_DEBUGDIR}${KODIR}/ .endif .if defined(KERNEL_EXTRA_INSTALL) - ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_EXTRA_INSTALL} ${DESTDIR}${KODIR}/ + ${INSTALL} -p -m ${KMODMODE} -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_EXTRA_INSTALL} ${DESTDIR}${KODIR}/ .endif kernel-reinstall: @-chflags -R noschg ${DESTDIR}${KODIR} - ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO} ${DESTDIR}${KODIR}/ + ${INSTALL} -p -m ${KMODMODE} -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO} ${DESTDIR}${KODIR}/ .if defined(DEBUG) && !defined(INSTALL_NODEBUG) && ${MK_KERNEL_SYMBOLS} != "no" - ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.debug ${DESTDIR}${KERN_DEBUGDIR}${KODIR}/ + ${INSTALL} -p -m ${KMODMODE} -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.debug ${DESTDIR}${KERN_DEBUGDIR}${KODIR}/ .endif config.o env.o hints.o vers.o vnode_if.o: From nobody Sat Nov 25 18:47:55 2023 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 4Sd17c1k2qz52ZyH; Sat, 25 Nov 2023 18:47:56 +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 4Sd17c0flzz4Fvs; Sat, 25 Nov 2023 18:47:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700938076; 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=W8nTGkHb58KFWjTVmeyEB/rM6rnv7Y6NN+KP1SQsiVs=; b=T8QWQHJkKOTTeT7NWvEEm3nx2bqYZ+49Fy6KL+2jcO9MwED7paSU+xX5lLEnrzxgMlaHmR AcusYvTHDaaTbQLMJM5mK2EjQgw91OzG8VC7F8miBFK74OeloDX4xl3YthuRoQWL9ZhLSh eAYTRCs4OAYxqtYdnf2CnJUGMc5Jy2n3Ji8VE6SmcJ6VIyZMMPEoLCFyL4GNtQQ3ua5hXk gVvl3bBEFFULP+2ewIBMMAJDUjLjn39cG6pNP0Il2eQj2wC0tUojE93V1xBWcaHcGdJb/G IQe0s857nXoL6eGCRohyv+JVhK4f1q8Im+/6OdyiTkCgM7M/p8PobsQ/OM3IIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1700938076; 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=W8nTGkHb58KFWjTVmeyEB/rM6rnv7Y6NN+KP1SQsiVs=; b=SOQvHkjs+w+1C10IXTX2DO02JLfzZ0Yl7S56syQLLFX8aZ/02QWR8r5Rt628Xa/8YzTeX3 XhfSI6Vf0h0Rm+3/0j8W4/KcRPEFKZdNlk8/2pGAFe+BBqk/WHZ5GHC/vs8HTmgtGrTuPm f/SRYu6rhdv25Jm/JjE/uw4PHzj/yVXiGUuaEEAPu9sXw4fLszz8LB/HaStUt3lPAEIex5 0Xn4v0yLhz8WokEQQIDUHtNuoKjVNPyyx2/rnF2sBr6Zvudm6xVBZWop194QWp8EHtMUUQ Zj1lMiaYwfcXsUs/4tsN9i8QaEzWsQFRcs9VudNLOCRWwogzCtJAkcn9+lahYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1700938076; a=rsa-sha256; cv=none; b=AEd3NYd3pFuYebs8J+sWj/ZUayQtnEcGcVn6LaNIFgWpinWLXMwfTH60myZyxWUqRNgf9D ruxwO9MID6vK7US5OZwJiL7WgJM43muSU9i/KiXUQdSHbqe7O2VzmjHyjYsWgxERGaVTlj qffGn59poUrooJWIILjxrsfQAxwgagsWnjRJvIAus01M5w20mMBBHGfWkeS18VZrsyRC2W tU1RHcDVkJmtlESZ4ZN1ECtxtjRAB9sY/LTV4JUk0CHDPUE53RoecnusKwymwHY0n6J72x 6D7P9LJEJ9rCTX9hlSNglCi5IXsOEZm1YV0oKyTUWdTouK+d2fgBahrd2xYdoA== 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 4Sd17b6qMvz8ch; Sat, 25 Nov 2023 18:47:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3APIltnp088982; Sat, 25 Nov 2023 18:47:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3APIltD3088979; Sat, 25 Nov 2023 18:47:55 GMT (envelope-from git) Date: Sat, 25 Nov 2023 18:47:55 GMT Message-Id: <202311251847.3APIltD3088979@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: a9758e46473b - main - Do not install kernel and modules with executable access bit set 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a9758e46473babc03bfe06edfec35e0c71fa7780 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=a9758e46473babc03bfe06edfec35e0c71fa7780 commit a9758e46473babc03bfe06edfec35e0c71fa7780 Author: Konstantin Belousov AuthorDate: 2023-11-25 13:30:06 +0000 Commit: Konstantin Belousov CommitDate: 2023-11-25 18:47:42 +0000 Do not install kernel and modules with executable access bit set They are not executables and cannot be activated by kernel. Reviewed by: emaste, imp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D42768 --- share/mk/bsd.own.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index 6205faf61a2f..aec88d64850f 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -171,7 +171,7 @@ NOBINMODE?= 444 KMODDIR?= /boot/modules KMODOWN?= ${BINOWN} KMODGRP?= ${BINGRP} -KMODMODE?= ${BINMODE} +KMODMODE?= ${NOBINMODE} DTBDIR?= /boot/dtb DTBODIR?= /boot/dtb/overlays DTBOWN?= root